Minetest es una alternativa gratuita y de código abierto al popular juego Minecraft. El servidor es extremadamente fácil de configurar y ejecutar.
Prerrequisitos
- Una instancia de 1GB + VPS o dedicada que ejecuta Ubuntu 17.04.
- wget (instalado con
apt install wget
).
- Un editor de texto.
Paso 1: Agregar el repositorio Minetest Stable e instalar el software del servidor
Como Ubuntu tiende a quedarse atrás con los paquetes para Minetest, utilizará el PPA estable. Esto se puede agregar con los siguientes comandos.
# add-apt-repository ppa:minetestdevs/stable
# apt update
Después de esto, puede instalar el servidor.
# apt install minetest
Paso 2: crear un usuario, abrir puertos y probar el servidor
Por razones de seguridad, siempre es una buena idea ejecutar servicios dentro de su propio usuario como se muestra.
# useradd -mU minetest
Esto creará su minetest
usuario con su propio grupo y con un directorio de inicio para que el servidor se ejecute.
Antes de realizar la prueba, debe abrir el puerto 30000
en el firewall predeterminado de Ubuntu; de lo contrario, no podrá conectarse.
# ufw allow 30000
Ahora sería un buen momento para probar el servidor y ver si se ejecuta.
# su minetest
$ minetest --server
Si todo salió bien, la siguiente salida te saludará:
WARNING[Main]: BanManager: creating /home/minetest/.minetest/worlds/world/ipban.txt
WARNING[Main]: NodeDefManager: Ignoring CONTENT_IGNORE redefinition
WARNING[Main]: /!\ You are using old player file backend. This backend is deprecated and will be removed in next release /!\
WARNING[Main]: Switching to SQLite3 or PostgreSQL is advised, please read http://wiki.minetest.net/Database_backends.
ACTION[Main]: .__ __ __
ACTION[Main]: _____ |__| ____ _____/ |_ ____ _______/ |_
ACTION[Main]: / \| |/ \_/ __ \ __\/ __ \ / ___/\ __\
ACTION[Main]: | Y Y \ | | \ ___/| | \ ___/ \___ \ | |
ACTION[Main]: |__|_| /__|___| /\___ >__| \___ >____ > |__|
ACTION[Main]: \/ \/ \/ \/ \/
ACTION[Main]: World at [/home/minetest/.minetest/worlds/world]
ACTION[Main]: Server for gameid="minetest" listening on 0.0.0.0:30000.
Si recibe la advertencia anterior sobre el backend del reproductor, no se preocupe demasiado, ya que esto se solucionará en el siguiente paso.
Conéctese a su servidor con su cliente para ver si todo funciona. Puede detener el servidor en cualquier momento presionando Ctrl+C
su teclado dentro del shell.
Paso 3: configurar el servidor Minetest
Primero, querrá descargar el minetest.conf
archivo de configuración de ejemplo .
$ cd ~/.minetest
$ wget https://raw.githubusercontent.com/minetest/minetest/master/minetest.conf.example
$ mv minetest.conf.example minetest.conf
Este archivo tiene una extensa lista de posibles configuraciones para que pueda modificar y habilitar (descomentando líneas), sin embargo, por el momento, hay algunas importantes que debe establecer.
El nombre y la descripción de su servidor (por ejemplo):
server_name = Minetest server
server_description = Welcome to my Minetest Server
La dirección IP y el puerto deseado de su servidor (por ejemplo):
bind_address = 203.0.113.1
port = 30000
Si configura un puerto diferente al predeterminado, 30000
asegúrese de actualizar sus reglas de firewall.
#ufw delete allow 30000
#ufw allow <port>
Otra opción importante es name
. Quien se conecte al servidor Minetest con el valor especificado tendrá privilegios de administrador. Establezca esto en el nombre de usuario que desee y establezca una contraseña para su cuenta más adelante.
Probablemente recordará la advertencia sobre el backend del reproductor antes, por lo que cambiar a SQLite3 es imprescindible ya que el backend anterior está en desuso y se eliminará en una versión posterior, si aún no lo ha hecho. Si no recibió este mensaje cuando probó el servidor en el paso 2, puede ir directamente al paso 4.
$ minetest --server --migrate-players sqlite3 --world ~/.minetest/worlds/world
Luego debería ver algo como el siguiente mensaje.
ACTION[Main]: Successfully migrated 1 players
ACTION[Main]: world.mt updated
Paso 4: ejecutar el servidor en el arranque
Para ejecutar el servidor en el arranque, se necesita un archivo de servicio systemd. Afortunadamente, estos son bastante fáciles de crear.
Salga nuevamente a su shell raíz y agregue lo siguiente a /etc/systemd/system/minetest.service
[Unit]
Description=Minetest Server
After=network.target
[Service]
Type=simple
User=minetest
Group=minetest
WorkingDirectory=/home/minetest
ExecStart=/usr/bin/minetest --server
Restart=on-abort
[Install]
WantedBy=multi-user.target
A partir de ahora, se puede iniciar el servidor Minetest systemctl
(y lo hará automáticamente después de reiniciar o si el servidor Minetest se bloquea)
# systemctl enable minetest.service
# systemctl start minetest.service
Del mismo modo, puede verificar el estado o detener / reiniciar el servidor Minetest reemplazando "inicio" en el comando anterior.
Conclusión
Su servidor Minetest debe estar activo y utilizable. Si tiene problemas para conectarse, verifique que su puerto esté abierto y que la dirección IP esté correctamente especificada minetest.conf
. Se puede encontrar información sobre cómo administrar los permisos de los jugadores y varios comandos del servidor en el wiki de Minetest .