Server Startup: различия между версиями

Материал из Tau Ceti Station Wiki
Перейти к навигации Перейти к поиску
(→‎Как запустить сервер на линуксе в облаке: - корректировка стиля написания)
Строка 131: Строка 131:




== Как запустить сервер на линуксе в облаке ==
== Как запустить сервер в облаке на Linux ==
Коротко: Создал в облаке виртуалку, запустил там гуи xfce4, в гуи запустил byond, скомпилил игру, и запустил сам сервер игры в гуе, подключаюсь к гуе из своего домашнего компа через Ultra VNC Viewer
'''Коротко''': Необходимо создать в облаке виртуалку, запустить в ней GUI xfce4, в самом GUI запустить Byond, в Dream Maker скомпилировать билд, а в Dream Daemon запустить свежескомпилированный билд. Родключиться к GUI из своего домашнего ПК можно, к примеру, через Ultra VNC Viewer.


Я воспользовался Яндекс.Облаком для создания виртуальной машинки https://console.cloud.yandex.ru/  
Для создания виртуальной машины можно воспользоваться [https://console.cloud.yandex.ru/ Яндекс.Облаком]


Создал ubuntu 20.04, дал 2 ядра и 2 гига озу, гайды как создать виртуалку в яндексе в инете есть, здесь это не описано.
Создаём ubuntu 20.04, даём 2 ядра и 2гб ОЗУ. Подробные гайды о создании виртуальной машины в Яндексе можно найти в интернете.


Для подключения по ssh я пользовался MobaXterm, качать отсюда https://mobaxterm.mobatek.net/download-home-edition.html
Для подключения по ssh можно использовать [https://mobaxterm.mobatek.net/download-home-edition.html MobaXterm].
<syntaxhighlight lang="bash">
<syntaxhighlight lang="bash">
#Обновим убунту
#Обновляем Ubuntu
sudo apt update && sudo apt upgrade
sudo apt update && sudo apt upgrade
# Установим гуи xfce4, сервер vnc, сам вайн, гит, чтобы скачать саму игру и пара утилит для мониторинга сервера(типа нагрузки там, а вдруг надо ещё добавить оперативки или ядер)
# Устанавливаем GUI xfce4, сервер VNC, сам Wine, Git, чтобы скачать билд и пару утилит для мониторинга ресурсов сервера
sudo apt install wine winetricks zenity git tightvncserver xfce4 xfce4-goodies htop sysstat
sudo apt install wine winetricks zenity git tightvncserver xfce4 xfce4-goodies htop sysstat
# качаем сам byond для компиляции и запуска сервака игры
# Качаем сам byond для компиляции и запуска сервера игры
wget http://www.byond.com/download/build/514/514.1552_byond.exe
wget http://www.byond.com/download/build/514/514.1552_byond.exe
# бэкапим ненужный нам файл
# Делаем резервную копию ненужного нам файла
mv ~/.vnc/xstartup ~/.vnc/xstartup.bak
mv ~/.vnc/xstartup ~/.vnc/xstartup.bak
# пишем свой, EOF это типа начала и конец писанины в файл
# Пишем свой EOF (Что-то вроде начала и конца файла)
cat > ~/.vnc/xstartup << EOF
cat > ~/.vnc/xstartup << EOF
#!/bin/bash
#!/bin/bash
Строка 154: Строка 154:
startxfce4 &
startxfce4 &
EOF
EOF
# даём этому файлу право на запуск
# Даём этому файлу право на запуск
chmod +x ~/.vnc/xstartup
chmod +x ~/.vnc/xstartup
# Задаём пароль для подключения из своей венды.
# Задаём пароль для подключения из своего ПК.
vncserver
vncserver
# Скачиваем саму игру
# Скачиваем сам билд
git clone https://github.com/TauCetiStation/TauCetiClassic.git
git clone https://github.com/TauCetiStation/TauCetiClassic.git
# Перемещаем конфиги для компиляции
# Перемещаем конфиги для компиляции
Строка 167: Строка 167:
EOF
EOF
</syntaxhighlight>
</syntaxhighlight>
Чтобы настроить вайн, я использовал инструкцию по ссылке https://forum.taucetistation.org/t/byond-linux/6302
Чтобы настроить Wine, [https://forum.taucetistation.org/t/byond-linux/6302 пользуемся инструкцией]
<syntaxhighlight lang="bash">
<syntaxhighlight lang="bash">
# Вот тут запускаем сам вайн, должно запуститься отдельное окно
# Вот тут запускаем сам Wine, должно запуститься отдельное окно
winetricks
winetricks
# ребутаем вайн чтобы настройки применились
# Перезагружаем Wine, чтобы настройки применились
wineboot
wineboot
</syntaxhighlight>
</syntaxhighlight>
Дальше лезем сюда и скачиваем Ultra VNC на свой комп https://www.uvnc.com/downloads/ultravnc.html
Далее устанавливаем [https://www.uvnc.com/downloads/ultravnc.html Ultra VNC]. Устанавливаем только Ultra VNC Viewer.


Устанавливаем только Ultra VNC Viewer.


Запускаем Ultra VNC Viewer и подключаемся к созданному серверу по порту 5901. Пример: 12.34.56.78:5901
Запускаем Ultra VNC Viewer и подключаемся к созданному серверу по порту 5901. Например: 12.34.56.78:5901
<syntaxhighlight lang="bash">
<syntaxhighlight lang="bash">
# Запускаем в нём терминал куда вводить команды.
# Запускаем в нём терминал, куда будем вводить команды.
# Applications --> Run Program
# Applications --> Run Program
xfce4-terminal
xfce4-terminal
# Запускаем в нём вайн и устанавливаем всё по умолчанию Next-->Next-->Finish
# Запускаем в нём Wine и устанавливаем всё по умолчанию Next-->Next-->Finish
wine 514.1552_byond.exe
wine 514.1552_byond.exe
# Дальше запускаем DreamMaker инструкция что там делать дальше была выше на странице
# Далее запускаем DreamMaker
# по сути ему надо скормить файл taucetistation.dme и нажать кнопку Compile
# Нужно открыть файл taucetistation.dme и нажать кнопку Compile в меню Build
wine "/home/taucetistation/.wine/drive_c/Program Files (x86)/BYOND/bin/dreammaker.exe"
wine "/home/taucetistation/.wine/drive_c/Program Files (x86)/BYOND/bin/dreammaker.exe"
# Вот тут мы запускаем сам демон, выше была по нему инструкция
# Запускаем Dream Daemon
# Даём ему файл под названием taucetistation.dmb
# Даём ему файл под названием taucetistation.dmb
# Настраивать фаервол не надо, порты по умолчанию открыты
# Настраивать фаервол не надо, порты по умолчанию открыты
wine "/home/taucetistation/.wine/drive_c/Program Files (x86)/BYOND/bin/dreamdaemon.exe"
wine "/home/taucetistation/.wine/drive_c/Program Files (x86)/BYOND/bin/dreamdaemon.exe"
</syntaxhighlight>
</syntaxhighlight>
Полезные команды
 
 
Бывает, что GUI xfce4 "ломается", и окно остаётся серым после подключения, поэтому нужно закрыть окно следующей командой:
<syntaxhighlight lang="bash">
<syntaxhighlight lang="bash">
# У меня ломался гуи xfce4, и окно было серым после подключения, поэтому приходилось его прибивать командой ниже
vncserver -kill :1 (Где :1 - номер окна)
vncserver -kill :1 # где :1 номер окна
 
# И запускаем новое окно
vncserver
# захотелось помониторить нагрузку сервера,
# запустил ниже команду и смотрим цветные полоски сверху,
# если постоянно красное несколько часов,
# значит серверу тяжело,
# надо добавлять ядер, я обычно умножал на два,
# типа было 2 добавил ещё два и стало 4 ядра.
# Если самая нижняя полоска SWP заполнена наполовину,
# то это значит надо добавить оперативки,
# тут я тоже умножал на два.
htop
</syntaxhighlight>
</syntaxhighlight>
В самом яндекс.облаке есть мониторинг сервера, там уже можно по промежуткам смотреть

Версия 12:00, 17 апреля 2021

Как запустить локальный сервер для чайников

Подготовка

1.Загрузите сервер отсюда https://github.com/TauCetiStation/TauCetiClassic и разархивируйте в удобную для Вас папку.

2.Перекиньте все файлы из папки config/example в папку config.

3.В файле admins.txt, который Вы скопировали в папку config вместе со всеми файлами, прописываем свой byond key с рангом Host (он дает все флаги). Пример:

  yourbyondkey - Host 
  volas - Host

(соблюдение capslock обязательно). Перед Вашим byond key не должно быть решетки.

4.Запустите taucetistation.dme

   1.Нажмите CTRL+K (Или Build>Compile) и подождите до окончания компиляции. 
   2.После компиляции должно выдать:
           loading taucetistation.dme
           loading interface\skin.dmf
           loading maps\centcom\centcom.dmm
           saving taucetistation.dmb (DEBUG mode)
           taucetistation.dmb - 0 errors, 0 warnings
     3.В той же папке, что и "taucetistation.dme" появится файл taucetistation.dmb

5.Закройте dreammaker.

Запуск

1.Для запуска сервера запустите клиент BYOND, нажмите на шестеренку, затем нажмите "Start Dream Daemon..." и проследуйте дальнейшим инструкциям:

    1.Выберите "..." в нижнем правом углу и выберите ранее полученный "taucetistation.dmb".
    2.Port оставьте 0 - dream daemon автоматически выберет порт.
    3.Security ставьте trusted. Visibility - private.

2.Нажмите GOGO.png.

Подождите, пока сервер запустится.

3.Нажмите на желтую стрелку(Join)Join.png над красной кнопкой STOP.

4.Наслаждайтесь игрой.

Как сделать свой сервер видимым на byond.com

Вам НЕ НУЖНО платить, чтобы ваш сервер был виден на byond.com!

Чтобы ваш сервер стал виден, измените настройки файла config.

## Put on byond hub: Uncomment this to put your server on the byond hub. 

#HUB

Как запустить локальный сервер для ПРОДВИНУТЫХ

Итак, вы решили захостить свой крутой сервер? Для начала разберемся с Dream Daemon. Функции:

1. Port - порт, может быть любым если у вас открыты все порты по умолчанию(192.168.1.1 проверьте firewall), при установке 0, Dream Daemon выберет порт сам.

2. Security - безопасность:

  • trusted - фактически дарует подключившимся доступ к файлам сервера.
  • safe - штатный режим, самый лучший.
  • ultrasafe - повышенная мера безопасности, ни в коем случае не ставьте ее, тогда вам придется КАЖДЫЙ запрос разрешать вручную.

3. Visibility - видимость:

  • private - сервер на который можете зайти вы и ваши друзья.
  • public - сервер на который могут зайти все. (без проведения особых процедур он не будет отображаться в разделе SS13 и будет работать как и в режиме invisible, но об этом позже)
  • Invisible - каждый у кого есть ссылка может зайти на сервер.


Часто задаваемые вопросы

  • Я запустил сервер в режиме public, но он не отображается! Что делать?
  Все дело в том, что вам нужно ввести специальный пароль, для этого:
    1. Откройте Dream Maker
    2. В папке code откройте файл hub.dm
    3. Вместо SORRYNOPASSWORD введите kMZy3U5jJHSiBQjr
    Готово! Если все еще не работает, то вам следует провести/открыть порты.
  • Как провести/открыть порты?
  Все зависит от вашего роутера и от того, какой у вас IP - статичный или динамичный
  Если статичный то:
    1. В вашем браузере напишите 192.168.1.1 (Чаще всего 192.168.1.1, но может быть и 192.168.0.1 итп, если 192.168.1.1 не открывается, начинайте с пункта 3)
    2. В окно логин введите admin, в окно пароль введите password. (Именно admin и password)
    3. В пуске напишите cmd
    4. В cmd напишите ipconfig  и найдите IpV4 адрес а также standartgateway
    5. В 192.168.1.1 (Или в том, что указано в standartgateway) найдите security&fireallw
    6. Найдите portforwarding 
    7. Впишите свой IpV4 и дайте доступ ко всему.
  Если же динамичный, то просто пройдите на portforward.com, найдите свой роутер и откройте порты.
  Готово! Теперь ваш сервер работает!
  • Наиболее полезные команды для начинающих админов локалочки:
     1. Server -> Start Now: запустить раунд немедленно
     2. Server -> Restart: перезапустить раунд
     3. Admin -> Aghost: выйти из тела (чтобы потом можно было в него вернуться)
        3.1. Чтобы вернуться в тело перетащите ЛКМ свой призрак на тело или еще раз нажмите Admin -> Aghost
     4. OOC -> Respawn: войти в раунд другой куклой
     5. Admin -> Secrets -> Fun Secrets -> Power All SMES: зарядить все СМЕСы
  • Не отображаются картиночки в вендоматах / латах / etc
  Запускайте локалочку на Линукс
     За нарезание спрайтов отвечает питоновый (python3) скрипт, вызываемый через функцию shelleo из code/modules/ext_scripts/shell.dm
     Функция shelleo сейчас написана только для хостов на *nix

Как сделать себя админом

  1. Копируем файлы из папки "Example" в папку уровнем выше - "Config"
  2. Открываем файл "admins.txt"
  3. В конец документа добавляем строку в стиле "CKey (Это имя Byond-аккаунта) - ранг". Посмотреть ранги и их права можно в файле "admin_ranks.txt"








Как запустить сервер в облаке на Linux

Коротко: Необходимо создать в облаке виртуалку, запустить в ней GUI xfce4, в самом GUI запустить Byond, в Dream Maker скомпилировать билд, а в Dream Daemon запустить свежескомпилированный билд. Родключиться к GUI из своего домашнего ПК можно, к примеру, через Ultra VNC Viewer.

Для создания виртуальной машины можно воспользоваться Яндекс.Облаком

Создаём ubuntu 20.04, даём 2 ядра и 2гб ОЗУ. Подробные гайды о создании виртуальной машины в Яндексе можно найти в интернете.

Для подключения по ssh можно использовать MobaXterm.

#Обновляем Ubuntu
sudo apt update && sudo apt upgrade
# Устанавливаем GUI xfce4, сервер VNC, сам Wine, Git, чтобы скачать билд и пару утилит для мониторинга ресурсов сервера
sudo apt install wine winetricks zenity git tightvncserver xfce4 xfce4-goodies htop sysstat
# Качаем сам byond для компиляции и запуска сервера игры
wget http://www.byond.com/download/build/514/514.1552_byond.exe
# Делаем резервную копию ненужного нам файла
mv ~/.vnc/xstartup ~/.vnc/xstartup.bak
# Пишем свой EOF (Что-то вроде начала и конца файла)
cat > ~/.vnc/xstartup << EOF
#!/bin/bash
xrdb $HOME/.Xresources
startxfce4 &
EOF
# Даём этому файлу право на запуск
chmod +x ~/.vnc/xstartup
# Задаём пароль для подключения из своего ПК.
vncserver
# Скачиваем сам билд
git clone https://github.com/TauCetiStation/TauCetiClassic.git
# Перемещаем конфиги для компиляции
cp -R ~/TauCetiClassic/config/example/* TauCetiClassic/config/
# Добавляем админа
cat >> ~/TauCetiClassic/config/admins.txt << EOF
User_name - Privilage
EOF

Чтобы настроить Wine, пользуемся инструкцией

# Вот тут запускаем сам Wine, должно запуститься отдельное окно
winetricks
# Перезагружаем Wine, чтобы настройки применились
wineboot

Далее устанавливаем Ultra VNC. Устанавливаем только Ultra VNC Viewer.


Запускаем Ultra VNC Viewer и подключаемся к созданному серверу по порту 5901. Например: 12.34.56.78:5901

# Запускаем в нём терминал, куда будем вводить команды.
# Applications --> Run Program
xfce4-terminal
# Запускаем в нём Wine и устанавливаем всё по умолчанию Next-->Next-->Finish
wine 514.1552_byond.exe
# Далее запускаем DreamMaker
# Нужно открыть файл taucetistation.dme и нажать кнопку Compile в меню Build
wine "/home/taucetistation/.wine/drive_c/Program Files (x86)/BYOND/bin/dreammaker.exe"
# Запускаем Dream Daemon
# Даём ему файл под названием taucetistation.dmb
# Настраивать фаервол не надо, порты по умолчанию открыты
wine "/home/taucetistation/.wine/drive_c/Program Files (x86)/BYOND/bin/dreamdaemon.exe"


Бывает, что GUI xfce4 "ломается", и окно остаётся серым после подключения, поэтому нужно закрыть окно следующей командой:

vncserver -kill :1  (Где :1 - номер окна)