Setting up a server/Debian/ru: Difference between revisions
>Amadin |
>Amadin |
Revision as of 10:54, 3 September 2017
Эти инструкции были протестированы в Debian Jessie ("Testing" в январе 2015 года), который включает в себя пакет minetest-server
.
Простые Minetest сервера могут быть запущены в любом Debian (Ubuntu, Linux Mint, или другом дистрибутиве), в котором есть minetest
, перейдя в игре на вкладку "Server", однако такой способ только частично подходит для длительного игрового сеанса.
Это руководство направлено на обеспечение более постоянного, с минимальной средой сервера без графического окружения рабочего стола, сервера.
Установка и начальная подготовка
Команды с префиксом $ должны запускаться с ограниченными правами, в то время как команды с префиксом # следует использовать с правами администратора (как правило, с помощью sudo
).
Подготовка виртуальной машины Debian 7 (опционально)
Если вы хотите установить Minetest в своей выделенной среде, интересно сделать это на хосте KVM, в качестве выделенной виртуальной машины.
Это требует предварительного установку и настройку KVM и virtinst пакетов на вашей хост-системе. Вы также можете настроить сетевой мост, чтобы ваш Интернет имел прямой доступ к серверу в той же подсети.
Следующая команда подготовит виртуальную машину с именем "dungeon" в существующем хосте KVM:
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
После установки, вы можете получить доступ к консоли через VNC.
Установка сервера Minetest
Установите minetest-server
package:
# apt-get install minetest-server
Текущий пакет Debian в Jessie автоматически не настроит сервер Minetest на запуск в качестве службы. Он может работать под root
пользователем, но предпочтительно создать пользователя, чтобы запустить его:
# adduser minetest
Начиная с версии 0.4.10+repack-3 ручная конфигурация пакета minetest-server в Debian не нужна. Пожалуйста, обратитесь к разделу о systemd и sysV-init ниже.
Перед установкой автозапуска при загрузке, запустите сервер вручную, чтобы лучше определить параметры командной строки.
Запуска сервера вручную
Сервер может быть запущен вручную, по команде:
$ minetestserver --info
Последние несколько строк вывода терминала должны быть похожи на это:
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
Остановка сервера вручную
Чтобы остановить сервер, нажмите Ctrl + C. Старайтесь его его убивать, так как это может привести к повреждению мира.
Последние несколько строк вывода терминала должен быть похож на это:
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
Настройка автоматического запуска при загрузке
С командой запланированной загрузки (только для версий 0.4.10+repack-3 и ниже)
ВАЖНО: это ручная настройка автоматического сервера Minetest при загрузке не нужна с 0.4.10+repack-3. Эти усовершенствование доступно при установке пакета из экспериментальных репозиториев Debian, на момент написания этой статьи.
После того, как вы удовлетворены параметрами командной строки и проверив работу сервера, вы можете настроить автоматический запуск при загрузке:
- Залогинтесь в качестве пользователя, ранее созданного. Это может быть не привилегированный пользователь.
- Добавьте
minetestserver
после тестирования с ручным запуском сервера вcrontab
- Вызовите редактор
crontab
:$ crontab -e
- Добавить вашу команду, которая будет выполнена при перезагрузке, в самый конец файла, например:
@reboot /usr/games/minetestserver --info --worldname MyWorld
- Вызовите редактор
- Сохранить файл (Ctrl-X при использовании редактора
nano
)
Запуск сервера Minetest как сервис Systemd или sysV-init демон
Начиная с версии 0.4.10+repack-3 пакет Minetest-server в Debian автоматически создает общесистемного, непривилегированного пользователя с именем Debian-minetest. Домашний каталог этого пользователя - /var/games/minetest-server. Вы можете сделать все настройки в /etc/minetest/minetest.conf. Все файлы журналов записываются в /etc/minetest/minetest.conf .
Systemd
Запуск сервера
- systemctl start minetest-server
Остановка сервера
# systemctl stop minetest-server
Вы можете отключить сервер при загрузке
# systemctl disable minetest-server
Вы можете запустить несколько серверов с различными конфигурациями с помощью блока шаблона функцию Systemd годов.
# systemctl start minetest-server@pvp.service
Вы можете запустить несколько серверов с различными конфигурациями с помощью блока шаблона функций systemd.
# systemctl start minetest-server@pvp.service
Если вы сохранили файл конфигурации для этого сервера в /etc/minetest/pvp.conf
, сервер теперь будет использовать эту вторую конфигурацию и записывать все в /var/log/minetest/pvp.log
.
Просто замените pvp
после @ желаемым именем.
sysV-init
Если Systemd не ваша система инициализации по умолчанию, и вы по-прежнему предпочитаете использовать конфигурацию старого sysV-init, вы можете использовать команду обслуживания, чтобы запустить или остановить сервер.
# service minetest-server start
или:
#service minetest-server stop
Дополнительная информация
- Для получения подробных описаний файле конфигурации сервера, смотрите minetest.conf.
- Используйте другую базу данных для вашего мира.
- Онлайн-скрипт для установки / компиляции Minetest Git, для Debian / Ubuntu / Mint
- Оптимизация сервера
- Комманды сервера страница списка полезных команд.
- Коды предметов для использования с
/give
и/giveme
командами. - Смотрите страницу прав для получения подробной информации о системе привилегий.
Несколько советов
- Каталог
.minetest
содержит данные игры (worlds, config, debug.txt
). - Файловая структура с папками Minetest изменяется после некоторого использования в качестве клиента и сервера, она обозначена в скобках (...).
minetest/
├── bin/ ├── builtin/ ├── cache/ │ ├── media/ │ └── tmp/ ├── client/ │ ├── serverlist/ │ └── shaders/ │ ├── … ├── doc/ ├── fonts/ ├── games/ │ ├── minetest_game/ │ ├── minimal/ │ └── … (установленые дополнительные игры) ├── locale/ (множество языковых папок) ├── mods/ │ └── … (установленные дополнительные моды и сборники модов) ├── textures/ │ ├── base/ │ │ └── pack/ │ └── … (установлены дополнительные пакеты текстур) └── worlds/ └── … (сохранные миры. Некоторые расширения модов мира)