Difference between revisions of "Setting up a server/Debian"

From Luanti Wiki
Jump to navigation Jump to search
(Replaced content with "Please see [https://dev.luanti.org/setting-up-a-server/ Setting up a server] on the Luanti Developer Wiki. For setting up a Luanti server according to Debian, see [https:...")
Tag: Replaced
 
(21 intermediate revisions by 9 users not shown)
Line 1: Line 1:
These instructions have been tested in Debian Jessie ("Testing" as of May 2014) which includes a <code>minetest-server</code> package.
+
Please see [https://dev.luanti.org/setting-up-a-server/ Setting up a server] on the Luanti Developer Wiki.
  
A simple minetest server can be started in any Debian (or derivative distribution) that has the <code>minetest</code> package by going to its "server" tab, however such a game only remains available for the duration of the hosts desktop session.
+
For setting up a Luanti server according to Debian, see [https://wiki.debian.org/Games/Minetest#Setting_up_a_server this page on the Debian Wiki].
 
 
This guide is aimed at providing a more permanent, minimal server environment setup without a graphical desktop environment.
 
 
 
== Installation and initial preparation ==
 
Install the <code>minetest-server</code> package:
 
<pre># apt-get install minetest-server</pre>
 
 
 
The current Debian package does not automatically setup the Minetest server to start as a service. It can run under the <code>root</code> user but it may be preferrable to create a user to run it:
 
<pre># adduser minetest</pre>
 
 
 
Before setting up automatic startup at boot, consider manually running the server to determine the best command line arguments.
 
 
 
== Manually starting the server ==
 
 
 
The server can be started manually by invoking its command:
 
<pre>$ /usr/games/minetestserver --info</pre>
 
 
 
The last few lines of terminal output should be similar to this:
 
 
 
<pre>
 
03:33:25: INFO[main]: Server: Loading environment metadata
 
03:33:25: INFO[main]: Server: Loading players
 
03:33:25: INFO[main]: Starting server on port 30000...
 
03:33:25: ACTION[main]:        .__              __                  __ 
 
03:33:25: ACTION[main]:  _____ |__| ____  _____/  |_  ____  _______/  |_
 
03:33:25: ACTION[main]:  /    \|  |/    \_/ __ \  __\/ __ \ /  ___/\  __\
 
03:33:25: ACTION[main]: |  Y Y  \  |  |  \  ___/|  | \  ___/ \___ \  |  | 
 
03:33:25: ACTION[main]: |__|_|  /__|___|  /\___  >__|  \___  >____  > |__| 
 
03:33:25: ACTION[main]:      \/        \/    \/          \/    \/       
 
03:33:25: ACTION[main]: World at [/home/minetest/.minetest/worlds/world]
 
03:33:25: ACTION[main]: Server for gameid="minetest" listening on port 30000.
 
03:33:25: INFO[ServerThread]: Server creating detached inventory "creative"
 
03:33:28: INFO[ServerThread]: ServerMap: SQLite3 database opened</pre>
 
 
 
== Manually stopping the server ==
 
To stop the server, press Ctrl-C.
 
 
 
The last few lines of terminal output should be similar to this:
 
 
 
<pre>^C03:34:52: INFO: sigint_handler(): Ctrl-C pressed, shutting down.
 
03:34:52: INFO[main]: Dedicated server quitting
 
03:34:52: INFO[main]: Server destructing
 
03:34:52: INFO[main]: Server: Saving players
 
03:34:52: INFO[main]: Server: Saving environment metadata
 
03:34:52: INFO[main]: Server: Stopping and waiting threads
 
03:34:52: INFO[main]: Server: Threads stopped
 
03:34:52: INFO[main]: ServerMap: Saved map to /home/minetest/.minetest/worlds/world
 
03:34:52: INFO[main]: RollbackManager::~RollbackManager()
 
03:34:52: INFO[main]: RollbackManager::flush()
 
03:34:52: INFO[main]: BanManager: saving to /home/minetest/.minetest/worlds/world/ipban.txt
 
03:34:52: INFO[main]: Server: Deinitializing scripting
 
minetest@vm-minetest:~$ </pre>
 
 
 
== Setup automatic startup at boot ==
 
=== With a boot-time scheduled command ===
 
Once you're satisfied with command line arguments and having tested the server works, you can setup automatic startup at boot:
 
# Login as the user previously created. This can be a non-privileged user.
 
# Add the <code>minetestserver</code> command as determined after testing with manual server startup to <code>crontab</code>
 
## Invoke the <code>crontab</code> editor: <pre>$ crontab -e</pre>
 
## Add your command to be executed at reboot to the very end of the file, for example: <pre>@reboot /usr/games/minetestserver --info --worldname MyWorld</pre>
 
# Save the file (Ctrl-X if using the <code>nano</code> editor)
 
=== With an init script ===
 
A better practice when running a service in Debian is to create a proper init script and configuration for it.
 
 
 
Check [https://forum.minetest.net/viewtopic.php?p=135918#p135918 this forum discussion] for details, a cleaned-up version is being worked on.
 
 
 
== A few tips ==
 
* The <code>.minetest</code> directory contains game data (worlds, config, debug.txt)
 
..
 

Latest revision as of 16:09, 21 December 2024

Please see Setting up a server on the Luanti Developer Wiki.

For setting up a Luanti server according to Debian, see this page on the Debian Wiki.