VoidExpanse/Server setup: Difference between revisions

From AtomicTorchWiki
 
(2 intermediate revisions by 2 users not shown)
Line 1: Line 1:
= Multiplayer server setup =
= Multiplayer server setup =


== GUI for multiplayer server ==
== Requirements ==
 
'''The GUI is currently in development.''' We are planning to create a gui for Windows, Mac and Linux to provide easy, user-friendly server setup and management. However, on console-based systems, like FreeBSD, there are also standard console commands for server setup and management.
 
 
== Multiplayer server setup ==
 
To launch a multiplayer server on any system, your system needs to meet following requirements:
To launch a multiplayer server on any system, your system needs to meet following requirements:
* .NET or Mono, compatible with .NET Framework 4.0
* .NET or Mono, compatible with .NET Framework 4.0
Windows 7 (and newer) have .NET 4.0 already installed.
Mono is included (bundled) for Linux and Mac game installations.


=== Installation ===
== Installation ==
Copy the following files from game distributive to your server machine:
* folder "Server_dotNET" (if you using .NET) or "Server_Mono"
* folder "Core" (put it inside the "Server_*" folder)


Installation complete!
==== How to host your own server: ====
* (1) The server is located in the game folder: "Server_dotNET" for Windows or "Server_Mono" for Linux/OSX.
* (2) Start the server executable first time with "--dedicated" flag (without quotes).
* (3) Enter "check" into the server console and press Enter key. It will detect that configuration is missing and create the "SettingsServer.xml" and "ModsConfig.xml" files.
* (4) Enter "stop" and press enter. The server will stop and quit.
* (5) Now you need to modify "SettingsServer.xml" to set unique server name, make it private if needed, set other settings, etc...


Or you can actually run the server from the same folder as it is distributed with the game.
In ''SettingsServer.xml'', '''do not modify misc and network parts'''! It may cause malfunction if something is set in a way it is not intended to be.


=== Launch ===
You may, however, modify <server> part on your own risk. There you can setup some server configurations that would affect gameplay.


====Windows====
==== Additionally if you want to add mods to your server: ====
Launch ''VoidExpanse.Server.exe'' from ''./Server_dotNET/'' folder.
* (6) Create a subfolder "Mods" in the server folder and place your mods there ("*.MPK" files).
* (7) Edit "ModsConfig.xml" file and add entries for the new mods. IMPORTANT! Please set any version to the mod definition here, it will be automatically fixed with the proper version from the mod header.


====Other system with Mono====
For example, if you want to add single mod "HereticMk2.mpk", your ModsConfig.xml should look like this:
Launch ''VoidExpanse.ServerMono.exe'' from ''./Server_Mono'' folder with mono,
<pre><?xml version="1.0" encoding="utf-8" standalone="yes"?>
like this:
<mods>
<pre>mono VoidExpanse.ServerMono.exe</pre>
  <mod>core_1.0.0</mod>
  <mod>HereticMk2_1.0.1</mod>
</mods></pre>


If you do not wish to add mods, please disregard points 6 and 7.


Launch complete! Follow printed into the console instructions if you want to run server as the dedicated server.
==== Starting the server: ====
* (8) Start the server executable with "--dedicated" flag (without quotes).
* (9) Enter "new" to the server console and press Enter key to create a new world.
* (10) Stop your server by typing "stop" and pressing Enter key any time (it will save world before stopping).
* (11) Load your saved world by typing "load" when you want to start the server next time.


=== Settings ===
==== Starting your server automatically: ====  


'''SettingsServer.xml'''
If you want to make an auto-launch script to automatically load the world, it should look like this
Most of settings are stored in ''SettingsServer.xml'', which is located in the same folder as server .exe file if you launch server as the dedicated server, or in "Documents/AtomicTorchStudio/VoidExpanse" if you launch it without "--dedicated" flag.
<pre>VoidExpanse.Server.exe --dedicated load</pre>
If it's not there, launch server once with "-new" argument, and it'll be created automatically.


In ''SettingsServer.xml'', '''do not modify misc and network parts'''! It may cause mailfunction if you modify something in a way it is not intended to be.
==== Extra NOTES for Linux / OSX: ====
 
You need to use "Server_Mono". If you have pre-installed Mono 4 (complete version) in your OS, you could run directly "mono VoidExpanse.ServerMono.exe" otherwise you need to execute appropriate bundle-executable:<pre>
Linux 32-bit: ".\VoidExpanse.ServerMono.Bootstrapper.Bundle.Linux32 --dedicated"
Linux 64-bit: ".\VoidExpanse.ServerMono.Bootstrapper.Bundle.Linux64 --dedicated"
OS X: ".\VoidExpanse.ServerMono.Bootstrapper.Bundle.Mac --dedicated"</pre>


You may, however, modify <server> part on your own risk. There you can setup some server configurations that would affect gameplay.


====Whitelist, blacklist====
== Whitelist, blacklist ==
To enable whitelist, you need to follow the following procedure:
To enable whitelist, you need to follow the following procedure:
* Be sure, that white_list_enabled in SettingsServer.xml is set to 1.
* Be sure, that white_list_enabled in SettingsServer.xml is set to 1.
Line 52: Line 61:
Terrinaa
Terrinaa
</pre>
</pre>
After this steps are done, only players listed in whitelist.txt will be able to connect to your server.
After this steps are done, only players listed in whitelist.txt will be able to connect to your server.


