Перейти к содержимому


Поднимаем станцию своими руками на примере Ubuntu 18.04

маленькие мальчики

  • Авторизуйтесь для ответа в теме
Сообщений в теме: 12

#1 Valtos

Valtos

    2D-космонавтик

  • Employee
  • 205 сообщений
  • Byond:valtosss

Отправлено 15 April 2019 - 09:58

Эта памятка создана для тех, кто в будущем захочет поднять свой "анемаз". Тому, кто занимается этим давно может пригодиться только список нужных библиотек и трики, всё остальное уже и так разжевано на форумах бьёнда. За основу будет взят мой опыт по настройке всего этого под Ubuntu Linux 18.04. Беру я её из-за простоты в настройке и меньшей вероятностью в возможном пердолинге с конфигами.

Хостинг
Выбираете сами, но могу посоветовать тот же DigitalOcean с более-менее адекватным ценником, либо облачко от Яндекса, если вы рисковый парень. Также внимательно смотрите на скорость процессора, она должна быть описана, чем она больше - тем бодрее двигается ваша станция. Многие хостинги любят резать процессор в половину и более (Amazon режет процессор в 30% на триале, будьте внимательны), либо подсовывают магнитные ленты вместо SSD дисков со скоростью записи/чтения в 1 байт/25 лет.

Первоначальная настройка
Думаю, процесс с созданием машины и подключением к ней вы найдёте в интернете.
Для удобства работы с сервером могу посоветовать Xshell и его лучшего друга Xftp. Если вы сейчас работаете под линуксом и не понимаете как это сделать, то могу вам посоветовать застрелиться нахуй.
Итак, подключаемся к нашей новенькой горяченькой и чистенькой машине.

Первым делом создадим учётку юзера, установим пароль и выдадим ему права на выполнение команд от лица рут-пользователя, под рутом работать никому не советую, а если вы и делаете это, то вы квалифицированный специалист и просто знаток, либо олигофрен и у вашей матери рак жопы:
adduser zlofenix
passwd zlofenix
usermod -aG sudo zlofenix
su zlofenix

Уже лучше. Выполним сразу же обновление системы и установим необходимые пакеты для дальнейшей работы:
sudo apt update && sudo apt dist-upgrade && sudo apt autoremove
sudo dpkg --add-architecture i386
sudo apt update && sudo apt install screen language-pack-ru unzip make git libc6:i386 libncurses5:i386 libstdc++6:i386 zlib1g:i386 libssl-dev:i386 python3 mariadb-server

Включены все необходимые пакеты для работы бьёнда. Меняем локаль на нужную. Конкретно нам нужна руснявая ru_RU.UTF-8:
sudo nano /etc/default/locale

Можно приступать к развёртке бьёнда.

Развёртывание BYOND
Нам нужно взять этот BYOND. Брать мы его будем отсюда: http://www.byond.com...download/
Конкретно на дату написания этой статьи мы будем использовать актуальную последнюю версию с номером 512.1466:
wget http://www.byond.com/download/build/512/512.1466_byond_linux.zip
unzip 512.1466_byond_linux.zip
rm 512.1466_byond_linux.zip
cd byond/

Теперь установим это:
sudo make install
DreamDaemon

Если выводится справочная информация, то поздравляю - бьёнд развёрнут. Иначе отпишитесь в теме приложив вывод ошибки.

Разворачиваем билд
У каждого билда свой анальный способ доведения его в рабочее состояние, но мы же возьмём за пример оригинальный /tg/. Тут всё просто.
Клонируем репу локально:
git clone --depth=1 https://github.com/tgstation/tgstation manyastation/

Поправим конфиги... Как править конфиги? Да хуй знает, я вам всевидящее око что-ли?
Теперь мы скомпилируем и запустим наш шедевр:
DreamMaker tgstation.dme
screen DreamDaemon tgstation.dmb 1488 -trusted

Первая команда компилирует, вторая уже запускает. Должно срать ошибками. Всё из-за недостающих либ для /tg/. Выложить скомпилированные под разные билды мне не позволяет моя совесть и лимит размера файлов на форуме. Так что будем делать это ручками. Возьмём в пример rust_g. Что он делает? Уменьшает нагрузку на бьёнд в плане логгирования. В README.md либы уже описано как её компилировать, дублировать тут не буду. Допустим, есть у нас эта библиотека, закинули мы её в папку с билдом и... нихуя, опять срёт.
Проблема в том, что бьёнд не видит её и также у неё нет прав на запуск. Исправляем это так:
chmod +x rust_g
export LD_LIBRARY_PATH=/home/zlofenix/manyastation/

Теперь должно логгировать как надо. Как делать другие либы ищите там где их берёте. Один хуй всё написано долбоёбами криворукими и будет срать разными ошибками, которыми нужно бить в ебало разработчику этой хуйни.

Решение проблем с корявыми логами, которые пишутся хуй знает куда. Берём вот https://github.com/V.../scripts/psv.py этот скрипт и кидаем его в папку data/ нашей станции. Он конвертирует логи в нечитабельное говно, но уже разбивает их как надо. Для конвертирования нужно дать скрипту ID-раунда:
python3 psv.py 42

Как сделать их чуть более читабельными? Да хуй знает. Попробуйте в .html перевести, может лучше станет.

Базы
Мы же установили mariadb...
Да, поднять базу тоже стоит, если вы не собираетесь играться только одни сутки. Я этот процесс не буду расписывать, могу лишь добавить некоторые трики для корректной работы /tg/.

Создавать базу нужно в кодировке latin1:
CREATE DATABASE manyastationthebest CHARACTER SET latin1 COLLATE latin1_swedish_ci;

