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

From Minetest Wiki
Jump to navigation Jump to search
(Created page with "{{Languages/de}} = '''Einen Server aufsetzen: Debian''' = Diese Anweisungen wurden mit Debian Jessie getestet (“Testing”, Stand Januar 2015), das ein <code>minetest-server...")
 
Line 76: Line 76:
 
== Automatisches Starten beim Hochfahren einrichten ==
 
== Automatisches Starten beim Hochfahren einrichten ==
  
=== With a boot-time scheduled command (only needed for version 0.4.10+repack-3 and below) ===
+
=== Mit einem beim Hochfahren geplanten Befehl (nur für Version 0.4.10+repack-3 und darunter benötigt) ===
  
IMPORTANT: this manual setup of automatic minetest server at boot is not necessary since 0.4.10+repack-3. This improvement is available when installing the package from Debian experimental repositories at the time of this writing.
+
WICHTIG: Diese manuelle Einrichtung des automatischen Starts des Minetest-Servers beim Hochfahren ist seit 0.4.10+repack-3 nicht mehr nötig. Diese Verbesserung ist verfügbar, wenn das Paket von Debian-Experimental installiert wird. zur Zeit, als dieses Handbuch verfasst wurde.
  
Once you're satisfied with command line arguments and having tested the server works, you can setup automatic startup at boot:
+
Sobald Sie mit den Befehlszeilenargumenten zufrieden sind und getestet haben, ob Ihr Server funktioniert, können Sie ihn automatisch beim Hochfahren starten:
# Login as the user previously created. This can be a non-privileged user.
+
# Melden Sie sich als ein Benutzer an, den Sie vorher erstellt haben. Dies kann ein unprivilegierter Nutzer sein.
# Add the <code>minetestserver</code> command as determined after testing with manual server startup to <code>crontab</code>
+
# Fügen Sie der <code>crontab</code> den Befehl <code>minetestserver</code> wie Sie ihn durch manuelles Testen der Serverstarts festgelegt haben, hinzu.
## Invoke the <code>crontab</code> editor: <pre>$ crontab -e</pre>
+
## Rufen Sie dazu den <code>crontab</code>-Editor auf: <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>
+
## Fügen Sie den Befehl, der beim Hochfahren ausgeführt werden soll, ganz an das Ende der Datei, zum Beispiel <pre>@reboot /usr/games/minetestserver --info --worldname MeineWelt</pre>
# Save the file (Ctrl-X if using the <code>nano</code> editor)
+
# Speichern Sie die Datei (Strg+X, falls Sie den Editor <code>nano</code> benutzen).
  
== Running the Minetest server as a systemd service or sysV-init daemon ==
+
== Führen Sie den Minetest-Server als Systemd-Dienst oder als SysVinit-Daemon aus ==
 +
Seit Version 0.4.10+repack-3 erzeugt das Debian-Paket “minetest-server” automatisch einen systemweiten unprivilegierten Benutzer namens '''Debian-minetest'''. Das Home-Verzeichnis dieses Benutzers ist ''/var/games/minetest-server''.  Sie können die vollständige Konfiguration in ''/etc/minetest/minetest.conf'' erledigen. Alle Protokolldateien werden in ''/var/log/minetest'' geschrieben.
  
Since version 0.4.10+repack-3 the Debian minetest-server package automatically creates a system-wide, unprivileged user called '''Debian-minetest'''. The home directory of this user is ''/var/games/minetest-server''. You can do all the configuration in ''/etc/minetest/minetest.conf''. All log files are written to ''/var/log/minetest''.
 
  
=== systemd ===
+
=== Systemd ===
  
Start the server with
+
Starten Sie den Server mit
  
 
  # systemctl start minetest-server
 
  # systemctl start minetest-server
  
Stop the server with
+
Stopen Sie den Server mit
  
 
  # systemctl stop minetest-server
 
  # systemctl stop minetest-server
  
You can disable the server on boot with
+
Sie können das Starten des Server beim Hochfahren deaktivieren mit
  
 
  # systemctl disable minetest-server
 
  # systemctl disable minetest-server
  
You can start multiple servers with different configurations by using systemd's template unit feature.
+
Sie können mehrere Server mit unterschiedlichen Konfigurationen mittels der Schablonen-Unit-Funktionalität von Systemd starten.
  
 
  # systemctl start minetest-server@pvp.service
 
  # systemctl start minetest-server@pvp.service
  
Provided that you also saved the configuration file for this server in <code>/etc/minetest/pvp.conf</code>, the server will now use this second configuration and log everything to <code>/var/log/minetest/pvp.log</code>.
+
Sofern Sie die Konfigurationsdatei für diesen Server auch in <code>/etc/minetest/pvp.conf</code> gespeichert haben, wird der Server nun diese zweite Konfiguration benutzen und alles in <code>/var/log/minetest/pvp.log</code> protokollieren. Ersetzten Sie <code>pvp</code> nach dem @ einfach durch den von Ihnen gewünschten Namen.
Simply replace <code>pvp</code> after @ with your desired name.
 
  
=== sysV-init ===
+
=== SysVinit ===
 
+
Falls Systemd nicht Ihr Standard-Initsystem ist und Sie noch die Konfiguration im alten SysVinit-Stil bevorzugen, können Sie den Dienstbefehl zum Starten und Stoppen Ihres Servers benutzen.
If systemd is not your default init system and you still prefer to use the old sysV-init style configuration, you can use the service command to start or stop your server.
 
  
 
  # service minetest-server start
 
  # service minetest-server start
  
or:
+
oder
  
 
  #service minetest-server stop
 
  #service minetest-server stop
  
=== Further information ===
+
=== Weitere Informationen ===
 
+
* Eine umfassende Erklärung der Serverkonfigurationsdatei finden Sie auf der Seite [http://github.com/minetest/minetest/blob/master/minetest.conf.example minetest.conf].
* For a detailed explanation of the server configuration file, see the [http://github.com/minetest/minetest/blob/master/minetest.conf.example minetest.conf] page.
+
* Sie können verschiedene [[Database backends/de|Datenbanken]] für Ihre Welt verwenden.
* Use a different [[Database backends|database backend]] for your world.
+
* [http://forum.minetest.net/viewtopic.php?f=3&t=3837 Online-Skript zum Installieren und Kompilieren von Mintest von Git für Debian, Ubuntu und Mint]
* [http://forum.minetest.net/viewtopic.php?f=3&t=3837 One-line script for installing/compiling Minetest Git, for Debian / Ubuntu / Mint]
+
* [http://forum.minetest.net/viewtopic.php?f=10&t=9588 Englischsprachige Anleitung zum Erstellen eines schnellen Minetest-Servers unter Debian]
* [http://forum.minetest.net/viewtopic.php?f=10&t=9588 Guide to create fast minetest server on Debian]
+
* Die Seite [[Server commands/de|Serverbefehle]] enthält eine Liste nützlicher Befehle.
* [[Server commands]] page for a list of useful commands.
+
* [[Itemstrings/de|Technische Bezeichner]] die mit den Befehlen <code>/give</code> und <code>/giveme</code> benutzt werden.
* [[Itemstrings|Item strings]] for the itemstrings for use with the <code>/give</code> and <code>/giveme</code> commands.
+
* Umfassende Informationen über das Privilegiensystem finden Sie [[Privileges/de|hier]]
* See the [[Privileges]] page for detailed information on the privilege system.
 
  
 
== A few tips ==
 
== A few tips ==

Revision as of 09:05, 15 May 2018

Languages Sprache: English • Deutsch • 日本語

Einen Server aufsetzen: Debian

Diese Anweisungen wurden mit Debian Jessie getestet (“Testing”, Stand Januar 2015), das ein minetest-server-Paket enthält.

Ein einfacher Minetest-Server kann in jedem Debian (Ubuntu, Linux Mint oder davon abgeleiteten Distributionen) gestartet werden, der das Paket minetest hat, indem Sie auf den Reiter “Server” gehen. Allerdings bleibt ein solches Spiel nur für die Dauer der Spielsitzung auf dem Rechner verfügbar,

Diese Anleitung zielt auf die Bereitstellung einer permanenten mimimalen Server-Umgebung ohne grafische Desktop-Umgebung.

Installation und anfängliche Vorbereitung

Befehle, denen ein $ vorangestellt ist, werden mit eingeschränkten Privilegien ausgeführt, während Befehle, denen ein # vorangestellt ist, mit Administratorrechten (üblicherweise mittels sudo) ausgeführt werden.

Eine virtuelle Maschine mit Debian 7 vorbereiten (optional)

Falls Sie Minetest in einer speziell dafür vorgesehenen Umgebung installieren wollen, ist eine interessante Option, dies auf einem KVM-Host in Form einer fest zugehörigen virtuellen Maschine zu tun.

Dies erfordert eine vorhergehende Installation und Konfiguration von KVM und des Pakets virtinst auf Ihren Host-System. Sie können auch eine Netzwerkbrücke konfigurieren, so dass Ihr LAN direkten Zugriff auf den Server im selben Subnetz hat.

Der folgende Befehl wird eine virtuelle Maschine namens “dungeon” auf einem bestehenden KVM-Host vorbereiten:

sudo virt-install -n dungeon -r 1024 --disk path=/var/lib/libvirt/images/dungeon.img,bus=virtio,size=10 -l http://ftp.ca.debian.org/debian/dists/wheezy/main/installer-i386/ --accelerate -b br0,model=virtio --connect=qemu:///system --vnc --noautoconsole -v

Sobald es installiert ist, können Sie über VNC auf die Konsole zugreifen.

Das Minetest-Serverprogramm installieren

Installieren Sie das Paket minetest-server:

# apt-get install minetest-server

Das aktuelle Debian-Paket in Jessie richtet den Minetest-Server nicht so ein, dass er automatisch als Dienst startet. Er kann unter dem Benutzer root laufen, allerdings sollten Sie vorzugsweise einen Benutzer anlegen, um ihn auszuführen:

# adduser minetest

Seit Version 0.4.10+repack-3 ist keine manuelle Konfiguration von Debians Paket “minetest-server” mehr erforderlich. Bitte probieren Sie den Abschnitt über Systemd und SysVinit aus.

Bevor Sie ein automatisches Starten beim Hochfahren einrichten, sollten Sie in Betracht ziehen, den Server manuell zu starten, um die besten Befehlszeilenoptionen zu bestimmen.

Der Server manuell starten

Der Server kann manuell durch den Aufruf dieses Befehls gestartet werden:

$ minetestserver --info

Die letzten paar Zeilen der Terminal-Ausgabe sollte etwa so aussehen:

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

Den Server manuell stoppen

Um den Server zu stoppen drücken Sie Ctrl + C. Verhindern Sie ihn zu killen, solange dies nicht nötig ist, da dies zur Beschädigung der Welt führen kann.

Die letzten paar Zeilen der Terminal-Ausgabe sollte etwa so aussehen:

03: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

Automatisches Starten beim Hochfahren einrichten

Mit einem beim Hochfahren geplanten Befehl (nur für Version 0.4.10+repack-3 und darunter benötigt)

WICHTIG: Diese manuelle Einrichtung des automatischen Starts des Minetest-Servers beim Hochfahren ist seit 0.4.10+repack-3 nicht mehr nötig. Diese Verbesserung ist verfügbar, wenn das Paket von Debian-Experimental installiert wird. zur Zeit, als dieses Handbuch verfasst wurde.

Sobald Sie mit den Befehlszeilenargumenten zufrieden sind und getestet haben, ob Ihr Server funktioniert, können Sie ihn automatisch beim Hochfahren starten:

  1. Melden Sie sich als ein Benutzer an, den Sie vorher erstellt haben. Dies kann ein unprivilegierter Nutzer sein.
  2. Fügen Sie der crontab den Befehl minetestserver wie Sie ihn durch manuelles Testen der Serverstarts festgelegt haben, hinzu.
    1. Rufen Sie dazu den crontab-Editor auf:
      $ crontab -e
    2. Fügen Sie den Befehl, der beim Hochfahren ausgeführt werden soll, ganz an das Ende der Datei, zum Beispiel
      @reboot /usr/games/minetestserver --info --worldname MeineWelt
  3. Speichern Sie die Datei (Strg+X, falls Sie den Editor nano benutzen).

Führen Sie den Minetest-Server als Systemd-Dienst oder als SysVinit-Daemon aus

Seit Version 0.4.10+repack-3 erzeugt das Debian-Paket “minetest-server” automatisch einen systemweiten unprivilegierten Benutzer namens Debian-minetest. Das Home-Verzeichnis dieses Benutzers ist /var/games/minetest-server. Sie können die vollständige Konfiguration in /etc/minetest/minetest.conf erledigen. Alle Protokolldateien werden in /var/log/minetest geschrieben.


Systemd

Starten Sie den Server mit

# systemctl start minetest-server

Stopen Sie den Server mit

# systemctl stop minetest-server

Sie können das Starten des Server beim Hochfahren deaktivieren mit

# systemctl disable minetest-server

Sie können mehrere Server mit unterschiedlichen Konfigurationen mittels der Schablonen-Unit-Funktionalität von Systemd starten.

# systemctl start minetest-server@pvp.service

Sofern Sie die Konfigurationsdatei für diesen Server auch in /etc/minetest/pvp.conf gespeichert haben, wird der Server nun diese zweite Konfiguration benutzen und alles in /var/log/minetest/pvp.log protokollieren. Ersetzten Sie pvp nach dem @ einfach durch den von Ihnen gewünschten Namen.

SysVinit

Falls Systemd nicht Ihr Standard-Initsystem ist und Sie noch die Konfiguration im alten SysVinit-Stil bevorzugen, können Sie den Dienstbefehl zum Starten und Stoppen Ihres Servers benutzen.

# service minetest-server start

oder

#service minetest-server stop

Weitere Informationen

A few tips

  • The .minetest directory contains game data (worlds, config, debug.txt).
  • File structure with the folders Minetest adds after some usage as client and server, as well as the positions (…) that costum made content goes could look like this.
minetest/
├── bin/
├── builtin/
├── cache/
│   ├── media/
│   └── tmp/
├── client/
│   ├── serverlist/
│   └── shaders/
│       ├── …
├── doc/
├── fonts/
├── games/
│   ├── minetest_game/
│   ├── minimal/
│   └── … (installed extra games)
├── locale/ (lots of language folders)
├── mods/
│   └── … (installed extra mods and modpacks)
├── textures/
│   ├── base/
│   │   └── pack/
│   └── … (installed extra texturepacks)
└── worlds/
    └── … (saved worlds. Some with exclusive world mods)