From HEWIKI
Documentation on this page is intended for customers of HeroEngine managing their own server(s).
- This page is about the World Server process. For hardware information, see Hardware recommendations
The World Server is a process which handles the coordination of the entire game.
- The World Server starts up and shuts down Area Servers as needed.
- Player logins are routed through this server.
- Each time a player moves from area to area, the World Server can allow or disallow the move.
- It is in charge of the construction of new areas, and deletion of existing areas.
- The World Server has its own scripting engine, which can be accessed with the Remote Call function, by sending to Area # 0, instance # 0.
- World Server callbacks from C++ are made to the $WORLD system node.
A World Server defines an entire shard of a game -- a universe. For example, the entire live game uses one World Server process. A development version of the game (such as Dev) uses a separate World Server process.
The World Server can only run with the support of several other processes. A Post Office Router must be running so it can communicate with other proceses. It also requires an ID Server to give it batches of IDs to use when creating nodes and running HeroScript. It requests database connection information from the DOM Coordinator before it can load its GOM.
Installation
See Server setup.
See also
Configuration values
Note: Only customers with full or source licenses can modify values via the Master Control Console.
Parm Name |
Parm Type |
Description |
Default value |
NonBandwidthTrackedChannels |
string |
list of non bandwidth tracked channels separated by ; |
(see source code) |
EditingClientChannelMap |
string |
list of names for client channel map |
(see source code) |
PrimaryDestinationString |
string |
the main destination for the channel |
currentarea |
PlayerClientChannelMap |
string |
the map name for the player client channel |
(see source code) |
StatsCollectUserGOM |
integer |
Setting to non-zero value enables collecting user memory usage in the server GOM (see Area Server) |
1 |
HslSystemsSecurityDisabled |
integer |
Setting this to a non-zero value disables security checks by the external function AccountNameCanDo() |
0 |
WorldID |
string |
Used to uniquely identify the world at the dream server |
0 |
WriteDATRefresh |
integer |
Minimum time period in milliseconds between writes of DAT files ((see Area Server) |
30000 |
DreamServerMailbox |
string |
Well known mailbox name of dream server (see Area Server) |
DREAM_SERVER |
LivePushServerMailbox |
string |
Well known mailbox name of the Live Push Director (see Area Server) |
LIVE_PUSH_SERVER_DIRECTOR |
DreamIdentOfServer |
string |
Can be used to uniquely identify multiple worlds connected to the same dream server (see Area Server) |
<server> |
LogServerMailbox |
string |
Well known mailbox name of the log server (see Area Server) |
LOG_SERVER |
field_texture_list_raw |
string |
Specifies the field on _characterAppearance in which to place the binary form of the texture_list field (see Area Server) |
_texture_list_raw |
PhysicsServerHeartbeatInterval |
integer |
Not used by the world server (see Area Server) |
30000 |
PhysicsServerRegistrationRetryCount |
integer |
Number of times to attempt to get a scene on a physics server (see Area Server) |
10 |
PhysicsServerRegistrationRetryDelay |
integer |
Milliseconds between scene registration attempts (see Area Server) |
10000 |
PhysicsServerStatisticsInterval |
integer |
Not used by the world server (see Area Server) |
10000 |
PhysicsServerUpdateDuration |
integer |
Not used by the world server (see Area Server) |
10 |
HEaccesscontrolDatabase |
string |
Specifies the database for access control checks (see Area Server) |
FIRESTORM |
HEaccesscontrolPassword |
string |
Specifies the password for the access control schema (see Area Server) |
FIRESTORM |
HEaccesscontrolUsername |
string |
Specifies the access control schema name (see Area Server) |
FIRESTORM |
field_facegen_spec_body_raw |
string |
Specifies the field on _characterAppearance in which to place the binary form of the facegen_spec_body field (see Area Server) |
_facegen_spec_body_raw |
field_facegen_spec_raw |
string |
Specifies the field on _characterAppearance in which to place the binary form of the facegen_spec field (see Area Server) |
_facegen_spec_raw |
field_geometry_list_raw |
string |
Specifies the field on _characterAppearance in which to place the binary form of the geometry_list field (see Area Server) |
_geometry_list_raw |
AreaSpinUpTimeLimit |
integer |
After starting an area process, if it does not register within this number of milliseconds, the area is considered down (see Area Server) |
60000 |
OnWorldUnload |
string |
name of the method called on the $WORLD system node during world shutdown |
_OnWorldUnload |
PumpsToWaitAfterCoordinatorMessageFail |
integer |
Delay interval in pump cycles between attempts to register with the DOM Coordinator |
500 |
CoordinatorTimeout |
integer |
Not used by the World Server (see Area Server) |
7000 |
FollowerAssetFQN |
string |
Not used by World Server |
\engine\follower.fol |
NumberOfTimesToRetryCoordinatorMessage |
integer |
Maximum number of attempts to contact the DOM Coordinator (see Area Server) |
10 |
LightAssetFQN |
string |
Not used by World Server |
\engine\light.lit |
PhysicsJointAssetFQN |
string |
Not used by World Server |
\engine\physicsJoint.phj |
PathfindingAssetFQN |
string |
Not used by World Server |
\engine\pathfinding.pfn |
HeightMapAssetFQN |
string |
Not used by World Server |
\engine\heightmap.hms |
FlareAssetFQN |
string |
Not used by World Server |
\engine\flare.fla |
InstancedAreaDaemonId |
string |
Daemon ID of the instanced area server daemon |
???? |
AreaRepositoryPath |
string |
repository directory in which to place newly create area directories |
/World/Areas/ |
StatusUpdateTimer |
integer |
Frequency in milliseconds of Master Control statistics updates (see Area Server) |
60000 |
HEBatchIDLine |
string |
ID Line sent to the ID server when requesting ID batches (see Area Server) |
HE |
DOMCoordinatorAppName |
string |
Well known mailbox name of the DOM Coordinator (see Area Server) |
DOM_COORDINATOR |
BatchIDClientTimeout |
string |
Milliseconds to allow the ID Server to provide the first batch of IDs during startup (see Area Server) |
7000 |
OnWorldLoad |
string |
name of the method called on the $WORLD system node during world startup |
_OnWorldLoad |
ActionMarkAssetFQN |
string |
Not used by World Server |
\engine\actionmark.amk |
MirrorAssetFQN |
string |
Not used by World Server |
\engine\mirror.mir |
LightningAssetFQN |
string |
Not used by World Server |
\engine\zap.zzp |
ServerHeartbeatInterval |
integer |
interval in milliseconds between heartbeats to area servers |
120000 |
TriggerAssetFQN |
string |
Not used by World Server |
\engine\trigger.trg |
InstanceNumber |
integer |
Specifies which game instance in a database this area is a part of Note: storing multiple game instances in the same database schema is not currently supported (see Area Server) |
1 |
PhysicsAssetFQN |
string |
Not used by World Server |
\engine\physics.phy |
RepositoryName |
string |
Name of repository in which to load and save data |
HE |
CharacterSelectionAreaNumber |
integer |
Area number of the character selection area |
1 |
Area |
integer |
number of the current area, must remain 0 for proper operation of the world server |
0 |
ClientVersion |
string |
no longer used |
must be set |
ScriptErrorBugCommand |
string |
Command to execute to submit script errors to bug tracking (See also Area Server) |
SimuBugCatcher /r |
World |
integer |
number of the current world |
0 |
TravelFailureRecoveryAreaNumber |
integer |
Area number where players who fail to travel should be sent Note: this feature is not implemented (See also Area Server) |
2 |
AreaInstanceNumber |
integer |
The instance number of the area, must be zero for proper operation of the world server |
0 |
ScriptErrorBugOptionsServer |
string |
additional options to the command ScriptErrorBugCommand for server side errors (off=do not run) |
|
MaxEditQueueSize |
integer |
Maximum allowed size of the edit queue |
524288 |
ScriptErrorBugOptionsClient |
string |
additional options to the command ScriptErrorBugCommand for client side errors (off=do not run) (see Area Server) |
|
PauseLoginsAfterWrites |
integer |
Milliseconds to wait on allowing player travel after a DAT file write (see Area Server) |
5000 |
WriteDATTimeout |
integer |
After this many milliseconds elapse without further edits, DAT file writing is triggered (see Area Server) |
600000 |
ReplicationDistanceRateMillis |
integer |
Frequency in milliseconds of distance updates sent to the dude server to adjust replication priorities (see Area Server) |
1000 |
HslSystemsSecurityDisabled |
integer |
Setting this to a non-zero value disables security checks by the external function AccountNameCanDo() (see Area Server) |
0 |
CCUMaximum |
integer |
Maximum allowed Concurrent Connected Users. 0 is unlimited. |
0 |
AreaInstanceCountLimit |
integer |
Limit to the maximum number of area server processes the world is allowed to spin up. The default value of zero(0) represents no limit |
0 |
KEEPUP_ENABLED |
integer |
When enabled (i.e. 1), the universe will not be considered for automatic spindown. |
0(i.e. disabled) |
SPINDOWN_IDLE_DELAY |
integer |
Specifies the number of seconds that the world must be idle with no connect users before auto spindown. The minimum is 300. |
1800 |
RepositoryServerUpdateNotificationPeriod |
integer |
Specifies the number of milliseconds between when the repository is changed and updates are propagated outwards to clients and interested servers (physics) |
10000 |
AUTO_SPINUP |
integer |
Specifies whether or not the master control daemon should attempt to automatically spin up this universe when it starts. To enable set to '1'. |
0 |
AUTO_SPINUP_ORDER |
intenger |
Specifies the order in which auto_spinup universes should be spun up. Generally a value of 0 is assigned to shared universe services like a shared service directory |
0 |
UniverseWeight |
integer |
Specifies the relative weight of a universe for the purposes of dynamic world server load balancing |
10 |
AllowUniverseReconfiguration |
integer |
Specifies whether or not Dynamic Server Load Balancing and Reconfiguration is enabled for a universe, by default if not defined reconfiguration is disabled. To enable set to '1'. |
0 |