Создание выделенного сервера на платформе Windows

Читать внимательно, так как легко напутать с папками.

Рекомендовано оставить все дела, и сосредоточить всё внимание на процессе установки сервера.

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

1. Скачивание и Установка сервера
Создаем папку steamcmd
Скачиваем steamcmd и бросаем его в папку steamcmd.
Запускаем steamcmd.exe и ждем когда он закачает нужные файлы.
Создаем батник Update.bat:
D:\SteamCMD\steamcmd.exe +login ЛОГИН ПАРОЛЬ +force_install_dir d:\RW\ +app_update 233780 validate

где,

ЛОГИН ПАРОЛЬ — логин и пароль от вашего steam аккаунта
d:\RW\ — папка где будет находиться ваш сервер, а так же куда будет закачиваться дистрибутив сервера.
Помещаем Update.bat в папку steamcmd. Запускаем и ждем, когда дистрибутив сервер будет скачан.
Скачиваем RW.ZIP и закидываем его в папку RW.


ВАЖНО!

После недавнего обновления ArmA 3, с выходом DLC OldMan начали проявляться небольшие проблемы, при этом далеко не у всех.
Если сервер не запускатеся с некоторыми модами — вот некоторые альтернативные файлы по настройке сервера.
Заменяем на них те что в этой сборке, и всё работает.
Спасибо Babayka (участник нашего Discord)


Должно получиться так:

2. Настройка сервера
Все что теперь нам нужно, это скаченная вами RW. Открываем его и настраиваем под себя:

config.cfg — это файл конфига (настраиваете под себя) server.cfg — Bohemia Interactive Community:
bans.txt (d:\RW\BattlEye\) — в этом файле будут прописываться GUID тех игроков, которые были забанены на сервере.
BEServer.cfg (d:\RW\BattlEye\) — в этом файле прописывается пароль rcon, RCON порт, RCON IP, максимальный пинг (при превышении которого, игроков будет кикать с сервера).
RW.Arma3Profile (d:\RW\Users\RW\) — в этом файле прописаны уровни сложности.

Теперь очень важный момент

папка server, находящаяся d:\RW\Users\, переименовывается в имя вашей учетной записи!!! (должно быть написано латиницей)

3. Готовимся к запуску
создаем на рабочем столе ярлык arma3server.exe. Создавать надо оттуда, где у вас находится RW с дистрибутивом сервера.
в свойствах ярлыка arma3server.exe, во вкладке ярлык, в поле объект мы дописываем (не забываем пробел перед -port):
-port=2302 -config=RW\config.cfg -cfg=RW\Arma3.cfg -profiles=RW -name=RW

Полная строчка у вас должна будет выглядить так:

D:\RW\arma3server_x64.exe -port=2302 -config=RW\config.cfg -cfg=RW\Arma3.cfg -profiles=RW -name=RW
4. Небольшие замечания
ваша миссия кидается d:\RW\mpmissions\
ваша миссия, без расширения .pbo должна быть прописана в config.cfg, в строчке

class ARMA3 {
        template =

читайте ниже, если у вас стоит роутер. Не сделав это, ваш сервер не будет виден.
в данной инструкции прописаны те порты, которые используются у меня. Вы должны прописать свои (если захотите использовать другие)
для запуска сервера требуется DirectX, без него во время запуска вылетит ошибка.

Проброска портов если у вас роутер, или просто не видит сервер в сети.
Если у вас интернет проходит через роутер, то вам нужно пробросить порты:
https://community.bistudio.com/wiki/Arma_3_Dedicated_Server#Port_Forwarding

Входящие (Incoming) (тут все UDP):

2302 (default Arma 3 Game port) + (VON is now part of main gameport due to NAT issues)2303 (STEAM query, +1)
2304 (Steam port, +2)
2305 (VON port, +3 - not used atm. but allocated)
2306 (BattlEye traffic, +4)(то есть до 2310)

Исходящие (Outgoing):

DST Port	Protocol	Destination		Comment
2344		TCP + UDP	81.0.236.111		BattlEye - arma31.battleye.com
2345		TCP		81.0.236.111		BattlEye - arma31.battleye.com
2302-2306	UDP		any			Arma Server to Client Traffic
2303		UDP		any			Arma Server STEAM query port
2304		UDP		any			Arma Server to STEAM master traffic

 

Если же вы например запускаете два сервера на одной машине (один IP), то тогда делается разница по портам, с логичным разделением между ними.
от 2302 до 2310 для первого, и с 2312 до 2320 для второго.


Если ошибка при запуске

Если при запуске сервера появилась ошибка, что на ПК отсутствует VCOMP120.dll:

Для ее исправления ставим Visual C++ для Visual Studio 2013

При ошибках:

XAPOFX1_5.dll
x3daudio1_7.dll

Надо просто обновить DirectX.

Материал любезно взят (и заметно доработан) с Заметки системного администратора


Альтернативный UpDate (апдейтер) файл для сервера ArmA III

Альтернативный вариант по отношению к Update.bat , но помним что он под Windows, и идёт в формате .cmd

Что бы не путаться по первости, и для порядка, рекомендую назвать Arma3_Steam_Updater
Код здесь:

@echo off

SETLOCAL ENABLEDELAYEDEXPANSION
    SET STEAMLOGIN=ЛОГИН ПАРОЛЬ
    SET A3BRANCH=233780 -beta
    SET A3Path=D:\RW
    SET STEAMPATH=D:\SteamCMD
	


:: _________________________________________________________

echo.
echo     You are about to update ArmA3
echo        Dir: %A3Path%
echo        Branch: %A3BRANCH%
echo.
echo     Key "ENTER" yo procede
pause
%STEAMPATH%\steamcmd.exe +login %STEAMLOGIN% +force_install_dir %A3Path% +"app_update %A3BRANCH%" validate +quit
echo .
echo     Your ArmA3 is now up to date
echo     key "ENTER" to exit
pause

Файл, можно просто скачать и вписать туда в 4 строке свои ЛОГИН ПАРОЛЬ.
Открываем блокнотом или NotePad++, или Visual Studio Code
Последний, кстати, при попытке сохранить файл в формате SQF предложит закачать библиотеку SQF команд. Что очень удобно!

Вложения по данной теме (если кто-то пропустил ссылки в тексте):

RW.ZIP

Arma3_Steam_Updater.cmd

Обсудить этот метод можно в нашем Discord канале