summaryrefslogblamecommitdiff
path: root/README
blob: dd3887cf3dec92c4ef8df7c809c1fa0aa6731906 (plain) (tree)
1
2
3


                       


























                                                                             


                      





























                                                                               
Setting up a TMW server
=======================

COMPILATION

The compilation should produce two binaries:

* tmwserv-account - The account + chat server
* tmwserv-game - The game server


SERVER DATA

Before you can run the game server there are some data files you will need to
provide (the account server doesn't need these):

* data/items.xml - Item definitions
* data/monsters.xml - Monster definitions
* data/maps.xml - Map definitions (file for TMW maps included in Subversion)
* data/maps/*.tmx{.gz} - Maps

Since the server shares some of these files with the client via dynamic
updates, we keep them under 'tmwdata' in Subversion. The easiest is to check
out tmwdata/trunk somewhere and use symbolic links to the missing files.


CONFIGURATION

The configuration is currently loaded from ~/.tmwserv.xml. An example file is
located at docs/tmwserv.xml.

Default option values:

    accountServerAddress    localhost
    accountServerPort       9601
    gameServerAddress       localhost
    gameServerPort          9604


RUNNING

1. Run tmwserv-account on one single computer. It will open three consecutive
UDP ports, starting from the one given by the configuration option
"accountServerPort". This first port is the one you should advertise to your
users. The configuration option "accountServerAddress" should contain the
public address the server runs on, as it will be sent to the users as the
address of the chat server, which happens to be the account server for now.

2. Run tmwserv-game on multiple computers. Each game server will open one UDP
port given by the configuration option "gameServerPort". It will also connect
to the account server given by the configuration options "accountServerAddress"
and "accountServerPort". The configuration option "gameServerAddress" should
contain the public address of the computer the server runs on, as it will be
sent to the users. The file data/maps.xml contains the maps the server will
load and register on the account server; split it across your multiple game
servers, in order to balance the load.

Access to port "accountServerPort + 1" of the account server can be restricted
to connections from game servers only. Users do not need to access it.


TODO: Explain about automatic first time creation of database
TODO: Explain about setting a character to be administrator