Post Office

Jump to: navigation, search


The Post Office is a component of HeroEngine which runs in different processes. Each Post Office communicates with other Post Offices in other server processes. It can also be used to communicate within the same process. Almost all server processes have Post Offices.

The Post Office Router is a static process, which acts like an address book which hands some mailbox information to different Post Offices. Its primary purpose is to tell each Post Office how to connect, via TCP, to other Post Offices.


In a process, there are any number of named mailboxes. Each mailbox is designed to receive particular types of messages.

Well-known mailboxes

To establish contact between two processes, a "Well known mailbox" is used. Some message types are meant to be sent from one server to another, and so their mailboxes are made well-known so that another server knows which mailbox to route its message to, in order to be handled properly.

For example, the World Server process's mailbox is well known.

Non-well-known mailboxes

The non-well-known mailboxes are either for messages that only travel within the process, or are given to another process as a return address. So you can have a mailbox that is not well-known, and another server can talk to it, but it doesn't know that the mailbox exists until it gets a message that includes the sending mailbox's address as the reply address.


Post Offices are a low-level system which are generally handled automatically by HeroEngine, so there is usually no need for scripters or designers to deal with the details. When scripters are actually sending messages, they will be dealing with higher-level systems such as RemoteCall, and then the RemoteCall system will deal with Post Offices as needed.

Post Office configuration values

To modify these, see Edit Config.

Note: Only customers with full or source licenses can modify values via the Master Control Console.

These values have some default values, and can be reconfigured at each individual process level, as needed.

Parm Name Parm Type Description Default value
defaultPORouterTransport string Transport string which identifies how to communicate with the Post Office Router process tcp:localhost:63333
defaultPORouterProtocol string Encoding method used when communicating to the Post Office Router process packet:MD5
RouterDisconnectRetryPause integer Milliseconds to wait after having been disconnected from the Post Officer Router process, in other to try and reconnect 5000
PostOfficeMatrixGracefulShutdownTimeout integer Milliseconds to wait on shutdowns for connections to gracefully close 30000

See also

Personal tools