Serverkonfiguration
Alles was du wissen musst, um deinen Server zu konfigurieren!
Server-Konfigurationsdatei
tip
nanos world Config files use TOML (Tom’s Obvious, Minimal Language), please refer to https://github.com/toml-lang/toml for more information and syntax.
Die Server-Konfigurationsdatei Config.toml
wird automatisch erzeugt, wenn der Server zum ersten Mal gestartet wird. Diese Datei wird immer mit dem korrekten Muster überschrieben, nachdem der Server geladen wurde.
loading...
Einstellungen detailliert
Einstellung | Beschreibung |
---|---|
name | Name des Servers |
beschreibung | Beschreibung des Servers |
logo | URL des Bildes in der Serverliste anzeigen |
max. Spieler | Max amount of players allowed to join |
passwort | Passwort zum Verbinden |
ip | Server-IP. Wir empfehlen das leer zu lassen |
port | Server main Port and HTTP Port (UDP/TCP) |
query_port | Server query Port (UDP) |
ankündigen | Ob in der Server-Liste angekündigt werden soll oder nicht |
tick_rate | Server Tick in ms. Wir empfehlen es 33 zu belassen |
log_level | Auszugebendes Log Level |
game_mode | game-mode package to load - you can only load one game-mode at once. |
lade_screen | loading-screen package to load - you can only load one loading-screen at once. |
pakete | script packages to load |
vermögen | Zusätzliche zu ladende Assets |
kartographie | Welche Karte zu laden |
token | Server Token used for authorize downloads through CLI |
gebannt_ips | Liste der gesperrten IPs |
Karte & Level
The Map (or Level) is defined in the Server’s config file, this level will be loaded when the player joins the server and the Path is supposed for be or a built-in asset or an asset which is located at Assets/
folder.
nanos world counts on (for now) 4 built-in maps: nanos-world::BlankMap
, nanos-world::EmptyMap
, nanos-world::OceanMap
and nanos-world::TestingMap
which can be used in your server without needing to download any Asset Pack.
Server-Konsole
Integrierte Befehle
Befehl | Beschreibung |
---|---|
chat [message] | Sendet eine Chat-Nachricht |
map [map_path] | Changes the Map, reloads all Packages and reconnect all Players |
stoppen | Stoppt den Server |
package run [package_name] [lua_code] | Führt einen Code in einem Paket aus |
Paket neu laden [package_name] | Lade ein Paket neu |
alle neu laden | Alle Pakete neu laden |
entlade Paket [package_name] | Entlade ein Paket |
Paket laden [package_name] | Lädt ein Paket |
Eigene Befehle
All (non built-in) commands will be sent into an event to the scripting/server-side:
Server.Subscribe("Console", function(my_input)
Package.Log("Console command received: " .. my_input)
Ende)
Parameter der Kommandozeile
Die Server-Konfiguration kann mit Befehlszeilenparametern überschrieben werden. Hinweis: Dies wird nicht in die Config-Datei schreiben.
Parameter | Werttyp | Beschreibung |
---|---|---|
--Name | string | Servername |
--Beschreibung | string | Serverbeschreibung |
--logo | string | Server Logo |
--passwort | string | Serverpasswort |
--ip | string | Server IP |
--Karte | string | Karte zum Laden |
--Port | number | Serverport |
--query_port | number | Server Query port |
--kündigen | 0 oder 1 | Wenn Ankündigungen in der Hauptliste |
--game_mode | string | Server game-mode |
--loading_screen | string | Server loading-screen |
--packages | string-Liste | Serverpakete |
--assets | string-Liste | Server assets |
--token | string | Server authorization token |
--Maximale Spieler | number | Maximal erlaubte Spieler |
--speichern | 0 oder 1 | Wenn die Parameter in Config.toml gespeichert werden sollen |
--profiling | 0 oder 1 | Enables Performance Profiling Logs for debugging |
--auto_download | 0 oder 1 | Automatically downloads Packages and Assets from Vault if needed |
One-liner Server Configuration
With Command Line Parameters and Command Line Interface (CLI), it is also possible to automate the full server installation, here's an example:
# Installs/Updates the server through SteamCMD
steamcmd +force_install_dir /home/nanos-world-server +login anonymous +app_update "1936830 -beta bleeding-edge" validate +quit
# Installs all needed Packages (this will install needed Assets as well)
./NanosWorldServer.sh --cli install package sandbox battlefield-kill-ui ts-fireworks-tools
# Starts the server with all configs set
./NanosWorldServer.sh --name "nanos world Amazing Sandbox" --description "Awesome Sandbox Server" --map "nanos-world::TestingMap" --gamemode "sandbox" --packages "battlefield-kill-ui,ts-fireworks-tools" --port 7777 --query_port 7778 --max_players 32 --logo "https://i.imgur.com/U1rZp5v.png"
Another shorter example:
# Starts the server with all configs set and auto downloads the packages and assets if needed
./NanosWorldServer.sh --name "nanos world Amazing Sandbox" --description "Awesome Sandbox Server" --map "nanos-world::TestingMap" --gamemode "sandbox" --packages "battlefield-kill-ui,ts-fireworks-tools" --port 7777 --query_port 7778 --max_players 32 --auto_download 1 --logo "https://i.imgur.com/U1rZp5v.png"
Common Console Messages and Errors
Server zu stark/extrem hoch! Überprüfen Sie die Leistung des Servers! Server got stuck for Xms...
It means the server got stuck for X milliseconds. The warning (yellow) is not something to worry about, but too many messages in red) could mean your server infrastructure is not that good or your scripting code is not that optimized.
Usually the server runs at 33 ticks per second (or the value configured at Config.toml), the server runs in an infinite loop in that frequency, and inside that loop all server operations are executed, such as receiving and sending network packets, triggering lua events, executing functions or callbacks, and so on.
If a single tick takes more than 33 milliseconds, this warning will appear up.
tip
In some shared VPS, this warning may appear up more frequently due how the VPS handles the scaling of it's machines, sometimes the provider may think your VPS is "idle" (due nanos world server using extremely low CPU) and may decrease your processing power, causing this warning show up as well.
Assertion Failed: [...] problem (5002) We don't have cert, and self-signed certs not allowed...
This is an internal problem from Steam Library when you attempt to connect to a server too fast (when it has just started). The server automatically fixes it by retrying the connection, there is nothing to worry about.
Lua Stack Error: Should be X, is Y...
This is an internal error and should not supposed to happen. Those are guards set around our Lua Scripting implementation to prevent bad things from happening. If this error appears it means a implementation bug happened. Please communicate immediately with the devs, and if possible how to reproduce that!