diff --git a/server-lifetime-management.md b/server-lifetime-management.md index d6afa82..a34bdf0 100644 --- a/server-lifetime-management.md +++ b/server-lifetime-management.md @@ -24,4 +24,35 @@ Kills the cluster if it is running, then terminates the TaskManager process. Sets the ConnectionServer to public ### private -Sets the ConnectionServer to private \ No newline at end of file +Sets the ConnectionServer to private + +## Running ConnectionServer on a separate machine + +This is useful when you want to run the galaxy behind a closed network, with all of its bits communicating over the local network, while still allowing to run a connection server on a separate machine where it can be publicly accessed. It is necessary to do this because by default, each node uses the IP its hostname resolves to as the address it tells all other remotes to communicate on. + +First, set up 2 machines with server instances and default configurations. The primary server, node0, is the game cluster server and node1 is just running the ConnectionServer (and the TaskManager process that spawns it). Now, make the following configuration changes to each server's configurations: + +### node0 + +#### default.cfg + + [TaskManager] + autoStart=0 + + [CentralServer] + startConnectionServer=node1::44463:44464 + +#### nodes.cfg + + [TaskManager] + node0= + node1= + +### node1 + +#### nodes.cfg + + [TaskManager] + node0= + node1= +