Mysql отвечает, что ты пидор при попытке подключиться?
sudo systemctl stop mariadb.service
sudo mysqld_safe --skip-grant-tables --skip-networking &
mysql -uroot


Так мы запустили её в безопасном режиме. Теперь установим пароль.
FLUSH PRIVILEGES;
SET PASSWORD FOR root@'localhost' = PASSWORD('mypasswordis12345');
QUIT;

Перезапустим её.
sudo systemctl restart mariadb.service

И оно не будет работать. Так как нет доступного сокета.
sudo ln -s /var/run/mysqld/mysqld.sock /tmp/mysql.sock

Теперь должно.

Ъъъъъъьъъъъъъъ
Всё же, если вы так нихуя и не смогли сделать, то лучше попросите это сделать других. Естественно не за бесплатно.

Скрытый текст

Сообщение отредактировал Valtos: 26 April 2019 - 13:54

Скрытый текст

#2 Hellrole

Hellrole

    Griefing Is Magic

  • Employee
  • 975 сообщений
  

Отправлено 15 April 2019 - 10:35

На тёмной теме нечитабельно.
Скрытый текст

#3 joctopus

joctopus

    Убивает третий сервер

  • Employee
  • 536 сообщений
  • ГородСеван

Отправлено 15 April 2019 - 12:04

Ты, случаем, не забыл один важный пункт? Для того, чтобы нормально развернуть буенд, надо перед make выполнить следующее:
sudo dpkg --add-architecture i386
sudo apt-get update
sudo apt-get install lib32z1 lib32ncurses5

Stay robust.


#4 оникс_админ0

оникс_админ0

    Wubba lubba dub dub

  • Employee
  • 3776 сообщений
  • Discord:https://discord.gg/ZZqSwK2
  • ГородВайтран
     

Отправлено 15 April 2019 - 18:17

Просмотр сообщенияHellrole (15 April 2019 - 10:35) писал:

На тёмной теме нечитабельно.
Темная тема не нужна, кстати.

А по теме, все проще. Пользуешься услугами норм провайдера, запускаешь свой шindoшs 1984, порты-хуерты, дрим димон, зеленая кнопошка - готово. Потом убеваеш.

Просмотр сообщенияalexix (23 September 2017 - 18:39) писал:

Мне всегда нравился дервен и его непредсказуемость. Он одновременно и идиот, и гений.

#5 ZLOFENIX

ZLOFENIX

    Генерал пальма

  • Employee
  • 1590 сообщений

Отправлено 15 April 2019 - 18:37

>sudo apt update &
Ты ебанутый фоном пускать апдейт, даже без -y?


#6 HindyMint

HindyMint

    В ожидании чуда.

  • Employee
  • 1636 сообщений

Отправлено 15 April 2019 - 18:41

А еще можно у провайдера статик заказать и со своей же машины хостить когда надо.

#7 ZLOFENIX

ZLOFENIX

    Генерал пальма

  • Employee
  • 1590 сообщений

Отправлено 15 April 2019 - 18:48

Просмотр сообщенияHindyMint (15 April 2019 - 18:41) писал:

А еще можно у провайдера статик заказать и со своей же машины хостить когда надо.
Да можно и динамик, главное чтоб белый, с чем нынче проблемы, во всяком случае у росгейтелекома.


#8 Warden

Warden

    2D-космонавтик

  • Employee
  • 411 сообщений

Отправлено 15 April 2019 - 18:48

Просмотр сообщенияSuper-Derven (15 April 2019 - 18:17) писал:

Шindoшs-user в треде, я спокоен.

#9 HindyMint

HindyMint

    В ожидании чуда.

  • Employee
  • 1636 сообщений

Отправлено 15 April 2019 - 19:55

Просмотр сообщенияZLOFENIX (15 April 2019 - 18:48) писал:

Да можно и динамик, главное чтоб белый, с чем нынче проблемы, во всяком случае у росгейтелекома.
Ну оно просто часто у провайдеров в одном комплекте идёт, по крайней мере у моего было так.

#10 Valtos

Valtos

    2D-космонавтик

  • Employee
  • 205 сообщений
  • Byond:valtosss

Отправлено 15 April 2019 - 23:39

Просмотр сообщенияZLOFENIX (15 April 2019 - 18:37) писал:

>sudo apt update &
Ты ебанутый фоном пускать апдейт, даже без -y?
Отредактировал. Мне твой ckeditor кашу из шрифтов делает, может обновишь?
Скрытый текст

#11 ZLOFENIX

ZLOFENIX

    Генерал пальма

  • Employee
  • 1590 сообщений

Отправлено 17 April 2019 - 17:54

Просмотр сообщенияValtos (15 April 2019 - 23:39) писал:

Отредактировал. Мне твой ckeditor кашу из шрифтов делает, может обновишь?
Эту некрофилию некуда обновлять уже лет 5 как.


#12 Nonne

Nonne

    Ассистент

  • Employee
  • 21 сообщений

Отправлено 27 April 2019 - 20:44

Просмотр сообщенияValtos (15 April 2019 - 09:58) писал:

Создавать базу нужно в кодировке latin1:
CREATE DATABASE manyastationthebest CHARACTER SET latin1 COLLATE latin1_swedish_ci;


А как быть с хранением книг на русском? По моему, latin1 не поддерживает киррилицу.
Скрытый текст
Скрытый текст

#13 Valtos

Valtos

    2D-космонавтик

  • Employee
  • 205 сообщений
  • Byond:valtosss

Отправлено 29 April 2019 - 15:15

Просмотр сообщенияNonne (27 April 2019 - 20:44) писал:

А как быть с хранением книг на русском? По моему, latin1 не поддерживает киррилицу.
Как раз таки поддерживает в том виде, в котором она нужна бьёнду. Как и всё остальное.
Скрытый текст


Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных