Меню Рубрики

Запуск сервера wow linux

Запуск сервера wow linux

сервер WoW под Linux

Запускать сервер будет ManGOS, собирать конечно же из SVN
Нам понадобится:

не забываем установить и запомнить root-пароль к MySQL
Все это без проблем ставится из репозитория.

Для выковыривания ресурсов понадобится:

  • Для распаковки DBC потребуется утилита WinMPQ http://wow.curse.com/downloads/details/4454/
  • Для распаковки карт утилита ad.exe (обязательно свежая!) https://mangos.svn.sourceforge.net/svnroot/mangos/trunk/contrib/map_extractor/ad.exe
  • Утилиты для выковыривания и сборки vmap (https://mangos.svn.sourceforge.net/svnroot/mangos/trunk/contrib/vmap_assembler/ )

Ну и последнее, что нам понадобится — это база NPC. Я предпочитаю UDB. (http://udbforums.org)
Теперь можно приступать.

= Сборка сервера =

все делаем под пользователем

пишем небольшой скриптик для получения свежих исходников ManGOS и ScriptDev2

обычно нужные исходники получаются так:
$ svn checkout https://mangos.svn.sourceforge.net/svnroot/mangos/trunk mangos
$ svn checkout https://scriptdev2.svn.sourceforge.net/svnroot/scriptdev2 mangos/src/bindings/ScriptDev2

(необходимо использовать самую старшую версию патча)

$ autoreconf —install —force
$ ./configure —prefix=/opt/mangos

Если что-то нехватает — доставляем, после успешного конфигурения
$ make
$ sudo mkdir -p /opt/mangos
Сделаем себя владельцем папки
$ sudo chown [user].[usergroup] /opt/mangos
установка
$ make install

ScriptDev2 — это мозги для боссов и охраны городов, без него боссы ведут себя как обычные статисты.


Сразу оговорюсь, у меня нет проблем с использованием Windows, но все упомянутые утилиты без проблем работают через wine

maps:
копируем ad.exe в папку с WoW, создаем папку maps (там же, в папке с клиентом) из запускаем ad.exe

dbc:
создаем папку dbc,
запускаем WinMPQ (для тех, кто запускает из-под wine, учтите что она использует GUI)
открываем файл WoW/Data/*lang*/locale-*lang*.MPQ (вместо * свой язык)
выделяем файлы начинающиеся с DBCFilesClient и сохраняем их (Extract) в созданную папку dbc
Если версия клиента заканчивается не на 0 (напр 2.3.3) —
достаем DBC из патчей: точно так же, но (обязательно!) соблюдая порядок обрабатываем файлы
patch-*lang*.MPQ [и patch-*lang*-2.MPQ], сохраняя DBC в ту же папку с заменой более старых. Повторюсь, очередность соблюдать обязательно, и обрабатывать патчи в порядке возрастания их номеров.

vmaps (необязательно):
запускаем makevmaps_SIMPLE.bat правильно отвечаем на все вопросы и долго ждём.

копируем на сервер все полученные ресурсы
WoW/maps в /opt/mangos/data/maps
dbc в /opt/mangos/data/dbc
WoW/vmap/vmaps в /opt/mangos/data/vmaps

прежде чем выполнять команды дочитайте абзац до конца!

Для первой установки все просто:
запускаем скрипты:

  • create_mysql.sql
  • characters.sql
  • mangos.sql
  • realmd.sql

из папки /opt/mangos/share/mangos/sql
$ cd /opt/mangos/share/mangos/sql
$ mysql -uroot -p ревизии в которой он появился]_[ базы к которой нужно применить]_[ таблицы которую он исправляет]. sql
названия апдейтов к SD2 отличаются, но смысл у них тот же, и применять их также необходимо.

после наложения все патчей на базу можно приступать к конфигурации сервера

все конфигурационные файлы хранятся в папке /opt/mangos/etc/
собсно их 3
mangos.conf — основной конфиг
realmd.conf — конфиг реалмд (авторизационного сервера)
scriptdev2.conf — конфиг SD2, как несложно догадаться

в последних двух необходимо уточнить данных MySQL сервера, А
в mangos.conf
нужно включить vmaps
vmap.enableLOS = 1
vmap.enableHeight = 1

по желанию поменять порт, bind-ip, ну и конечно же рейты. Конфиг достаточно хорошо документирован и проблем возникнуть не должно,
Замечу, что желательно отключить WorldLog
WorldLogFile = «»
т.к. он у меня (и не только) за несколько часов разрастался до фантастических (в несколько Гб) размеров

последний шаг, обновление реамлиста:
$ mysql -u root -p realmd -e «UPDATE realmlist SET name='[Название реалма]’, address='[IP или DNS адрес World-сервера]’ WHERE/>
= Запуск =

теперь можно запускать:
$ cd /opt/mangos/bin/
$ ./mangos-realmd

и на другой консоли:
$ ./mangos-worldd

если все сделано правильно (особенно с базами) — то ошибок быть не должно.

worldd может иногда вываливаться, это его нормальное состояние, поэтому желательно
перезапускать его. Я перепробовал много разных вариантов (с выгриповыванием PIDa по крону в тч),
но остановился на простейшем бесконечном цикле:
worldd.sh:

#!/bin/bash
while [ true ]
do
./mangos-worldd
echo Attempting to restart.
sleep 10
done

по желанию можно доработать, чтобы проверялись флаги.
запускать желательно в screen-сесссии
$ screen -AmdS mangos worldd.sh
после можно соединиться командой
$ screen -x mangos
точно также можно поступить и с realmd, но он достаточно стабилен и на моей памяти ниразу не вываливался, без моего желания.

Для полноценного сервера нехватает только веб-морды для регистрации и контроля игроков.
В качесте онной предлагаю использовать ManGOS MiniManager
Для его работы необходим apache2, libapache2-php5, php5-mysql, конфигурация минимальная, работоспособность проверенная.

Источник

Установка сервера World Of Warcraft 3.3.5 на ubuntu 18.04

Захотелось мне вспомнить старые пейзажи. Да и просто занять чем-то руки и голову, и решил я на свой простаивающий домашний сервачок нагнать ужаса ледяного, от Короля Личей… Короче, решил сервер WOW поднять под linux. Поглядел чего из эмуляторов есть, почитал мануал, да и запустил. Запустил Trinity Core 3.3.5 версию на ubuntu 18.04. О чем вам и спешу рассказать.

1. Установка ПО:

2. Выключение STRICT_MODE в Mysql 5.7 (требуется для работы TrinityCore)

Содержимое файла:

3. Создаем пользователя и заходим под ним:

4. Скачиваем Trinity Core

5. Компиляция сервера

Смотрим что исходники (директория /home/wow/TrinityCore и её содержимое) на месте. У меня почему-то её не оказалось. Пришлось клонировать заново.

6.Копируем конфигурационные файлы из шаблонов

7. Извлекаем ресурсы из клиента

Где искать клиент 3.3.5 — дело сугубо лично ваше. По интернету их полным полно

Извлекаем DBC и файлы карт:

изменить datadir c «.» на «/home/wow/server/data»

Извлекаем Визуальные карты:

Далее в той же директории клиента продолжаем:

Примечание: если остановить работу vmap4extractor до завершения, то нужно будет удалить директорию Buildings прежде чем начать заново извлечение vmaps.

По завершению работы, которая в зависимости от железа может занять длительное время, вы получите сообщение что-то типа такого:

Это нормально. Главное что нет ошибок.

Извлечение карт передвижений

Опиционально, делается еще дольше чем vmaps, но рекомендуется.

8. Настройка базы данных для Trinity

Идем по адресу: https://github.com/TrinityCore/TrinityCore/releases
Находим последний релиз TDB 335, копируем ссылку на 7z архив далее:

Создадим пользователя и БД:

mysql > USE mysql;
mysql > CREATE USER ‘trinity’@’localhost’ IDENTIFIED BY ‘password’;
mysql > GRANT ALL PRIVILEGES ON trinity .* TO ‘trinity’@’localhost’; mysql > FLUSH PRIVILEGES;

Экcпортируем в mysql файл create_mysql.sql

Поправить /home/wow/server/etc/worldserver.conf и /home/wow/server/etc/authserver.conf указав пользователь;бд;пароль :

Заменить trinity;trinity;trinity на trinity;trinity;password

Далее БД должна экспортироваться при первом запуске world сервера.

9. ОПЦИОНАЛЬНО: проброс портов, открытие портов:

для 3.3.5 используются порты: 3724 и 8085

10. Запуск сервера

11. Создание аккаунта и назначение GM

Выполняется в консоли worldserver

12. Настройка клиента

Откройте realmlist.wtf внутри директории клиента World of Warcraft\Data. IP адрес внутри файла realmlist.wtf должен быть адресом вашего сервера.
Измените строку: set realmlist X.X.X.X
Например: set realmlist 127.0.0.1
Опционально: если хотите использовать WoW Launcher.exe для запуска клиента, то вы должны установить patchlist тот же ip/dns что и для вашего сервера.

В итоге.

Надеюсь у вас всё получилось, мой сервер запущен, все шаги я записывал, хотя мог что-то напутать или забыть.

Осталось подождать пока будет время зайти в игру и лично убедиться что всё работает. Пишите, кидайте скрины с вашей игры 😉

Источник

Запуск сервера wow linux

Поскольку материал получился очень объёмный, решено было добавить оглавление:

Полезное:

  • Локализация игрового мира
  • Как обновить сборку сервера
  • Не хватает библиотек .dll
  • Проброс портов — важно
Работоспособность:

  • Подробнее о сборке
  • Что значат проценты?
Полезное:

  • Локализация игрового мира
  • Как обновить сборку сервера
  • Не хватает библиотек .dll
  • Проброс портов — важно
Работоспособность:

  • Подробнее о сборке
  • Что значат проценты?

Устанавливать будем сервер версии 3.3.5a. (билд: 12340) на свой домашний компьютер с ОС Linux, а именно Ubuntu Server 14.04 LTS.

Данный материал — это перевод Installation Guide от TrinityCore с моими пояснениями, советами и скриншотами. Если вы хотите использовать его на своём сайте, пожалуйста укажите ссылку на эту страницу и первоисточник. Спасибо!

Другое по Linux:

  • Установка CS:GO на OS Linux
  • Установка Minecraft на OS Linux
  • Привязка NO-ip на OS Linux — важно
Удалённое подключение:

  • Putty. Читать инструкцию
Другое по Linux:

  • Установка CS:GO на OS Linux
  • Установка Minecraft на OS Linux
  • Привязка NO-ip на OS Linux — важно
Удалённое подключение:

  • Putty. Читать инструкцию

В этом материале я расскажу как на серверной машине с установленной ОС Ubuntu Server 14.04 LTS скачать и скомпилировать ядро сервера, создать и наполнить базу данных и в дополнении напишу о том как привязать свой динамический ip к хосту no-ip.

Всё это я буду делать удалённо, с помощью Putty, но Вы можете делать всё это на своём домашнем компьютере.

Поиск доступных серверов по всем версиям WoW. Хостинг и серверные машины.

Поиск доступных серверов по всем версиям WoW. Хостинг и серверные машины.

  • ОС Linux, у меня Ubuntu Server 14.04.
  • HeidiSQL для загрузки базы данных — тык.
  • Если будете ставить сервер удалённо, то ещё: Putty и FileZilla.
  • Boost версии 1.49 или выше.
  • MySQL версии 5.1.0 или выше.
  • OpenSSL версии 1.0.0 или выше.
  • CMake версии 2.8.9 или выше.
  • GCC версии 4.7.2 или выше.

Всё это мы установим через терминал. Так же необходим процессор с поддержкой SSE2.

Ставим Blizzlike сервер, то есть сервер максимально приближенный по рейтам, статам и работоспособности к официальному.

Я уже написал какую операционную систему и какой софт мы будем использовать, поэтому перейдём к делу. Откроем Putty или Terminal (если Linux на Вашем компьютере) и обновим файлы системы:

sudo apt- get update && apt- get upgrade

Это мы сделали чтобы не было проблем в будущем. Теперь приступим к установке необходимого софта, пишем:

sudo apt- get install build-essential autoconf libtool gcc g++ make cmake git-core wget p7zip-full libncurses5-dev zlib1g-dev libbz2-dev

Соглашаемся с условиями установки:

Дальше устанавливаем сервер для нашей базы данных, пишем:

sudo apt- get install openssl libssl-dev mysql-server mysql-client libmysqlclient-dev libmysql++-dev libreadline6-dev

Так же соглашаемся с условиями:

После этого нас попросят задать пароль для подключения к серверу MySQL. Я пишу стандартный ascent. Вы можете выбрать любой, какой пожелаете. Выглядит это так:

И в следующем окне подтверждаем выбранный пароль, повторно введя его:

Таким образом у нас сейчас получились следующие данные для подключения к серверу MySQL:

И последнее, что нам осталось поставить, это:

sudo apt- get install libboost-dev libboost-thread-dev libboost-system-dev libboost-filesystem-dev libboost-program-options-dev libboost-iostreams-dev

И снова соглашаемся с условиями установки:

И ждём завершения установки. Готово! С подготовкой закончили. Дальше всё будет не сложнее этого.

Сейчас, когда мы подготовили нашу серверную машину к установке, нам нужно скачать ядро сервера WoW:wotlk 3.3.5a с репозитория TrinityCore на GitHub. Потом скопмпилить его и установить.

Здесь тоже нет ничего сложного, главное сделать всё правильно.

Но перед тем как начнём заниматься ядром, создадим нового пользователя в системе. У меня это будет wow. Вы же можете придумать своего, главное помните, что в linux учитывается регистр. Пишем:

После этого нам надо будет указать информацию о новом пользователе, я почти ничего не заполнял кроме пароля, будет вот так:

Теперь когда создали нового пользователя с которым будем работать, идём в домашнюю директорию и скачиваем ядро. Для этого пишем:

/
git clone -b 3.3.5 git://github.com/TrinityCore/TrinityCore.git

Ждём пока скачаются файлы с репозитория TrinityCore:

После этого входим в директорию TrinityCore, создаём там build и входим. Для этого пишем:

cd TrinityCore
mkdir build
cd build

И теперь нам нужно «собрать» команду cmake.

sudo cmake ../ -DCMAKE_INSTALL_PREFIX=/home/wow/server -DCONF_DIR=/home/wow/server/etc -DLIBSDIR=/home/wow/server/lib -DWITH_WARNINGS=1 -DSERVERS=1

Вы тоже можете использовать именно эту команду (рекомендую), но так же можете написать свою. Всё необходимое я дам ниже.

Команда cmake выглядит так:

cmake ../ [дополнительные параметры]

Некоторые параметры cmake:

-DSERVERS=1 // создаст worldserver и authserver
-DTOOLS=1 // создаст экстракторы maps, vmaps, mmaps
-DWITH_WARNINGS=1 // показывает все предупреждения во время компиляции
-DWITH_COREDEBUG=1 // включит дополнительный код-отладки в ядро
-DCMAKE_INSTALL_PREFIX=/home/user/server // путь к серверу
-DCONF_DIR=/home/user/etc // путь к конфигурационным файлам сервера
-DLIBSDIR=/home/user/server/lib // путь к файлам библиотек

Пишем команду, которую Вы выбрали и в конце выполнения видим:

После того как всё сконфигурировано и проверено нужно собрать ядро. Для этого сначала пишем:

make // если процессор одноядерный
// либо
make -j N // где N — это число ядер.
// Например: make -j 2 для двухъядерного процессора.

И теперь устанавливаем:

В конце Вы увидите что-то вроде этого:

Готово! Если Вы сделали всё правильно, то воспользовавшись FileZilla можно посмотреть структуру нашего сервера:

  • На форуме есть тема — как пользоваться FileZilla.
  • Так же можно посмотреть структуру командой ls -l, перейдя в директорию с сервером через Putty.

У нас уже установлен MySQL сервер, а значит теперь нам нужно загрузить базу данных нашего сервера. Тут есть два варианта:

  • Вы делаете это на своём компьютере.
  • Вы делаете это удалённо на другом компьютере.

Если первый вариант, то всё круто. Сразу переходите непосредственно к загрузке бд. Если же, как и у меня, второй вариант, то сначала нам надо дать удалённый SSH доступ к MySQL. Этим и займёмся!

Сначала открываем порт 3306, для этого пишем:

sudo iptables -A INPUT -i eth0 -p tcp -m tcp —dport 3306 -j ACCEPT

И проверяем доступность с помощью следующей команды:

sudo netstat -anltp|grep : 3306

Если всё хорошо, то Вы увидите следующее:

Теперь создадим SSH туннель для порта 3307, через который и будем подключаться. Пишем:

sudo ssh -fNg -L 3307:127.0.0.1:3306 azureuser@norb-gsa // обратите внимание, что вместо azureuser@norb-gsa у Вас будут свои данные здесь.

Во время создания туннеля, Вас попросят ввести пароль root-пользователя:

Теперь осталось только открыть порт и можно подключаться.

Если Вы имеете доступ к роутеру, то наверняка Вам будет полезна тема о том как пробросить порты.

Если у Вас, как и у меня, есть доступ к панели управления VDS, то пробрасывайте порты там. У меня это выглядит так:

Для подключения я буду использовать программу HeidiSQL ссылку на скачивание которой, Вы найдёте в самом верху если ещё не скачали. Итак, открываем программу и вписываем наши данные для подключения:

  • Hostname/IP — хост или ip-адрес нашей серверной машины. (если делаете на своём компьютере, то пишите 127.0.0.1 или localhost)
  • User — пользователь MySQL. (у нас root)
  • Password — пароль для подключения к MySQL. (у нас ascent)
  • Port — порт для соединения. (3307 если удалённо и 3306 если у себя на компьютере)

Когда заполнили нажимаем кнопку Open. Если всё сделано правильно, откроется следующее окно:

Отлично! Теперь нам нужно создать базы данных, в которых будут храниться данные нашего сервера. Для этого в левой колонке нажимаем на пустом месте правой кнопкой мыши и выбираем Create new —> Database. Лучше всего будет увидеть, поэтому вот:

Сервер World of Warcraft: Wrath of the Lich King 3.3.5a на ядре TrinityCore требует для работы три базы данных, а именно:

  • auth — содержит информацию об аккаунтах и realm. (логины, пароли, уровень GM-доступа, realmlist и т.д.)
  • characters — содержит всю информацию о персонажах. (инвентарь, банк, аукцион и т.д.)
  • world — содержит игровой мир. (npc, квесты, объекты и т.д.)

Все три создаются одинаково. Я покажу как я создавал базу auth:

Когда закончите создавать все три, должно получиться вот так:

Итак у нас есть три пустых базы которые нужно заполнить. Сначала разберёмся с самой большой — world. SQL-файл этой базы можно скачать в самом начале урока, причём я рекомендую скачивать новый. На сайте community.trinitycore.org вы найдёте новую версию базы данных для 3.3.5 и на её странице увидите следующее:

Итак с базой world разобрались. Теперь остались ещё две. Открываем FileZilla и подключаемся к нашему удалённому хосту, как мы уже делали. (либо же просто заходим в нужную директорию, если Вы делаете всё на своём компьютере)

Если Вы всё делали как я, то идём по следующему пути:

/home/user/TrinityCore/sql/base
*user — это ваша основная учётная запись. (у меня это azureuser)

Там мы найдём auth_database.sql и characters_database.sql — это то, что нам нужно. Копируем их к себе, например туда же куда разархивировали базу world. Должны получиться следующие три файла:

Теперь нам надо загрузить их на наш сервер. Для это возвращаемся в HeidiSQL и выбираем базу world. (кликаем по ней левой кнопкой мыши для выбора) После этого ищем на панели инструментов значок Load SQL file.. или нажимаем Ctrl+O и видим следующее окно:

Находим подходящий SQL-файл и нажимаем Открыть. После этого выбираем Run file(s) directly и ждём загрузки:

Когда загрузка завершится можно посмотреть содержимое бд world просто дважды щёлкнув по ней:

Аналогично загружаем базы auth и characters. Когда всё будет загружено останется только накатить обновления для корректной работы сервера.

Снова открываем FileZilla и идём по следующему пути:

/home/user/TrinityCore/sql/updates/world
*user — это ваша основная учётная запись. (у меня это azureuser)

Скачиваем оттуда все обновления к себе на компьютер. (если Вы делаете это у себя, то пропустите этот шаг) После этого возвращаемся в HeidiSQL. Снова выбираем базу world, нажимаем Ctrl+O и выбираем все скачанные SQL-файлы обновлений:

И начинаем загружать каждый SQL-файл используя для этого Execute SQL… или нажав F9. Когда это будет сделано — работа с базой данных завершена! Будьте внимательны и загрузите все обновления правильно, потому что в противном случае позже Вы не сможете запустить worldserver.

Важно: никогда не загружайте обновления auth и characters из следующих директорий:

  • /home/user/TrinityCore/sql/updates/auth
  • /home/user/TrinityCore/sql/updates/characters

Теперь остался последний штрих в работе с базой данных. Открываем базу auth и находим там realmlist. Меняем там поле address и при желании поле name.

Всё! Работу с базой данных сервера закончили. Приступим к настройке и запуску.

Для простоты действий многое будем делать через FileZilla. Возможно кто-то со мной не согласится в этом решении, но я считаю, что это наипростейший путь загрузить недостающие файлы на серверную машину.

Для начала нам надо дать права на запись директории с сервером. Открываем терминал (или Putty если делаете удалённо) и идём в папку с сервером, пишем:

Там Вы найдёте директорию с нашим сервером:

Даём права на запись для директории server, для этого пишем команду:

sudo chmod 777 server

Готово! Для работы сервера нам понадобятся файлы-таблицы dbc и карты maps, vmaps и mmaps. Качаем их к себе на компьютер.

  • Скачиваем dbc — тык.
  • Скачиваем maps — тык.
  • Скачиваем mmaps — тык.
  • Скачиваем vmaps — тык.

Создаём директорию data в server. Вы можете это сделать через терминал, написав:

Я буду делать это в FileZilla, просто перейдя в директорию server и нажав там правой кнопкой мыши —> Создать каталог:

Теперь перемещаем ранее скачанные dbc, maps, vmaps, mmaps в директорию data. У нас получится следующее:

Открываем терминал (или Putty) и идём в папку где у нас лежат worldserver.conf.dist и authserver.conf.dist. То есть пишем:

Сначала нам надо скопировать эти файлы без расширения .dist — для этого пишем:

sudo cp worldserver.conf.dist worldserver.conf
sudo cp authserver.conf.dist authserver.conf

После этого открываем FileZilla и копируем файлы authserver.conf и worldserver.conf к себе чтобы отредактировать:

Теперь открываем их в любом удобном текстовом редакторе (я пользуюсь Notepad++) и делаем следующее:

Ищем строку (можно с помощью Ctrl+F) пути к директории data:

И меняем её на следующее:

Дальше ищем данные подключения к базе данных и при необходимости меняем их:

LoginDatabaseInfo = «127.0.0.1;3306;trinity;trinity;auth»
WorldDatabaseInfo = «127.0.0.1;3306;trinity;trinity;world»
CharacterDatabaseInfo = «127.0.0.1;3306;trinity;trinity;characters»

У нас другой логин и пароль для подключения. То есть будет:

LoginDatabaseInfo = «127.0.0.1;3306;root;ascent;auth»
WorldDatabaseInfo = «127.0.0.1;3306;root;ascent;world»
CharacterDatabaseInfo = «127.0.0.1;3306;root;ascent;characters»

Тут нам надо найти только одну строку подключения к базе данных:

И поменять её, как и раньше, на следующее:

Теперь осталось загрузить изменённые конфигурационные файлы на сервер с заменой, туда же где мы их брали. Для этого снова откроем терминал (или Putty) и зайдём в директорию server:

И даём права на запись для директории etc:

sudo chmod 777 etc

Теперь удалим старые конфигурационные файлы:

sudo rm authserver.conf
sudo rm worldserver.conf

И теперь можно загружать изменённые authserver.conf и worldserver.conf в etc.

Теперь, когда мы собрали ядро сервера, загрузили базы данных и все необходимые файлы, отредактировали конфиги, можно запускать сервер! Открываем терминал (или Putty) и устанавливаем screen:

sudo apt- get install screen

Хотя обычно он уже есть (как у меня) и тогда Вы увидите следующее:

После этого идём в директорию bin:

Тут у нас лежат файлы запуска сервера. Порядок запуска — сначала запустим authserver и потом worldserver. То есть пишем сначала:

Вы увидите как запустится authserver:

И тогда нажмите Ctrl+A и потом клавишу D. (тем самым Вы как бы «свернёте» authserver) Будет примерно следующее:

Теперь запускаем worldserver, для этого пишем:

В начале вы увидите логотип Trinity и начало загрузки сервера:

Это займёт пару минут. Остаётся только создать аккаунт:

account create test test // Будет создан аккаунт
// Логин — test
// Пароль- test
account set gmlevel test 3 -1 // Будет присвоен уровень GM 3 аккаунту test

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

  • Запуск сервера css v34 на linux
  • Запуск программы через терминал linux mint
  • Запуск программы linux через консоль
  • Запуск программы linux в командной строке
  • Запуск программ python linux