wow-midnight-server

Подключение клиента — пошагово (RU)

Направляем ретейл-клиент 12.0.7.68275 на твой сервер. Страница намеренно конкретная: отдельно что меняешь на сервере и отдельно что меняешь в клиенте.

English


Коротко — что реально меняется в клиенте

Игровые данные ты не трогаешь. Только:

  1. Убедиться, что клиент — ровно билд 68275.
  2. Положить лаунчер Arctium рядом с WoW.exe.
  3. Добавить одну строку в WTF/Config.wtf: SET portal "IP_СЕРВЕРА".
  4. Запускать через Arctium (не через приложение Blizzard).

Всё остальное — на стороне сервера.


Подготовка на сервере (сначала это)

В bnetserver.conf:

; Адрес, до которого достучится КЛИЕНТ (публичный или LAN IP сервера)
LoginREST.ExternalAddress = IP_СЕРВЕРА
LoginREST.LocalAddress    = IP_СЕРВЕРА
LoginREST.Port            = 8081

В базе auth реалм, который видит клиент, берётся из таблицы realmlist (никакого realmlist.wtf):

UPDATE realmlist
SET address = 'IP_СЕРВЕРА', localAddress = 'IP_СЕРВЕРА', port = 8085
WHERE id = 1;

Открой клиенту порты: 8081 (REST-логин), 1119 (bnet), 8085 (мир).

Создай аккаунт (консоль worldserver):

account create myname mypassword
account set gmlevel myname 3 -1

Изменения в клиенте (то, о чём ты спросил)

1. Совпадение билда — 68275

Билд клиента обязан совпадать с билдом базы мира сервера. Через BNetInstaller получи/держи билд 12.0.7.68275, либо полную установку, зафиксированную на нём. Несовпадение билда = отказ на логине каждый раз.

2. Добавь лаунчер Arctium

Скопируй Arctium WoW Client Launcher.exe в папку клиента, рядом с WoW.exe. Arctium патчит запущенный клиент в памяти, чтобы он:

Ни один файл игры не меняется навсегда.

3. Пропиши портал — одна строка в Config.wtf

Открой WTF/Config.wtf в папке клиента и добавь (или поправь):

SET portal "IP_СЕРВЕРА"

Опционально — форс локали / пропуск проверки апдейта лаунчера:

SET textLocale "ruRU"
SET audioLocale "ruRU"

portalединственная обязательная правка клиента. Она говорит клиенту, с каким Battle.net-хостом общаться — с твоим bnetserver.

4. Запуск через Arctium

Запускай Arctium, а не Battle.net.exe. Он стартует пропатченный клиент и показывает экран логина Battle.net, направленный на твой сервер.

5. Вход

  1. Введи имя аккаунта + пароль, созданные через account create.
  2. Выбери реалм.
  3. Ты в игре.

Почему логин «крутится» — и как быстро починить

Логин современного ретейла идёт через HTTP REST dev-сертификат (порт 8081), а не через старый realmlist.wtf. 95% зависаний — это одно из:

Симптом Причина Решение
Зависло на «Connecting» / «Authenticating» Недоступен REST-эндпоинт 8081 или неверный portal Проверь LoginREST.ExternalAddress + открыт ли 8081; проверь SET portal
«Version mismatch» / отбрасывает на логине Билд клиента ≠ 68275 Переустанови/зафиксируй клиент на 68275
Пустой список реалмов Неверный realmlist.address или worldserver (8085) выключен Поправь строку в realmlist; проверь, что 8085 слушает
Ошибка сертификата/handshake Не через Arctium или сертификат не доверенный Всегда запускай через Arctium
В игре, но у персонажа нет квестов Пробел в данных/цепочке квестов См. FIXES.md

Спутники-боты в игре

См. FEATURES.md.