Running your own server

From LugdunonWiki
Jump to: navigation, search
Engine Content: This information applies to the engine and therefore to all servers.

Contents

Introduction

This page should hopefully make getting your own Lugdunon server up and running a little bit easier. It is assumed that you have at least some knowledge in basic networking, executing java .jar files, and how to use the command line.


The server does require java (preferably the latest version so that all the latest security fixes are available), but should run fine on earlier versions (1.6+). You can check your version of java by typing java -version on the command line.


Starting with 0.1.1 of the standalone client and 0.6.3 of the server, a compatible 32-bit or 64-bit JRE is pre-packaged for you in the download.

Setting up the server

The lastest server release is available for Windows, x86 Linux, and MacOS at lugdunon.net. Once you have downloaded the correct archive for your operating system, decompress it in a convenient location.


Your file structure should now look like this:

  • /lugdunonServer
    • /bin
    • /dat
      • server.cfg
    • /lib
    • /logs
    • run.bat OR run.sh


Now open the /lugdunonServer/dat/server.cfg file in your favorite plaintext editor and enter the following information into this file:


server.name=Your Server Name
host =ip address or host name to bind to
su.account =your super user's lugdunon account name


Note, to find out what your ip address is you can:

  • On Windows: open a console and type in "ipconfig /all" without the "".
  • On MacOS / Linux: from the console type in "ifconfig" without the "".

That should show you your IPV4. If you are planning on allowing other machines to connect, do not use your virtual loopback interface (127.0.0.1).


Save and close the /lugdunonServer/dat/server.cfg.


Once the above steps have been completed you should be able to launch the server by executing the provided run.bat file for windows or the run.sh file for unix/linux/macosx. On startup the server will recognize that it is missing a world definition and attempt to create a default one for you. If everything has been set up correctly, you should see the server start up cleanly and something akin to the following written to the console:


19/02/2013 17:58:42.744 INFO Successfully validated super-user.
19/02/2013 17:58:42.783 INFO World file doesn't exist. Creating default at SERVER_ROOT/dat/default.
19/02/2013 17:58:42.784 INFO Generating default world configuration.
19/02/2013 17:58:42.785 INFO Generating default terrain data.
19/02/2013 17:58:47.659 INFO Config file: etc/commands.json doesn't exist. Creating default.
...
19/02/2013 17:58:48.477 INFO Config file: etc/advancements.json doesn't exist. Creating default.
19/02/2013 17:58:48.553 INFO Manifest initialized with 61 entries.
19/02/2013 17:58:48.596 INFO ItemDefinitions initialized with 207 entries.
19/02/2013 17:58:48.604 INFO ItemCache initialized with 15 entries.
19/02/2013 17:58:48.604 INFO ItemCache initialized with 0 entries.
19/02/2013 17:58:48.606 INFO PlaceableItemCache initialized with 0 entries.
19/02/2013 17:58:48.607 INFO WaypointCache initialized with 0 entries.
19/02/2013 17:58:48.608 INFO NpcDefinitions initialized with 4 entries.
19/02/2013 17:58:48.687 INFO Advancements initialized with 27 entries.
19/02/2013 17:58:48.689 INFO NpcCache initialized with 0 entries.
19/02/2013 17:58:48.768 INFO Recipes initialized with 82 entries.
19/02/2013 17:58:48.781 INFO Server 'Test Server' initialized with world 'Default 1024x1024 World'.
19/02/2013 17:58:48.787 INFO Generating Manifest...
19/02/2013 17:58:50.297 INFO ...Manifest Generation Complete.
19/02/2013 17:58:50.299 INFO Computing Impassability Flags...
19/02/2013 17:58:52.391 INFO ...Done in 2.091711 seconds.
19/02/2013 17:58:52.463 INFO Command '(0x0001) Ping' registered with interpreter.
...
19/02/2013 17:58:52.792 INFO Command '(0x0047) Add / Edit Crafting Recipe' registered with interpreter.
19/02/2013 17:58:52.896 INFO Lugdunon Server Started In: 12.35505 seconds.
19/02/2013 17:58:52.914 INFO Autosaving at 30 minute intervals.


If you do have any issues, please feel free send email to support@lugdunon.net with any questions that you might have.

To let your friends join your server you have to open the ports: ’41975′ and ’41976′. Then you can give your external ip to your friends and they will be able to join.

Configuring your server

There are a few configuration options you can specify for server. The server’s configuration is stored in the lugdunonServer/dat directory in a file named server.cfg.


The available options for the server’s configuration are:


Name Required Description
su.account required The server super user’s account name
server.name required The server’s name. shown on server select screen.
world optional The directory (under lugdunonServer/dat) containing the server’s world data.

Defaults to ‘default’.

host optional The host name for the server to bind to. either and ip address or host name is valid.

Defaults to ‘localhost’.

ws.port optional The port for the websockets server to bind to.

Defaults to ’41975′. Note: your players will have to know this when connecting if it is anything other than the default.

cs.port optional The port for the content server to bind to.

Defaults to ’41976′.

save.interval optional The amount of time (in minutes) between autosaves.

Defaults to ’30′.

npc.name.filter optional Regular expression used for new NPC name validation.

Defaults to [0-9A-Za-z]{3,}

npc.name.filter.error optional The error message returned if the new NPC name validation fails.

Defaults to ‘Name must consist of alpha numeric characters and must also be longer than 2 characters.’.

name.filter optional Regular expression used for new player character name validation.

Defaults to [0-9A-Za-z\"\'\s]{3,}

name.filter.error optional The error message returned if the new player character name validation fails.

Defaults to ‘Name must consist of alpha numeric characters,’,\”,-,whitespace and must also be longer than 2 characters.’.

add.manifest.extensions optional A comma delimited list of any additional file extensions (with the ‘.’) that the dynamic manifest generator should pick up.

By default, .js, .json , .png , .html, .css are included in manifest generation.

allow.guests optional Set to false to block access by guest accounts.

Defaults to true.

Configuring your world

The world’s configuration is stored in the lugdunonServer/dat/WORLD directory in a file named world.cfg.


The available options for the worlds configuration are:


Name Required Description
name required The world’s name. Shown on server select screen.
chunk.size optional The size in tiles for a chunk’s dimensions (width / height)

Defaults to 8.

seed optional The random seed used in many of lugdunon’s functions. May be a string or integer.

Defaults to the time in milliseconds of the server’s start.

tileset.config optional Custom tileset config location.

Defaults to ‘net.lugdunon.world.defaults.Tileset’.

ui.config optional Custom ui config location.

Defaults to ‘net.lugdunon.world.defaults.UI’.

icon.config optional Custom icon config location.

Defaults to ‘net.lugdunon.world.defaults.Icons’.

etc.config optional Custom etc config location.

Defaults to ‘net.lugdunon.world.defaults.etc’.

character.stats optional Custom character stats module location.

Defaults to ‘net.lugdunon.state.character.advancement.def.DefaultCharacterStats’.

default.console.cmd optional Default console command (if no / command is sent).

Defaults to ‘yell’.

json.write.readable optional Boolean value that determines whether to write all JSON data to disk in human readable or compact form.

Defaults to ‘true’.

ping.interval optional The interval (in milliseconds) between server to client ping commands.

Defaults to ‘6000’.

chunk.size optional The map chunk size.

Defaults to ‘8’.

environment.second.length optional The length of an in game second (in milliseconds).

Defaults to ‘50’. This equates to an in game day length of 72 real time minutes.