Daniel90, расписываю по шагам как легко создать сервер для Crysis Wars. Думаю для обычного Crysis всё создаётся аналогично:
1. Заходишь в папку
...Electronic Arts\Crytek\ и создаешь в ней папку для сервера например
Server.
2. Копируешь в папку
Server папки
Bin32,
Game и
PB из папки куда установлен
Crysis/
Crysis WARS
3. Создаешь в папке сервера файл конфигурации
server.cfg содержащие такие команды:
Код:
log_verbosity = 1
log_fileverbosity = 1
g_useProfile = 1
sv_servername = "SERVER FOR NOOBS"
sv_password =""
sv_port = 64087
sv_bandwidth = 20000
sv_lanonly = 0
sv_maxplayers = 32
sv_cheatprotection = 3
sv_levelrotation = "levelrotation"
sv_requireinputdevice = "dontcare"
sv_maxspectators = 0
sv_timeofdayenable = 1
sv_timeofdaylength = 1.215
sv_timeofdaystart = 12
sv_gs_report = 1
sv_gs_trackstats = 1
sv_ranked = 1
net_stats_login "GAMESPY LOGIN"
net_stats_pass "GAMESPY PASSWORD"
net_enable_voice_chat = 1
net_pb_sv_enable false
ban_timeout = 10
r_ShadersAsyncCompiling = 1
r_driver = "DX9"
g_timelimit = 0
g_minteamlimit = 0
g_autoteambalance = 1
g_tk_punish = 1
g_tk_punish_limit = 5
g_friendlyfireratio = 1
g_battleDust_enable = 0
g_fraglimit = 0
g_useProfile = 1
g_minplayerlimit = 0
g_nextlevel
заменяешь при этом
GAMESPY LOGIN на геймспай логин, а
GAMESPY PASSWORD на геймспай пассворд, теже можно ввести значения, что и в игре...
вместо
SERVER FOR NOOBS подставляешь имя сервера
sv_maxplayers - устанавливаешь максимальное число игроков
для включения панкбастера заменяешь строчку
net_pb_sv_enable false на
net_pb_sv_enable true
если будут какие то ошибки, можно включить детальный лог, заменив
log_fileverbosity = 1 на
log_fileverbosity = 3
4. Создаешь в папке сервера файл ротации карт
levelrotation.xml.
Вот пример включающий все карты входящие в WARS со случайным выбором карты:
Код:
<levelrotation randomize="1">
<level name="multiplayer/ps/Beach" gamerules="PowerStruggle" />
<level name="multiplayer/ps/Crossroads" gamerules="PowerStruggle" />
<level name="multiplayer/ps/Desolation" gamerules="PowerStruggle" />
<level name="multiplayer/ps/Mesa" gamerules="PowerStruggle" />
<level name="multiplayer/ps/Plantation" gamerules="PowerStruggle" />
<level name="multiplayer/ps/Refinery" gamerules="PowerStruggle" />
<level name="multiplayer/ps/Shore" gamerules="PowerStruggle" />
<level name="multiplayer/ps/Tarmac" gamerules="PowerStruggle" />
<level name="multiplayer/ps/Training" gamerules="PowerStruggle" />
<level name="multiplayer/ia/Armada" gamerules="TeamInstantAction"/>
<level name="multiplayer/ia/Battleground" gamerules="TeamInstantAction" />
<level name="multiplayer/ia/Coast" gamerules="TeamInstantAction" />
<level name="multiplayer/ia/Condemned" gamerules="TeamInstantAction" />
<level name="multiplayer/ia/Excavation" gamerules="TeamInstantAction" />
<level name="multiplayer/ia/Graveyard" gamerules="TeamInstantAction" />
<level name="multiplayer/ia/Outpost" gamerules="TeamInstantAction" />
<level name="multiplayer/ia/Peak" gamerules="TeamInstantAction" />
<level name="multiplayer/ia/Quarry" gamerules="TeamInstantAction" />
<level name="multiplayer/ia/Steelmill" gamerules="TeamInstantAction" />
<level name="multiplayer/ia/Stranded" gamerules="TeamInstantAction" />
<level name="multiplayer/ia/Terminal" gamerules="TeamInstantAction" />
<level name="multiplayer/ia/Treehouse" gamerules="TeamInstantAction" />
</levelrotation>
5. Создаешь в папке сервера файл для запуска сервера
startup.cmd, куда вводишь следующее:
Код:
start Bin32\CrysisWarsDedicatedServer.exe -root "C:\Program Files\Electronic Arts\Crytek\Server.WARS" +exec "server.cfg"
По желанию можно повесить на рабочий стол ярлык указывающий на
startup.cmd
Создание сервера для локальной сети
По неизвестной причине через меню локальной сети (без подключения к интернету) игра находит только сервера работающие на порту
64100.
Таким образом чтобы к серверу могли подключиться по локальной сети, сервер нужно открыть на порту
64100, для этого исправляем строчку
sv_port = 64087 на
sv_port = 64100
- в этом случае игра находит сервер в локальной сети, причем подключение к интернету и вход в CRYNET не требуется...
Для того чтобы сервер работал только в локальной сети и к интернету не подключался, нужно внести такое исправление в конфиг сервера, вместо
sv_lanonly = 0 ввести
sv_lanonly = 1
Для исключительно локального сервера нужно удалить блок настроек для отправки статистики в интернет, вот он:
Код:
sv_gs_report = 1
sv_gs_trackstats = 1
sv_ranked = 1
net_stats_login "GAMESPY LOGIN"
net_stats_pass "GAMESPY PASSWORD"
Вроде бы всё. Если чё спрашивай...