Перед установкой
Проверьте требования. Если на компьютере уже есть рабочий сервер, запишите его путь и порты. Новую сборку распаковывайте отдельно; не останавливайте и не удаляйте старую до подготовки резервной копии и плана перехода.
Для примеров ниже выбрана новая папка C:\OpenM-Server. Если она уже существует и содержит серверные данные, используйте другое имя, например C:\OpenM-Server-New.
Загрузка
Основная страница скачивания ссылается на единый server.zip. Внутри уже есть движок, txAdmin, мастер и издатель. Отдельные архивы txAdmin и программы публикации для этого сценария не нужны.
Пример загрузки из PowerShell:
$archive = Join-Path $env:USERPROFILE 'Downloads\OpenM-server.zip'
Invoke-WebRequest -Uri 'https://open-multiplayer.online/cdn/server.zip' -OutFile $archive
Get-Item -LiteralPath $archive | Select-Object Name, Length, LastWriteTime
Get-FileHash -LiteralPath $archive -Algorithm SHA256
Сохраните полученный SHA-256 вместе с версией архива. Не сравнивайте новую версию с контрольной суммой старого релиза. Подписанный stable.json описывает опубликованные артефакты. Простое декодирование поля payload из этого файла не является проверкой подписи. SHA-256 обнаруживает отличие файлов, но доверие к ожидаемому хешу — отдельная проверка.
Полная распаковка
Создайте пустую целевую папку и извлеките весь ZIP. Если используете PowerShell:
$target = 'C:\OpenM-Server'
if (Test-Path -LiteralPath $target) { throw 'Выберите новую пустую папку установки.' }
Expand-Archive -LiteralPath $archive -DestinationPath $target
Get-ChildItem -LiteralPath $target
Не применяйте -Force к распаковке поверх рабочего сервера. Не переносите только FXServer.exe: ему нужны соседние DLL, citizen и остальные части комплекта. Если архиватор добавил лишнюю внешнюю папку, рабочим корнем считается папка, внутри которой находится FXServer.exe.
Проверка runtime-файлов
Запустите Check-Server.cmd двойным щелчком. Для проверки без паузы через PowerShell используйте:
Set-Location 'C:\OpenM-Server'
powershell.exe -NoLogo -NoProfile -ExecutionPolicy Bypass -File .\Start-Server.ps1 -CheckOnly
Проверяются наличие и SHA-256 файлов из bundle-manifest.json. У версии 1.1.3 проверяется 444 файла runtime; количество может измениться в следующем релизе. Пользовательские файлы внутри game не входят в эту проверку. Команда не проверяет пароль, ключи, SQL, содержимое ресурсов, открытость портов или владение GTA.
При Missing file или File changed or damaged повторно скачайте архив в новую папку и проверьте историю карантина антивируса. Не заменяйте отсутствующую DLL файлом неизвестного происхождения и не отключайте антивирус целиком. Если проверка падает на официальной чистой распаковке, приложите название файла и хеш к запросу поддержки.
Первый запуск через EXE
Дважды щёлкните FXServer.exe. Первый запуск создаёт защищённую папку txData и открывает мастер по адресу http://127.0.0.1:40120. Этот адрес открывается на игровом компьютере; 127.0.0.1 на другом устройстве обозначает уже другое устройство.
Если браузер не открылся автоматически, введите адрес вручную. Подробности полей — в мастере настройки. После первого успешного сохранения последующие запуски того же EXE открывают txAdmin с сохранённым профилем.
Запуск с диагностическим логом
Если окно быстро закрывается, запустите из существующего окна PowerShell:
Set-Location 'C:\OpenM-Server'
.\Start-Server.cmd
Помощник проверяет runtime и сохраняет стартовый вывод в logs\YYYYMMDD-HHMMSS-startup.log. Это дополнительный диагностический способ запуска; для обычной эксплуатации достаточно EXE. Для нестандартного порта панели:
.\Start-Server.cmd -PanelPort 40125 -NoBrowser
В этом случае откройте http://127.0.0.1:40125. Параметры помощника не становятся настройкой Windows для всех будущих запусков: если вы меняли порт только аргументом команды, используйте тот же способ запуска снова.
Контрольная точка
Установка завершена, если проверка файлов проходит, мастер или панель открываются, а процесс не завершается с ошибкой. Это ещё не завершённая настройка публичного сервера. Дальше нужны портал, ключи, мастер и сетевая проверка.
Для обновления существующего экземпляра используйте отдельную процедуру обновления и отката, а не повторение чистой установки поверх данных.