Как создать сервер Minecraft с нуля (Linux, OS X, UNIX)

Создать свой собственный сервер Minecraft просто! В данной статье я расскажу про все тонкости настройки и создания серверов minecraft на примере операционной системы OS X Lion (и Debian Linux). В данной статье не будет рассматриваться автоматический запуск серверов при перезагрузке компьютера, т.к. для каждой операционной системы используются разные стартовые скрипты. Так же я не буду рассматривать вопросы по настройки роутеров и фаерволов.

Если вы хотите сделать свой собственный сервер вам необходимо определиться, где этот сервер будет размещен. Разместить сервер Minecraft можно на домашнем компьютере или на хостинге. Если у Вас мало денег, вам необходимо найти специализированный игровой хостинг, стоимость за одного игрока на таком хостинге может достигать до 60 рублей. Есть цены и ниже, например на моем хостинге shonado.ru — 20 рублей за одного игрока. Если денег много, можно заказать VDS (виртуальный выделенный сервер) или Dedicated Server (выделенный сервер). Этого вида сервера лучше всего приобретать за границей, т.к. на территории Российской Федерации и Украины стоимость VDS или Dedicated Server необоснованно высока! VDS (или Dedicated) выгодно приобретать, когда вы делаете хороший сервер слотов на 100 и больше.

Если вы решили разместить сервер minecraft на домашнем компьютере, вам потребуется:

1. Реальный IP-адрес (доступный из сети интернет). Отвечаю на самый распространненый вопрос, где взять реальный IP-адрес. Он покупается у вашего провайдера. В Москве данная услуга стоит приблизительно от 100 до 300 рублей.
2. Стабильный канал подключения к сети Интернет (от 10Мбит/Сек)
3. Роутер (обычный или WiFi) с возможностью PortForwarding или PortMapping. Нужно для того, чтобы открыть порт для игры
4. Системный блок с запасом оперативной памяти (например, если вы используете Windows 7 x64, вам необходимо минимум 4Гб ОЗУ, 2Гб пойдет на операционную систему и 2Гб вы сможеет выделить на работу своего сервера для 20 игроков).
5. Желательно, чтобы на этом компьютере не выполнялось никаких программ. Я не рекомендую играть на серверном компьютере в какие-нибудь игры или пользоваться программами, так как это отрицательно скажется на производительности сервера

Cоздание сервера Minecraft

После приобретения необходимых устройств, стабильного канала Интернет, реального IP-адреса, необходимо создать и настроить сервер Minecraft. Сейчас я расскажу, как это делается на примере «родного» (не модифицированного) bukkit сервера. Bukkit — это версия Minecraft поддерживающая плагины. Официальный сервер minecraft пока не поддерживает плагины. Итак,

1 шаг. Скачиваем Minecraft из Интернета

Скачиваем сервер bukkit с сайта http://dl.bukkit.org/. Скачивать необходимо стабильную версию. На сайте она маркирована как Recommended Build. Если вы скачаете Betta или Development версию не удивляйтесь, если сервер будет плохо работать (вылетать, выдавать многочисленные ошибки в консоль). В Операционных системах UNIX (Linux или OS X) скачать можно командами

$ curl -O http://dl.bukkit.org/downloads/craftbukkit/get/01845_1.4.7-R1.0/craftbukkit.jar

2 шаг. Переименовываем сервер в server.jar

Переименовываем скаченный файл в server.jar. Если вы решились установить BETA или Development Build, то название файла будет несколько отличаться от craftbukkit.jar. Возьмите за правило одинакого именовать файл сервера. Чтобы переименовать craftbukkit-1.5.1-R0.3-20130424.084500-7.jar в server.jar нужно ввести команду

$ mv craftbukkit-1.5.1-R0.3-20130424.084500-7.jar server.jar

3 шаг. Создаем скрипты запуска и выключения сервера minecraft

Делаем стартовый скрипт и скрипт принудительной остановки. Стартовый скрипт start.sh нужен для того, чтобы запускать сервер. А скрипт принудительной остановки, для того чтобы жестко отключить намертво подвисший сервер minecraft. Если вы выделили мало оперативной памяти на свой сервер и используете тяжелые команды //cut //set или любые другие, могут происходить зависания. И вот когда уже нельзя выключить сервер из игры, на помощь приходит скрипт принудительной остановки. Его я называю stop.sh. Скрипты запуска и остановки сервера обычные текстовые файлы, создать их можно любым текстовым редактором. Я обычно пользуюсь редактором Vi (погуглите его описание кому интересно). Итак, создаем стартовый скрипт

Откроется редактор vi и создаст файл start.sh. Особенность редактора Vi состоит в том, что изначально он открывает файл в режиме чтения. Чтобы туда добавить информацию нужно перейти в режим вставки, для этого нажмите на клавиатуре клавишу i и впишите следующие две строчки

#/bin/bash
screen -S minecraft java -Xincgc -Xmx1G -Xms256M -XX:+UseConcMarkSweepGC -XX:+CMSIncrementalPacing -XX:ParallelGCThreads=4 -XX:+AggressiveOpts -Dfile.encoding=UTF-8 -jar server.jar

Чтобы сохранить файл, вам нужно нажать Esc, ввести :wq. нажать Enter (редактор vi изначально может показаться неудобным, но когда вы к нему привыкнете, вы не прекрат

Что означают эти символы?
#/bin/bash — путь до коммандного интерпритатора (обязательно нужна)
screen -S minecraft — это оконный менеджер с эмуляцией терминала. Он нужен в том случае, если вы запускаете сервер через удаленный доступ с помощью SSH (на VDS или Dedicated Server. При запуске сервера minecraft без screen, после закрытия клиента SSH, сервер перестанет работать. Поэтому, если вы планируете удаленно включать и выключать сервер, запускайте его с помощью этой утилиты. На моем хостинге вместо «-S minecraft» я обычно вписываю «-S mcXXXXX» или «-S xcXXXXX», где XXXXX — это порт на котором запущен сервер.
java -Xincgc -Xmx1G -Xms256M -XX:+UseConcMarkSweepGC -XX:+CMSIncrementalPacing -XX:ParallelGCThreads=4 -XX:+AggressiveOpts -Dfile.encoding=UTF-8 -jar server.jar — собственно сам запуск сервера Minecraft. Описание ключей следующее: -Xmx1G — максимальное количество оперативной памяти на сервер; -Xms256M — минимальное количество оперативной памяти на сервер; -Dfile.encoding=UTF-8 — использовать кодировку UTF8 для файлов; -jar server.jar — путь до сервера; описание остальных параметров можете прочитать в справке про Java.

Теперь создадим скрипт принудительной остановки stop.sh. Этот скрипт ищет идентификатор процесса, который занял указанный порт, например, 25565 и выгружает процесс из памяти по его идентификатору. Итак,

Переходим в режим вставки (нажимаем клавишу i). И пишем текст

#!/bin/bash
PID=`lsof -i -P | grep ‘:25565 (LISTEN)’ | awk ‘‘`
if [ «$PID» != «» ]; then
echo «Killing MineCraft Server PID=$PID»
kill -9 $PID
else
echo «MineCraft not running»
fi

Для сохранения нажимаешь клавишу Esc, пишем :wq! и нажимаем клавишу Enter.

Скрипты готовы, теперь чтобы их можно было запускать, нужно дать соответствующие права с помощью команды

4 шаг. Первый запуск сервера

Просто вводим команду

Если вы настроили все правильно, у вас запуститься сервер майнкрафт и создат все недостающие файлы. В дальнейшем вы сможете класть плагины в папку plugins и изменять настройки сервера майнкрафт в файле server.properties. При установке плагинов будьте аккуратны, т.к. некоторые из них работают только с определенной версией сервера, и могут создавать дополнительную нагрузку, из-за чего сервер начнет лагать. Я рекомендую скачивать плагины с официального сайта bukkit http://dev.bukkit.org/

Наш сайт shonado.ru создан специально для любителей игры minecraft. Раздел для новичков содержит всю необходимую информацию, чтобы играть на своем или чужом сервере. У нас есть свой собственный сервер (IP-адрес: m.shonado.ru). мы предлагаем вам качественный хостинг вашего проекта. В отличие от других хостингов minecraft, на каждые 10 слотов будет выделено 1024мб оперативной памяти. У нас нет лагов. Мы не занимаемся оверселлинг. Наши сборки серверов bukkit тщательно тестируются, именно поэтому они идеальны.

Мы хотим развивать наш сайт shonado.ru и продавать хостинг не только для серверов minecraft, но и для других популярных игр. Если Вы давно занимаетесь игровыми серверами, умеете админинстировать и создавать с нуля свои сборки, умеете программировать на bash, C и Perl, отлично знаете html, css и java, выйдите из сумрака. Я буду рад обсудить с Вами наше совместное взаимовыгодное сотрудничество.