Строка 1: |
Строка 1: |
− | Предисловие: В качестве примера используется ОС Debian 8 x64. В гайде присутствуют инструкции и для 32-х битного Дебиана. Также этот гайд можно использовать для Убунты и, возможно, для других Дебиано-подобных Линуксов. Для других Линуксов замените '''apt-get''' и '''dpkg''' на пакетные менеджеры этих ОС. К слову, на форуме BYOND есть раздел LINUX TALK с инструкциями для установки BYOND на Линуксы. | + | ==Предисловие== |
− | | + | В качестве примера используется ОС Debian 8 x64. В гайде присутствуют инструкции и для 32-х битного Дебиана. Также этот гайд можно использовать для Убунты и, возможно, для других Дебиано-подобных Линуксов. Для других Линуксов замените '''apt-get''' и '''dpkg''' на пакетные менеджеры этих ОС. К слову, на форуме BYOND есть раздел LINUX TALK с инструкциями для установки BYOND на Линуксы. |
| + | ==Общие понятия== |
| Итак, вы закончили [[Downloading_the_source_code|освоение исходного кода]] и уже разобрались как создать свою станцию и даже подняли на своем древнем ПеКа локалочку. Теперь у вас появилась мысль провести свой ивэнт или просто держать сервер 24/7 и кто-то вам даже подсказал использовать для этого VDS(также известный как VPS). Вы даже уже наверняка приобрели один на странного вида сайте. Ну или планируете сделать это в будущем. Что значит "а где взять бесплатный"? Бесплатна только мышь в мышеловке! Или сыр... Да какая разница, сейчас эти штуки стоят совсем недорого и рублей за 300-500 можно арендовать неплохой виртуальный выделенный(или приватный, кому как нравится) сервер на целый месяц. Да-да, именно так расшифровывается этот VDS(VPS). "Виртуальный", потому что это один обычный сервер, "поделенный" на несколько с помощью магической [https://ru.wikipedia.org/wiki/%D0%92%D0%B8%D1%80%D1%82%D1%83%D0%B0%D0%BB%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F виртуализации]. Но отойдем от теории, мы сюда за сервером пришли, а не пересказом википедии, да? | | Итак, вы закончили [[Downloading_the_source_code|освоение исходного кода]] и уже разобрались как создать свою станцию и даже подняли на своем древнем ПеКа локалочку. Теперь у вас появилась мысль провести свой ивэнт или просто держать сервер 24/7 и кто-то вам даже подсказал использовать для этого VDS(также известный как VPS). Вы даже уже наверняка приобрели один на странного вида сайте. Ну или планируете сделать это в будущем. Что значит "а где взять бесплатный"? Бесплатна только мышь в мышеловке! Или сыр... Да какая разница, сейчас эти штуки стоят совсем недорого и рублей за 300-500 можно арендовать неплохой виртуальный выделенный(или приватный, кому как нравится) сервер на целый месяц. Да-да, именно так расшифровывается этот VDS(VPS). "Виртуальный", потому что это один обычный сервер, "поделенный" на несколько с помощью магической [https://ru.wikipedia.org/wiki/%D0%92%D0%B8%D1%80%D1%82%D1%83%D0%B0%D0%BB%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F виртуализации]. Но отойдем от теории, мы сюда за сервером пришли, а не пересказом википедии, да? |
| | | |
| Когда вы заказывали(или еще закажите) свой VDS, вам должны были дать три вещи. Это IP вашего сервера, логин(скорее всего "root") и пароль для доступа к серверу. Все, делайте с этим что хотите, а я пошел. Щутка. | | Когда вы заказывали(или еще закажите) свой VDS, вам должны были дать три вещи. Это IP вашего сервера, логин(скорее всего "root") и пароль для доступа к серверу. Все, делайте с этим что хотите, а я пошел. Щутка. |
| | | |
− | Первым делом вам потребуется нечто, называющееся ssh-терминал. Для Виндозников это может быть [http://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html PuTTY], линуксоиды могут ограничиться простым набором магической фразы | + | Первым делом вам потребуется нечто, называющееся ssh-терминал. Для Виндозников это может быть [http://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html PuTTY], линуксоиды могут ограничиться простым набором магической фразы '''ssh %IP%''' в командной строке, где %IP% - ip-адрес вашего сервера. |
− | ssh %IP%
| + | |
− | где %IP% - ip-адрес вашего сервера. | |
| Вернемся к Виндозникам. После того как скачаете PuTTY открываете PuTTY.<s>sh</s>exe и в поле Host Name пишите полученный IP. А если после этого в поле Saved Session написать какое-либо понятное имя для вашего нового сервера и затем нажать на кнопочку Save, то в последствии вы сможете открыть свой сервер просто дважды кликнув на строчке с его именем в громадном поле. Нажимаем Open и мы уже на полпути к нашему серверу, но злостный PuTTY что-то от нас хочет. Не пугайтесь, просто PuTTY в первый раз видит ваш сервер и он тоже слегка в шоке. Просто жмите "ДА", в последствии таких сообщение не будет. | | Вернемся к Виндозникам. После того как скачаете PuTTY открываете PuTTY.<s>sh</s>exe и в поле Host Name пишите полученный IP. А если после этого в поле Saved Session написать какое-либо понятное имя для вашего нового сервера и затем нажать на кнопочку Save, то в последствии вы сможете открыть свой сервер просто дважды кликнув на строчке с его именем в громадном поле. Нажимаем Open и мы уже на полпути к нашему серверу, но злостный PuTTY что-то от нас хочет. Не пугайтесь, просто PuTTY в первый раз видит ваш сервер и он тоже слегка в шоке. Просто жмите "ДА", в последствии таких сообщение не будет. |
| | | |
Строка 14: |
Строка 14: |
| После всех унижений вы наконец достигли точки назначения №1: вам открылась командная строка вашего сервера. Поздравляю, на этом ваш эпический квест "Подключиться к VDS" закончен, вот вам новый. Называется "Что делать дальше". Опыт и шмот возьмете потом, сейчас склады пусты. | | После всех унижений вы наконец достигли точки назначения №1: вам открылась командная строка вашего сервера. Поздравляю, на этом ваш эпический квест "Подключиться к VDS" закончен, вот вам новый. Называется "Что делать дальше". Опыт и шмот возьмете потом, сейчас склады пусты. |
| | | |
| + | ==Как установить BYOND== |
| + | ===Готовимся к установке=== |
| Для Виндозников будет шоковым состоянием первый раз находится в системе, отличной от подделок Microsоfta, но ничего, привыкнут. Для справки: многие команды для cmd то бишь командной строки виндоуза могут работать и в линуксе. А могут и не работать. Мы же для верности будем использовать только набор [http://help.ubuntu.ru/wiki/%D0%BA%D0%BE%D0%BC%D0%B0%D0%BD%D0%B4%D0%BD%D0%B0%D1%8F_%D1%81%D1%82%D1%80%D0%BE%D0%BA%D0%B0#файловые_команды файловых команд] и парочку команд сверху. | | Для Виндозников будет шоковым состоянием первый раз находится в системе, отличной от подделок Microsоfta, но ничего, привыкнут. Для справки: многие команды для cmd то бишь командной строки виндоуза могут работать и в линуксе. А могут и не работать. Мы же для верности будем использовать только набор [http://help.ubuntu.ru/wiki/%D0%BA%D0%BE%D0%BC%D0%B0%D0%BD%D0%B4%D0%BD%D0%B0%D1%8F_%D1%81%D1%82%D1%80%D0%BE%D0%BA%D0%B0#файловые_команды файловых команд] и парочку команд сверху. |
| | | |
− | Для начала проверьте, какой разрядности у вас система. Это очень важно, т.к. сам BYOND 32-х битный и могут возникнуть проблемы при его установке на 64-х битную ОС без необходимых дополнение. Битность вашей ОС должна быть указанна где-нибудь в письме с данными логина-пароля, но может быть также в панели управления, если таковая имеется. В крайнем случае используйте команду | + | Для начала проверьте, какой разрядности у вас система. Это очень важно, т.к. сам BYOND 32-х битный и могут возникнуть проблемы при его установке на 64-х битную ОС без необходимых дополнение. Битность вашей ОС должна быть указанна где-нибудь в письме с данными логина-пароля, но может быть также в панели управления, если таковая имеется. В крайнем случае используйте команду '''uname -m'''. Если результат '''x86_64''', значит 64-х битная. Если '''i386''' то вы на 32-х битной ОС. На результат типа '''armh''' я пошлю вас подальше, ибо это армовские процессоры и они не для обычных юзеров. |
− | uname -m
| |
− | Если результат '''x86_64''', значит 64-х битная. Если '''i386''' то вы на 32-х битной ОС. На результат типа '''armh''' я пошлю вас подальше, ибо это армовские процессоры и они не для обычных юзеров. | |
| | | |
| Дальше перечислим названия необходимых пакетов с программами. | | Дальше перечислим названия необходимых пакетов с программами. |
Строка 39: |
Строка 39: |
| Комбинация команд для пользователей 64-х битной ОС, где 3 команды совмещены символом '''&&'''. По желанию добавить '''libmysqlclient-dev:i386''' в конец команды. | | Комбинация команд для пользователей 64-х битной ОС, где 3 команды совмещены символом '''&&'''. По желанию добавить '''libmysqlclient-dev:i386''' в конец команды. |
| dpkg --add-architecture i386 && apt-get update && apt-get install unzip git libc6:i386 libncurses5:i386 libstdc++6:i386 | | dpkg --add-architecture i386 && apt-get update && apt-get install unzip git libc6:i386 libncurses5:i386 libstdc++6:i386 |
| + | ===Установка BYOND=== |
| Дальше мы поставим BYOND для линуксов. | | Дальше мы поставим BYOND для линуксов. |
| | | |
| # На основной машине идем на сайт BYONDa в раздел скачивания [http://www.byond.com/download/ http://www.byond.com/download/] где кликаем правой кнопкой мыши на стабильную или бета-версию клиента для Линукса и жмем "копировать адрес ссылки". | | # На основной машине идем на сайт BYONDa в раздел скачивания [http://www.byond.com/download/ http://www.byond.com/download/] где кликаем правой кнопкой мыши на стабильную или бета-версию клиента для Линукса и жмем "копировать адрес ссылки". |
− | # Затем в командной строке вашего VDS пишем '''wget''', ставим пробел и жмем правую кнопку мыши. Enter. | + | # Затем в командной строке вашего VDS пишем '''wget''', ставим пробел и вставляем ссылку. Enter. |
| # Через пару секунд закачка закончится и нужно будет выполнить команду '''unzip *_byond_linux.zip''' для распаковки архива. | | # Через пару секунд закачка закончится и нужно будет выполнить команду '''unzip *_byond_linux.zip''' для распаковки архива. |
− | # Теперь, чтобы установить BYOND надо выполнить '''cd byond && sudo make install'''. | + | # Теперь, чтобы установить BYOND надо выполнить '''cd byond && make install'''. |
− | # Финальным действием удаляем ставшие ненужными папки с помощью команды '''cd .. && rm -rf *byond*''' | + | # Финальным действием удаляем ставшие ненужными директории с помощью команды '''cd .. && rm -rf *byond*''' |
| + | |
| + | PS. Комбинация команд для установки BOYND одним движением: |
| + | wget [ссылка на линукс-версию BYONDa] && unzip *_byond_linux.zip && cd byond && make install && cd .. && rm -rf *byond* |
| + | Не забудьте убрать '''[''' и ''']'''. |
| | | |
| Отлично, полпути мы прошли. BYOND установлен и по команде '''DreamDaemon -v''' будет показана версия клиента. | | Отлично, полпути мы прошли. BYOND установлен и по команде '''DreamDaemon -v''' будет показана версия клиента. |
| | | |
| + | ===Скачивание кода и запуск сервера=== |
| Теперь скачаем и скомпилируем код станции. | | Теперь скачаем и скомпилируем код станции. |
| # На основной машине идем на гитхаб-страницу желаемой станции и жмем на кнопочку "Clone or Download". Там мы увидим ссылку на этот репозиторий, подозрительно похожий на ссылку на гитхаб-страницу. Разве что в конце будет стоять .git. Это ссылку надо скопировать. | | # На основной машине идем на гитхаб-страницу желаемой станции и жмем на кнопочку "Clone or Download". Там мы увидим ссылку на этот репозиторий, подозрительно похожий на ссылку на гитхаб-страницу. Разве что в конце будет стоять .git. Это ссылку надо скопировать. |
− | # Возвращаемся к полюбившейся(полюбившейся, ясказал!) командной строке и пишем '''git clone''', ставим пробел и жмем правую кнопку мыши. Enter. | + | # Возвращаемся к полюбившейся(полюбившейся, ясказал!) командной строке, пишем '''git clone''', ставим пробел и вставляем ссылку. Enter. |
| # Дожидаемся, когда закончится закачка... | | # Дожидаемся, когда закончится закачка... |
− | # Дождавшись, зайдем в папку со скаченным кодом. Для этого надо выполнить '''cd''', пробел и имя репозитория, что вы качали. Например, для блюбея, чей гитхаб открывается по ссылке [https://github.com/animusdev/Old-World-Blue https://github.com/animusdev/Old-World-Blue], имя репозитория и имя папки будет Old-World-Blue. | + | # Дождавшись, зайдем в директорию со скаченным кодом. Для этого надо выполнить '''cd''', пробел и имя репозитория, что вы качали. Например, для блюбея, чей гитхаб открывается по ссылке [https://github.com/animusdev/Old-World-Blue https://github.com/animusdev/Old-World-Blue], имя репозитория и имя директории будет Old-World-Blue. |
− | # Зайдя в папку компилируем билд командой '''DreamMaker''', пробел и имя .dme файла. Его имя можно глянуть на гитхаб-странице вашей станции. У блюбея этот файл называется '''baystation12.dme''' Кстати, запомните имя вашего .dme файла, оно вам еще понадобится. | + | # Зайдя в директорию компилируем билд командой '''DreamMaker''', пробел и .dme файл. Его имя можно глянуть на гитхаб-странице вашей станции. У блюбея этот файл называется '''baystation12.dme''' Кстати, запомните имя вашего .dme файла, оно вам еще понадобится. |
| # Скомпилировав без ошибок переходим к запуску станции. Для этого используем код '''DreamDaemon [имя .dme файла].dmb [порт] [опции]'''. Для блюбея это было бы '''DreamDaemon baystation12.dmb 2506 -invisible -logself -trusted'''. Заметьте, все опции начинаются со знака '''-''' | | # Скомпилировав без ошибок переходим к запуску станции. Для этого используем код '''DreamDaemon [имя .dme файла].dmb [порт] [опции]'''. Для блюбея это было бы '''DreamDaemon baystation12.dmb 2506 -invisible -logself -trusted'''. Заметьте, все опции начинаются со знака '''-''' |
| ## Рекомендованные опции | | ## Рекомендованные опции |
| ##* invisible - не показывает сервер в клиенте BYONDa, в итоге зайти на ваш сервер можно только по прямой ссылке вида byond://ip-адрес:порт | | ##* invisible - не показывает сервер в клиенте BYONDa, в итоге зайти на ваш сервер можно только по прямой ссылке вида byond://ip-адрес:порт |
− | ##* logself - создает файл [имя .dme файла].log с логом событий в папке с кодом станции. Полезен при выявлении проблем с запуском и работой сервера станции. | + | ##* logself - создает файл [имя .dme файла].log с логом событий в каталоге с кодом станции. Полезен при выявлении проблем с запуском и работой сервера станции. |
− | ##* trusted - доверенный режим, позволяет использовать файлы не только в папке с кодом станции. Если не доверяете проекту, то лучше не использовать. | + | ##* 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 |