To enable blacklist, just create a file "blacklist.txt" next to game executable, and add there names of player, which you don't want to play with.
To enable blacklist, just create a file "blacklist.txt" next to game executable, and add there names of player, which you don't want to play with. Rules are the same - one name per one line. Blacklists are always enabled, so there's no need to change SettingsServer.xml
Rules are the same - one name per one line.
Blacklists are always enabled, so there's no need to change SettingsServer.xml
 
===Create a new game===
When server starts, you can create a new game, or load an existing one.
To create a new game, type to create a new server:
<pre>-new [seed_key]</pre>
Seed_key is a word, which is used like seed value for random-based generation, like "voidexpance" or "hellyeah", which will affect world generation on server.
For example, if you type
<pre>-new myworld</pre>
random world will be created, always the same for "myworld" seed key. And if you type
<pre>-new hellyeah</pre>
random world will be created too, but different from the one you'll get with "myworld".
In other words, seed_key word defines generated world.
Feel free to experiment, type in you nickname to create your personal world =)
 
 
===Saving game===
In multiplayer mode, server automatically saves game every time interval, specified in SettingsServer.xml (autosave_delay parameter).
You can save server game with console command
<pre>save</pre>


===Loading game===
== Server commands ==
When server starts, you can create a new game, or load an existing one.
You can find full list of server commands at [[VoidExpanse/Server_commands|Server commands]]
To load an existing game, use command:
<pre>load</pre>
You can force server to load the savegame on startup (so no need to enter "load" manually) by adding "--load" (without quotes) to the executable launch args.

Latest revision as of 03:54, 13 June 2017

Multiplayer server setup

Requirements

To launch a multiplayer server on any system, your system needs to meet following requirements:

  • .NET or Mono, compatible with .NET Framework 4.0

Windows 7 (and newer) have .NET 4.0 already installed. Mono is included (bundled) for Linux and Mac game installations.

Installation

How to host your own server:

  • (1) The server is located in the game folder: "Server_dotNET" for Windows or "Server_Mono" for Linux/OSX.
  • (2) Start the server executable first time with "--dedicated" flag (without quotes).
  • (3) Enter "check" into the server console and press Enter key. It will detect that configuration is missing and create the "SettingsServer.xml" and "ModsConfig.xml" files.
  • (4) Enter "stop" and press enter. The server will stop and quit.
  • (5) Now you need to modify "SettingsServer.xml" to set unique server name, make it private if needed, set other settings, etc...

In SettingsServer.xml, do not modify misc and network parts! It may cause malfunction if something is set in a way it is not intended to be.

You may, however, modify <server> part on your own risk. There you can setup some server configurations that would affect gameplay.

Additionally if you want to add mods to your server:

  • (6) Create a subfolder "Mods" in the server folder and place your mods there ("*.MPK" files).
  • (7) Edit "ModsConfig.xml" file and add entries for the new mods. IMPORTANT! Please set any version to the mod definition here, it will be automatically fixed with the proper version from the mod header.

For example, if you want to add single mod "HereticMk2.mpk", your ModsConfig.xml should look like this:

<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<mods>
  <mod>core_1.0.0</mod>
  <mod>HereticMk2_1.0.1</mod>
</mods>

If you do not wish to add mods, please disregard points 6 and 7.

Starting the server:

  • (8) Start the server executable with "--dedicated" flag (without quotes).
  • (9) Enter "new" to the server console and press Enter key to create a new world.
  • (10) Stop your server by typing "stop" and pressing Enter key any time (it will save world before stopping).
  • (11) Load your saved world by typing "load" when you want to start the server next time.

Starting your server automatically:

If you want to make an auto-launch script to automatically load the world, it should look like this

VoidExpanse.Server.exe --dedicated load

Extra NOTES for Linux / OSX:

You need to use "Server_Mono". If you have pre-installed Mono 4 (complete version) in your OS, you could run directly "mono VoidExpanse.ServerMono.exe" otherwise you need to execute appropriate bundle-executable:

Linux 32-bit: ".\VoidExpanse.ServerMono.Bootstrapper.Bundle.Linux32 --dedicated"
Linux 64-bit: ".\VoidExpanse.ServerMono.Bootstrapper.Bundle.Linux64 --dedicated" 
OS X: ".\VoidExpanse.ServerMono.Bootstrapper.Bundle.Mac --dedicated"


Whitelist, blacklist

To enable whitelist, you need to follow the following procedure:

  • Be sure, that white_list_enabled in SettingsServer.xml is set to 1.
  • Create a file "whitelist.txt" next to the server executable file, and add there names of player you want to play on your server, one name on one line:
Portoss
Zegrr
Terrinaa

After this steps are done, only players listed in whitelist.txt will be able to connect to your server.

To enable blacklist, just create a file "blacklist.txt" next to game executable, and add there names of player, which you don't want to play with. Rules are the same - one name per one line. Blacklists are always enabled, so there's no need to change SettingsServer.xml

Server commands

You can find full list of server commands at Server commands