Участник:Alfacom/Guide to VPS(VDS)
Предисловие
В качестве примера используется ОС Debian 8 x64. В гайде присутствуют инструкции и для 32-х битного Дебиана. Также этот гайд можно использовать для Убунты и, возможно, для других Дебиано-подобных Линуксов. Для других Линуксов замените apt-get и dpkg на пакетные менеджеры этих ОС. К слову, на форуме BYOND есть раздел LINUX TALK с инструкциями для установки BYOND на Линуксы.
Общие понятия
Итак, вы закончили освоение исходного кода и уже разобрались как создать свою станцию и даже подняли на своем древнем ПеКа локалочку. Теперь у вас появилась мысль провести свой ивэнт или просто держать сервер 24/7 и кто-то вам даже подсказал использовать для этого VDS(также известный как VPS). Вы даже уже наверняка приобрели один на странного вида сайте. Ну или планируете сделать это в будущем. Что значит "а где взять бесплатный"? Бесплатна только мышь в мышеловке! Или сыр... Да какая разница, сейчас эти штуки стоят совсем недорого и рублей за 300-500 можно арендовать неплохой виртуальный выделенный(или приватный, кому как нравится) сервер на целый месяц. Да-да, именно так расшифровывается этот VDS(VPS). "Виртуальный", потому что это один обычный сервер, "поделенный" на несколько с помощью магической виртуализации. Но отойдем от теории, мы сюда за сервером пришли, а не пересказом википедии, да?
Когда вы заказывали(или еще закажите) свой VDS, вам должны были дать три вещи. Это IP вашего сервера, логин(скорее всего "root") и пароль для доступа к серверу. Все, делайте с этим что хотите, а я пошел. Щутка.
Первым делом вам потребуется нечто, называющееся ssh-терминал. Для Виндозников это может быть PuTTY, линуксоиды могут ограничиться простым набором магической фразы ssh %IP% в командной строке, где %IP% - ip-адрес вашего сервера.
Вернемся к Виндозникам. После того как скачаете PuTTY открываете PuTTY.shexe и в поле Host Name пишите полученный IP. А если после этого в поле Saved Session написать какое-либо понятное имя для вашего нового сервера и затем нажать на кнопочку Save, то в последствии вы сможете открыть свой сервер просто дважды кликнув на строчке с его именем в громадном поле. Нажимаем Open и мы уже на полпути к нашему серверу, но злостный PuTTY что-то от нас хочет. Не пугайтесь, просто PuTTY в первый раз видит ваш сервер и он тоже слегка в шоке. Просто жмите "ДА", в последствии таких сообщение не будет.
Вот наша консоль светится зловещим "login as:" и мы можем смело писать туда "root"(или что вам дали в качестве логина). На появившийся запрос пароля также смело вводите его, но учтите: символы отображаться не будут! Вот так, даже банальных звездочек-точек не будет. Не забудьте использовать Enter после ввода логина и пароля, а то всякие бывают...
После всех унижений вы наконец достигли точки назначения №1: вам открылась командная строка вашего сервера. Поздравляю, на этом ваш эпический квест "Подключиться к VDS" закончен, вот вам новый. Называется "Что делать дальше". Опыт и шмот возьмете потом, сейчас склады пусты.
Как установить BYOND
Готовимся к установке
Для Виндозников будет шоковым состоянием первый раз находится в системе, отличной от подделок Microsоfta, но ничего, привыкнут. Для справки: многие команды для cmd то бишь командной строки виндоуза могут работать и в линуксе. А могут и не работать. Мы же для верности будем использовать только набор файловых команд и парочку команд сверху.
Для начала проверьте, какой разрядности у вас система. Это очень важно, т.к. сам BYOND 32-х битный и могут возникнуть проблемы при его установке на 64-х битную ОС без необходимых дополнение. Битность вашей ОС должна быть указанна где-нибудь в письме с данными логина-пароля, но может быть также в панели управления, если таковая имеется. В крайнем случае используйте команду uname -m. Если результат x86_64, значит 64-х битная. Если i386 то вы на 32-х битной ОС. На результат типа armh я пошлю вас подальше, ибо это армовские процессоры и они не для обычных юзеров.
Дальше перечислим названия необходимых пакетов с программами.
- unzip - необходим для распаковки zip-архивов.
- git - для скачивания свежего кода станции и его упрощенного обновления.
Для установки BYONDa на 64-х битные системы так же необходимы:
- libc6:i386
- libncurses5:i386
- libstdc++6:i386
Если вы хотите иметь сервер с базами данных то необходимо еще для 64-х битных систем
- libmysqlclient-dev:i386
или для 32-х битных:
- libmysqlclient-dev
PS. Если вы работаете не от root-пользователя, то вам потребуется дополнительно добавлять sudo к каждой команде. Это аналог "Запустить от имени администратора", но я сомневаюсь, что вы успели создать нового пользователя поэтому даю команды без использования sudo.
Итак, вот комбинация команд для 32-х битной ОС, где 2 команды совмещены символом &&. По желанию добавить libmysqlclient-dev в конец команды.
apt-get update && apt-get install unzip git
Комбинация команд для пользователей 64-х битной ОС, где 3 команды совмещены символом &&. По желанию добавить libmysqlclient-dev:i386 в конец команды.
dpkg --add-architecture i386 && apt-get update && apt-get install unzip git libc6:i386 libncurses5:i386 libstdc++6:i386
Установка BYOND
Дальше мы поставим BYOND для линуксов.
- На основной машине идем на сайт BYONDa в раздел скачивания http://www.byond.com/download/ где кликаем правой кнопкой мыши на стабильную или бета-версию клиента для Линукса и жмем "копировать адрес ссылки".
- Затем в командной строке вашего VDS пишем wget, ставим пробел и вставляем ссылку. Enter.
- Через пару секунд закачка закончится и нужно будет выполнить команду unzip *_byond_linux.zip для распаковки архива.
- Теперь, чтобы установить BYOND надо выполнить cd byond && make install.
- Финальным действием удаляем ставшие ненужными директории с помощью команды cd .. && rm -rf *byond*
PS. Комбинация команд для установки BOYND одним движением:
wget [ссылка на линукс-версию BYONDa] && unzip *_byond_linux.zip && cd byond && make install && cd .. && rm -rf *byond*
Не забудьте убрать [ и ].
Отлично, полпути мы прошли. BYOND установлен и по команде DreamDaemon -v будет показана версия клиента.
Скачивание кода и запуск сервера
Теперь скачаем и скомпилируем код станции.
- На основной машине идем на гитхаб-страницу желаемой станции и жмем на кнопочку "Clone or Download". Там мы увидим ссылку на этот репозиторий, подозрительно похожий на ссылку на гитхаб-страницу. Разве что в конце будет стоять .git. Это ссылку надо скопировать.
- Возвращаемся к полюбившейся(полюбившейся, ясказал!) командной строке, пишем git clone, ставим пробел и вставляем ссылку. Enter.
- Дожидаемся, когда закончится закачка...
- Дождавшись, зайдем в директорию со скаченным кодом. Для этого надо выполнить cd, пробел и имя репозитория, что вы качали. Например, для блюбея, чей гитхаб открывается по ссылке https://github.com/animusdev/Old-World-Blue, имя репозитория и имя директории будет Old-World-Blue.
- Зайдя в директорию компилируем билд командой DreamMaker, пробел и .dme файл. Его имя можно глянуть на гитхаб-странице вашей станции. У блюбея этот файл называется baystation12.dme Кстати, запомните имя вашего .dme файла, оно вам еще понадобится.
- Скомпилировав без ошибок переходим к запуску станции. Для этого используем код DreamDaemon [имя .dme файла].dmb [порт] [опции]. Для блюбея это было бы DreamDaemon baystation12.dmb 2506 -invisible -logself -trusted. Заметьте, все опции начинаются со знака -
- Рекомендованные опции
- invisible - не показывает сервер в клиенте BYONDa, в итоге зайти на ваш сервер можно только по прямой ссылке вида byond://ip-адрес:порт
- logself - создает файл [имя .dme файла].log с логом событий в каталоге с кодом станции. Полезен при выявлении проблем с запуском и работой сервера станции.
- trusted - доверенный режим, позволяет использовать файлы не только в директории с кодом станции. Если не доверяете проекту, то лучше не использовать.
- Рекомендованные опции
PS. Комбинация команд для скачивания и компилирования кода в одной команде
git clone [адрес репозитория] && cd [имя проекта] && DreamMaker [имя .dme файла].dme
На примере блюбея:
git clone https://github.com/animusdev/Old-World-Blue.git && cd Old-World-Blue && DreamMaker baystation12.dme
Базы данных и с чем их едят
WIP
apt-get instal mysql-server
Безопасность превыше всего!
WIP
- SSH Security:
- . https://www.digitalocean.com/community/tutorials/how-to-configure-ssh-key-based-authentication-on-a-linux-server
- . Fail2ban
Fail2ban is mainly used to protect your ssh against passwords bruteforce.
apt-get install fail2ban && nano /etc/fail2ban/jail.local
Must be something like that:
[DEFAULT] ## If you do not want to use a permanent ip, ## then it's better to comment out this line ## there and in jail.conf. ignoreip = 57.66.158.131 [ssh] ## If within 1 hour: findtime = 3600 ## 6 failed login attempts were made: maxretry = 6 ## Then ban the IP for 24 hours: bantime = 86400
And restart it service fail2ban restart
- MySQL Security
After installing MySQL DB it's a good idea to delete a security hole.
mysql_secure_installation