- Статус
- Оффлайн
- Регистрация
- 13 Фев 2026
- Сообщения
- 724
- Реакции
- 18
Решил собрать всё мясо по запуску своей малинки в один тред, чтобы вы не тратили вечность на гуглеж по мертвым бордам и не копались в мусоре. Сетпать сервер Metin2 в современных реалиях — это не просто нажать кнопку «Пуск». Нужно понимать, что вы делаете, иначе отлетите либо от багов, либо от кодеров-криворучек.
Дисклеймер: хостинг приватных серверов — тема скользкая в плане легальности, так что анонимность и безопасность ваших проксей/впн — это ваш личный головняк. Я тут только за техчасть поясняю.
Любой адекватный проект сейчас строится на четырех столпах:
ОС и окружение
95% нормальных файлов сейчас крутятся на FreeBSD. Актуалочка — FreeBSD 13.4+ RELEASE amd64. Если вы видите «девов», которые пытаются впихнуть невпихуемое на древние 32-битные системы — просто проходите мимо. Для тестов локально юзайте VirtualBox, выделяйте минимум 4GB оперативы и 4 потока. В сетевых настройках обязательно ставьте «Сетевой мост» на ваш Ethernet, иначе будете ловить дикие лаги при коннекте.
Компиляция серверной части
Забудьте про MySQL 5.6 — это дырявое ископаемое. Ставьте минимум MySQL 8.0 или свежую MariaDB. После установки системы сразу обновляемся и ставим зависимости:
Когда закинете сурс в /usr/home/source/, порядок компила такой:
(где 4 — количество ваших ядер), чтобы не ждать до завтра. Если вываливаются ошибки — дебажьте оффсеты и инклуды, скорее всего, косяк в путях или несовместимость либ.
Клиент и паковка
Клиентский сурс открываем в Visual Studio. Ставим конфигурацию Release / x86. Если файлы старые, может понадобиться Toolset v142 (от VS 2019), для свежих — v143. После билда забираем Metin2Release.exe.
Не забудьте про serverinfo.py в архиве root. Распаковываете его своим инструментом, правите IP на ваш серверный, пакуете обратно. Если не поменять IP в словаре SERVER1_CHANNEL_DICT, будете вечно смотреть на статус «Offline».
Разбор конфига (CONFIG)
Каждый кор (Core) в канале — это отдельный процесс. Если упадет одна карта, не ляжет весь сервер. В конфиге критично:
Если логи пустые, а сервер не заводится — чекайте syserr в папке каждого кора. Там обычно весь ответ, начиная от нехватки либ и заканчивая битыми квестами в share/quest.
База под допил у всех разная, но принципы одни и те же еще со времен динозавров. Кто-то еще сидит на старых файлах Fliege, кто-то перекатился на MartySama — в любом случае без прямых рук и знания C++/Python тут делать нечего.
Кто на каком билде сейчас сидит и какие либы юзаете под 13-ю фряху?
Дисклеймер: хостинг приватных серверов — тема скользкая в плане легальности, так что анонимность и безопасность ваших проксей/впн — это ваш личный головняк. Я тут только за техчасть поясняю.
Любой адекватный проект сейчас строится на четырех столпах:
- Client Files (ресурсы, пак-файлы, dll);
- Client Source (исходники бинарника под VS);
- Server Files (гейм-директория: конфиги, квесты, мапы, либы);
- Server Source (исходники game и db под компил в FreeBSD).
Для работы вам понадобится база, без которой лезть в реверс и настройку смысла нет:
- WinSCP или MobaXterm (забудьте про FileZilla, это прошлый век);
- PuTTY или встроенный SSH-клиент;
- Navicat, HeidiSQL или Database.net (для работы с БД);
- Visual Studio (Community-версии хватит, главное — нужный Toolset);
- Notepad++ / VS Code / Sublime (для правки конфигов в правильной кодировке);
- Eternexus или любой актуальный пакер/распаковщик для .epk / .eix.
ОС и окружение
95% нормальных файлов сейчас крутятся на FreeBSD. Актуалочка — FreeBSD 13.4+ RELEASE amd64. Если вы видите «девов», которые пытаются впихнуть невпихуемое на древние 32-битные системы — просто проходите мимо. Для тестов локально юзайте VirtualBox, выделяйте минимум 4GB оперативы и 4 потока. В сетевых настройках обязательно ставьте «Сетевой мост» на ваш Ethernet, иначе будете ловить дикие лаги при коннекте.
Если берете удаленку, первым делом разрешите руту логиниться по паролю, а то будете сидеть перед закрытой дверью:
Код:
ee /etc/ssh/sshd_config
# Меняем параметры:
PermitRootLogin yes
PasswordAuthentication yes
UsePAM yes
# Рестартим службу:
service sshd restart
Компиляция серверной части
Забудьте про MySQL 5.6 — это дырявое ископаемое. Ставьте минимум MySQL 8.0 или свежую MariaDB. После установки системы сразу обновляемся и ставим зависимости:
Код:
freebsd-update fetch install
pkg install gmake python htop mysql80-server
Когда закинете сурс в /usr/home/source/, порядок компила такой:
- libpoly;
- libthecore;
- libsql;
- libgame;
- game & db.
Код:
gmake -j4
Клиент и паковка
Клиентский сурс открываем в Visual Studio. Ставим конфигурацию Release / x86. Если файлы старые, может понадобиться Toolset v142 (от VS 2019), для свежих — v143. После билда забираем Metin2Release.exe.
Не забудьте про serverinfo.py в архиве root. Распаковываете его своим инструментом, правите IP на ваш серверный, пакуете обратно. Если не поменять IP в словаре SERVER1_CHANNEL_DICT, будете вечно смотреть на статус «Offline».
Разбор конфига (CONFIG)
Каждый кор (Core) в канале — это отдельный процесс. Если упадет одна карта, не ляжет весь сервер. В конфиге критично:
- HOSTNAME — имя ядра;
- PORT — порт входа (TCP);
- MAP_ALLOW — индексы мап, которые грузит этот кор;
- SQL_PLAYER/COMMON/LOG — доступы к вашей базе.
Если логи пустые, а сервер не заводится — чекайте syserr в папке каждого кора. Там обычно весь ответ, начиная от нехватки либ и заканчивая битыми квестами в share/quest.
База под допил у всех разная, но принципы одни и те же еще со времен динозавров. Кто-то еще сидит на старых файлах Fliege, кто-то перекатился на MartySama — в любом случае без прямых рук и знания C++/Python тут делать нечего.
Кто на каком билде сейчас сидит и какие либы юзаете под 13-ю фряху?