Difference between revisions of "Setting up a server"

From Minetest Wiki
Jump to navigation Jump to search
m (→‎See also: Fix typo)
Line 2: Line 2:
  
 
== Running the Server ==
 
== Running the Server ==
 +
 +
=== Graphical Client ===
 +
 +
If you want to host a server to play on with friends, then the simplest way
 +
to start it is to use the Minetest client. Note that you are hosting the server
 +
on your computer, and the server will shutdown if you leave the game.
 +
 +
* Go to the server tab
 +
* Make sure a world is selected
 +
* Enter your username and password
 +
* Click start
  
 
=== Linux ===
 
=== Linux ===
Line 38: Line 49:
 
#Choose a port to run the server on. The default of 30000 is recommended
 
#Choose a port to run the server on. The default of 30000 is recommended
 
#Find out your internal IP of the computer you are running the server on
 
#Find out your internal IP of the computer you are running the server on
#*'''Linux''': open a terminal and type <code>ifconfig</code> and hit enter
+
#*'''Linux''': open a terminal and type <code>ifconfig</code> and hit enter. Look for "inet adr" near "wlan0" or "eth0".
#*'''Windows''': Start → Run … <code>cmd.exe</code> <code>ipconfig</code>
+
#*'''Windows'''
 +
#** Open command prompt: Start → Run …, enter <code>cmd.exe</code> and hit enter.
 +
#** Type <code>ipconfig</code> and hit enter.
 +
#** Look for <code>IPv4 Address</code>.
 +
#*'''macOS''': Open the command prompt and enter netstat -nr.
 
#Login to your router, and port forward UDP on your chosen port to the internal IP you found
 
#Login to your router, and port forward UDP on your chosen port to the internal IP you found
 
#Alter any firewalls you may have to allow traffic to the port you choose
 
#Alter any firewalls you may have to allow traffic to the port you choose
 
#Make your server listed in the server list by setting the following settings in minetest.conf
 
#Make your server listed in the server list by setting the following settings in minetest.conf
#* `server_announce = true` - makes Minetest tell the server list about the server.
+
#* <code>server_announce = true</code> - makes Minetest tell the server list about the server.
#* `server_name` - set the value of this to your server's name.
+
#* <code>server_name</code> - set the value of this to your server's name.
#* `server_description` - set the value of this to a longer description describing your server.
+
#* <code>server_description</code> - set the value of this to a longer description describing your server.
#* `server_address` - if you have a domain name for your server, then set this to the domain name.
+
#* <code>server_address</code> - if you have a domain name for your server, then set this to the domain name.
#* `server_url` - if you have a website for your server, then set this to the website URL.
+
#* <code>server_url</code> - if you have a website for your server, then set this to the website URL.
#* `motd` - a message that is sent to the player when they join. Use this to welcome them.
+
#* <code>motd</code> - a message that is sent to the player when they join. Use this to welcome them.
#* You should restart the server to make sure any settings changed are read.
+
#* You should restart the server to make sure any changed settings changed  
  
 
== Protect server ==
 
== Protect server ==

Revision as of 18:17, 13 April 2017

Languages Language: English • Deutsch • français • italiano • 日本語 • русский

Running the Server

Graphical Client

If you want to host a server to play on with friends, then the simplest way to start it is to use the Minetest client. Note that you are hosting the server on your computer, and the server will shutdown if you leave the game.

  • Go to the server tab
  • Make sure a world is selected
  • Enter your username and password
  • Click start

Linux

  1. Open a terminal.
  2. Type in YOUR/MINETEST/DIRECTORY/bin/minetestserver or just drop the minetestserver executable (located in /Minetest/bin/) into the terminal (PLEASE READ THE NOTES BELOW!)
    • If you want to specify a specific game ID, the game ID choices are located in /Minetest/games/. Add in --gameid thegameid to the end of the command.
    • If you get the error “Multiple worlds are available.”, the world choices are located in /Minetest/worlds/. Add in --worldname theWorld to the end of the command.
  3. If your server crashes, then look at the debug.txt in /Minetest/bin/
  4. Make sure you make your server safe from damage.

For easy use you can create an file named minetestserver.sh, add the lines below and put it in your /Minetest/bin/ folder. To run the server, just run the file in a terminal.

#!/bin/bash -x

./minetestserver --gameid minetest --worldname world

Windows

  1. Open command prompt by going in the Minetest installation folder, then in the “bin” folder, hold Shift, do a right click on a empty file (not on minetest.exe), click “Open command window here”.
  2. Type this: minetest.exe --server.
    • If you get the error “Multiple worlds are available.”, use minetest.exe --server --worldname world_name instead, where world_name is the name of the world.
  3. If your server crashes, then look at the debug.txt in /Minetest/bin/
  4. Make sure you make your server safe from damage.

If you don't like to start the crashed server, simply start the server out of a batch file which contains the following code:

@echo off
:crash
minetest.exe --server --worldname world_name
goto crash

Allowing external players to connect

Players outside of your network won't be able to join the server unless you port forward.

  1. Choose a port to run the server on. The default of 30000 is recommended
  2. Find out your internal IP of the computer you are running the server on
    • Linux: open a terminal and type ifconfig and hit enter. Look for "inet adr" near "wlan0" or "eth0".
    • Windows
      • Open command prompt: Start → Run …, enter cmd.exe and hit enter.
      • Type ipconfig and hit enter.
      • Look for IPv4 Address.
    • macOS: Open the command prompt and enter netstat -nr.
  3. Login to your router, and port forward UDP on your chosen port to the internal IP you found
  4. Alter any firewalls you may have to allow traffic to the port you choose
  5. Make your server listed in the server list by setting the following settings in minetest.conf
    • server_announce = true - makes Minetest tell the server list about the server.
    • server_name - set the value of this to your server's name.
    • server_description - set the value of this to a longer description describing your server.
    • server_address - if you have a domain name for your server, then set this to the domain name.
    • server_url - if you have a website for your server, then set this to the website URL.
    • motd - a message that is sent to the player when they join. Use this to welcome them.
    • You should restart the server to make sure any changed settings changed

Protect server

The default MTG does not protect from accidental damage (ie: fire) or griefers (malicious players).

  • Install a protection mod, such as areas
  • Disable fire by adding `enable_fire = false` to minetest.conf
  • Disable TNT by adding `enable_tnt = false` to minetest.conf
  • Enable rollback to find out who placed a node, and allow all of a player's nodes to be reverted: `enable_rollback = true` in minetest.conf

See also