Quest
Network Quests Module (GC2 Quests)
This module adds server-authoritative networking for Game Creator 2 Quests (Journal).
Compile symbol: GC2_QUESTS (auto-enabled when com.gamecreator.quests is present).
Authority Modes
Coop and most production flows: interception mode is usually enough, no source patch required.
Strict competitive-grade authority: apply the optional Quests patcher so direct
Journalmutations are validated before local execution.
Patch menu:
Game Creator > Networking Layer > Patches > Quests > Patch (Server Authority)
Components
NetworkQuestsManagerNetworkQuestsController(requiresJournal)
Transport Wiring
Wire the manager delegates to your transport layer:
OnSendQuestRequestOnSendQuestResponseOnBroadcastQuestChangeOnBroadcastFullSnapshotOnSendSnapshotToClient
Then route inbound packets to:
ReceiveQuestRequest(request, rawSenderClientId)on serverReceiveQuestResponse(response, targetNetworkId)on clientsReceiveQuestChangeBroadcast(broadcast)on clientsReceiveFullSnapshot(snapshot)on clients
Supported Authoritative Actions
Quest: activate, deactivate, track, untrack, untrack-all
Task: activate, deactivate, complete, abandon, fail, set value
Interception Fallback
NetworkQuestsController listens to local Journal events on owner clients and forwards them as network requests. This lets existing GC2 Quest instructions work without immediate graph rewrites.
For strictest competitive behavior, combine Request* APIs with the Quests patcher.
Initialization
Set manager server role:
NetworkQuestsManager.Instance.IsServer = isServerSession;
Initialize each controller role:
controller.Initialize(isServer, isLocalClient);
The controller auto-registers itself with NetworkQuestsManager when it has a valid NetworkCharacter.NetworkId.
Security
Server request processing uses:
SecurityIntegration.ValidateModuleRequest(...)SecurityIntegration.ValidateTargetEntityOwnership(...)
with strict ownership + protocol correlation checks.
Last updated

