Jump to content
Search In
  • More options...
Find results that contain...
Find results in...
  • Need help?

    Create a topic in the appropriate section
    Don't write everything in the chat!
  • Take a look at the marketplace

    There you can buy
    everything related to game servers
  • Don't want a ban?

    Please read our rules
    Don't disturb the order!
  • Sell or buy?

    Use services of the guarantor
    We will make your deal safe
vitacite

Установка сервера Arma3 Epoch с любыми картами и тд.

Recommended Posts

1) Планирование. 

Покупаем STEAM версию Arma3 (DLC не обязательно они и так скачаются) так же не обязательно иметь клиента на компьютере с сервером... он у нас скачается сам по себе и займет всего 2+ GB

 

Создаем папку на диске C:\ -> С:\ARMA3\ 

 

В ней создаем папку C:\ARMA3\DOWNLOAD\

 

В эту папку закидываем два файла:

steamcmd.exe брать отсюда: https://developer.valvesoftware.com/wiki/SteamCMD:ru\

и батник с следующим содержимым: 

@echo off
echo This Will Install Stable Arma3
steamcmd +login "steamlogin" "steampassword" +app_update 233780 validate +quit
echo ----------------------------------------
echo Download Compleate
echo ----------------------------------------
pause

называем его например downloadarma3server.bat

ВНИМАНИЕ! У вас должен быть реальный пароль и логин от стима с купленной армой 3. 

 

2) Скачиваем сервер.... получаем кучу папок примерно такого вида:

 

appcache
bin
config
depotcache
dumps
install
logs
package
public
rocketthemephpbb
steamapps
userdata
XAMPBACK
crashhandler.dll
crashhandler.dll.old
dbghelp.dll
downloadserver.bat
ssfn26589434123397399
ssfn7406169587663833093
steam.dll
steamclient.dll
steamcmd.exe
steamcmd.exe.old
steamconsole.dll
steamerrorreporter.exe
tier0_s.dll
vstdlib_s.dll

расположенную в C:\ARMA3\DOWNLOAD\ 

 

3) Шаг 3 заходим в C:\ARMA3\Download\steamapps\common\Arma 3 Server\

ВСЕ СОДЕРЖИМОЕ ЭТОЙ ПАПКИ (ЭТО ВЕСЬ СЕРВЕР АРМА3 ОКОЛО ДВУХ ГБ КОПИРУЕМ В C:\ARMA3\

после чего C:\ARMA3\Downloads можно просто удалить....

 

4) Итогом манипуляций должна стать папка C:\ARMA3\ с следующим содержимым

addons
battleye
curator
dll
dta
heli
kart
keys
mpmissions
arma3server.exe
arma3server_readme.txt
ijl15.dll
msvcr100.dll
physx3_x86.dll
physx3common_x86.dll
physx3cooking_x86.dll
physx3gpu_x86.dll
steam.dll
steam_api.dll
steam_appid.txt
steamclient.dll
tier0_s.dll
vstdlib_s.dll

5) Собственно достаточно батника чтобы запустить этот сервер (arma3server.exe) но нам ведь надо играть в Epoch... 

цепляем миссии... и сервер.

качаем клиентскую часть отсюда:

Armaholic:  http://www.armaholic.com/page.php?id=27245

либо торрентом: http://epochmod.com/downloads/Epoch_0.2.5.2_RC1.zip.torrent

 

Полученный результат распаковываем с папку C:\ARMA3\Epoch\

Addons
Keys
LICENSE.txt
mod.cpp
mod.paa
README.txt

ВНИМАНИЕ! Папку с ключами Keys лучше скопировать в папку C:\ARMA3\Keys

 

a3.bikey
aia_tp_2014_10_18.bikey
AiA_TP_Lite_2014_10_18.bikey
epoch0252.bikey

 

 

6) Скачиваем серверные файлы:

отсюда: http://epochmod.com/download_server.php (надо нажать внизу кнопку i Agree and Download)

 

распаковываем в папку C:\TEMP откуда будем устанавливать...

@epochhive
BEC
DB
Keys
MPMissions
SC
Tools
INSTALL.txt
LICENSE.txt
README.txt
start-A3-cmd-line-example.txt

7) Копируем и папки C:\TEMP в папку C:\ARMA3\ 

@Epochhive, Bec, DB, Keys, MpMissions, Tools

 

с заменой!!! должно получится что-то типа...

 

@Epoch
@epochhive
addons
battleye
BEC
curator
DB
dll
dta
heli
kart
keys
mpmissions
Tools
arma3server_readme.txt
arma3server.exe
ijl15.dll
msvcr100.dll
physx3_x86.dll
physx3common_x86.dll
physx3cooking_x86.dll
physx3gpu_x86.dll
steam.dll
steam_api.dll
steam_appid.txt
steamclient.dll
tier0_s.dll
vstdlib_s.dll

8) Создаем пустую папку C:\ARMA3\instance_epoch.Altis и копируем в нее содержимое  из папки C:\TEMP\SC (конфиги сервера)

должно получиться что-то типа:

BattlEye
Users
basic.cfg
config.cfg

9) Создаем батник для запуска файлов сервера. С:\arma3\startserver.bat

cd C:\Arma3\
start arma3server.exe -mod="@Epoch;@EpochHive;" -config=instance_epoch.Altis\config.cfg  -port=2302 -profiles=instance_epoch.Altis -cfg=instance_epoch.Altis\basic.cfg -name=instance_epoch.Altis

10) Настраиваем config.cfg в под свой сервер...

 

// EPOCH SERVER CONFIG

// GLOBAL SETTINGS
hostname        	= "dayz_epoch.com мой супермегапупер сервер (0.2.5.1|1.36) ID02 server";
password         	= "serverpassword"; // если хотим запаролить сервер от других
passwordAdmin      	= "adminpassword"; // технический пароль для сервера и RCON
logFile            	= "A3Master.log"; // лог файл для косяков
reportingIP 		= "master.gamespy.com"; // пережиток прошлого				
verifySignatures	= 0; // если поставить не ноль, корявые дети с корявыми клиентами к вам не зайдут
BattlEye		= 0; // если хотите геммороя с фильтрами BattleEye ставьте 1
// requiredBuild = 128075; // проверка билда с которым к вам подключаются


// WHITELIST FILE TYPES  // типы файлов разрешили для использования клиенту (лучше ничего тут не менять
allowedLoadFileExtensions[] = {:};
allowedPreprocessFileExtensions[] = {"sqf"};
allowedHTMLLoadExtensions[] = {:};

// WELCOME MESSAGE ("message of the day")

motd[] = {
	"Welcome to ArmA3 Epoch!",
	"Server hosted by YourHost.com"
};
motdInterval = 5;               // Интервал в секундах для ваших сообщений

// JOINING RULES
maxPlayers = 80;		// Сколько игроков будет на вашем сервере.. остальных не пустит...

// VOTING
voteMissionPlayers	= 200;    // Prevents Votes.
voteThreshold		= 2; // Prevents Votes.

// INGAME SETTINGS
disableVoN	= 0;        	// вкл/выкл voice over net (1 -выкл)
vonCodecQuality = 20;           // качество звука
persistent	= 1;        	// если 1 миссия будет работать после выхода пользователя.

// MISSIONS CYCLE (see below) epoch.Altis epoch.Stratis epoch_noZ.Altis
class Missions
{
	class Epoch {
		template = epoch.altis; // ссылка какую папку искать серверу в MPMISSION
		difficulty = "veteran";    // уровнь сложности: veteran == NORMAL, mercenary == HARDCORE
	};
};

kickDuplicate = 1;
equalModRequired = 0;
requiredSecureId = 2;
timeStampFormat = "short";

// SCRIPTING ISSUES
onUserConnected = "";
onUserDisconnected = "";
doubleIdDetected = "";

// SIGNATURE VERIFICATION
onUnsignedData = "kick (_this select 0)";	// unsigned data detected
onHackedData = 	"kick (_this select 0)";	//"ban (_this select 0)"; // tampering of the signature detected
onDifferentData = "kick (_this select 0)";

11) Идем в папку C:\ARMA3\DB\

dump.rdb
redis.conf
Redis-License.txt
redis-server.exe
start-redis.cmd

файл dump.rdb это дамп вашей базы данных, очень плохо переживает копирование и манипуляции с ним, создается после первого запуска базы.

в этой папке трогаем только redis.config

 

bind 127.0.0.1 // искать клиент по адресу 127.0.0.1
maxmemory 4gb // максимум памяти под загруженную базу...
save 900 1  // тайминг для сохранений....
save 300 10
save 60 1000
requirepass Adminpassword // тот же пароль что и в config.cfg у Rcon и админа...

12) Идем в папку @Epochhive

addons             // файлы сервера
epochah.hpp        // античит 
epochconfig.hpp    // аналог бывшего init.sqf параметры где, чего, как 
EpochServer.dll
EpochServer.ini    // настройки сервера - нам сюда..

в файле EpochServer.ini 

[EpochServer]
BattlEyePath = C:\ARMA3\instance_epoch.Altis\BattlEye  // прописываем путь к BattleEye
InstanceID = NA123  //не трогать

[Redis]
IP = 127.0.0.1 // не трогать
Port = 6379    // не трогать
DB = 1         // не трогать
Password = AdminPassword  // пароль как в DB и config.cfg RCON ADMIN и тд...

[SteamAPI] // этот блок не трогаем
Logging = 0
Key = 
VACBanned = 0
VACMinimumNumberOfBans = 0
VACMaximumDaysSinceLastBan = 0
PlayerAllowOlderThan = 0

Ну собственно минимальная настройка закончена... запустив на своей машине сервер вы сможете подключиться.

Тонкости будут в последующих гайдах.

Share this post


Link to post
Share on other sites



Извените..а в какой строчке конкретно прописывать пароль и логин от стима в батнике?

 зы.если заменяю "steamlogin" "steampassword" то батник не сохраняется((

Share this post


Link to post
Share on other sites

Если я понял, то прописывать в батнике стмилогин и стимпасс нужно чтоб при запуске arma3server он проверялся на обновления. У меня стим в автомате качает. Так что этот пунт я опустил.

Share this post


Link to post
Share on other sites

всё разобрался..сначало все сохранил в текстовом и потом только в bat...наоборот не получится))

Share this post


Link to post
Share on other sites

Механик ты же админ. Сервер устанавливаешь. Надо смотреть не то, что клиент пишет. А в .rpt лог в инстансе. Там написаны причины. Как правило банально либо пароль не прописан, либо база не запущена.

Запуск эпоча сначала руками стартуем базу из папки DB и ее больше не трогаем. Потом стартуем сервер. При последующих рестартах базу не трогать!!!

Share this post


Link to post
Share on other sites

не подключается клиент...по локалке без инета вообще не видит серв

и не запускается start-redis.cmd

Edited by Santyago (see edit history)

Share this post


Link to post
Share on other sites

Механик ты же админ. Сервер устанавливаешь. Надо смотреть не то, что клиент пишет. А в .rpt лог в инстансе. Там написаны причины. Как правило банально либо пароль не прописан, либо база не запущена.

Запуск эпоча сначала руками стартуем базу из папки DB и ее больше не трогаем. Потом стартуем сервер. При последующих рестартах базу не трогать!!!

Server error: Player without identity Falcon (id 1435820807)

Я с такой проблемой ни когда не встречался. И это моя первая попытка установки на арме 3

Share this post


Link to post
Share on other sites

И хоть сервак мой существующий собран не по этой инструкции, все равно решил попробовать. Не даёт мне покоя то что какой бы аддон, мод или твик я не запустил, бетлай орет как сумашедший. Я даже сам сервер качал через cmd, a не как обычно через Steam- Библиотека - Инструменты. Что по определению проще. Как говорится, "будем посмотреть"!

Share this post


Link to post
Share on other sites

Полученный результат распаковываем с папку C:\ARMA3\Epoch\

Вот тут опечаточка. Папочку нужно назвать "C:\ARMA3\@Epoch\

В остальном Все идеально! Как часы! Буду смотреть следующие мануалы.

Edited by Jek790 (see edit history)

Share this post


Link to post
Share on other sites

Мой вопрос возможно покажется глупым, но как запустить миссию на чернорашке? В конфиге прописываю epoch.Chernarus, сервер запускается, но при подключении к нему, в консоле бежит надпись Mission Epoch Mod read from directory. Меняю на epoch.Altis, всё замечательно. Миссию разбинарил, в ней идёт ссылка на aia_chernarus_config. Эту pbo нигде не вижу.

У кого получилось запустить на Черно, поделитесь способом.

Совсем забыл, @allinarmaterrainpack скачал и подключил на сервере и клиенте.

Share this post


Link to post
Share on other sites

Вот возник вопрос... Так как я в этом деле нуб, то вопрос возможно будет глупый)) Собственно вопрос по планировщику. Как его сделать? Я так понимаю, планировщик находится в BEC, если он установлен. Но в данном примере о BEC по сути ни слова.

 

З.Ы.: батлай ставить нет никакого желания.

Edited by MeinCain (see edit history)

Share this post


Link to post
Share on other sites

 

файл dump.rdb это дамп вашей базы данных,

Доброго времени, подскажите нубу по поводу 11 пункта. Запустил start-redis.cmd загрузилась панель сервера, открыл арму3 сервер вижу, зашел в лобби, подключаюсь,  через минуту панель сервера закрывается. Файла dump.rdb в ARMA3\DB\ нет, наставьте на путь истенный...

Share this post


Link to post
Share on other sites

Это происходит, скорее всего ,из-за ошибок миссии. Сервер запускается не загружая миссию до того момента, как подцепится первый игрок. Когда вы подключаетесь, миссия стартует и вылетает. Ищите ошибку (где-то либо путь не прописан, либо пароль либо тд...)

Share this post


Link to post
Share on other sites

Всё, разобрался. Надо быть просто внимательнее.

Подскажи как подключить чернорусь к epoch, желательно поподробнее. Заранее благодарю

Share this post


Link to post
Share on other sites

Это происходит, скорее всего ,из-за ошибок миссии. Сервер запускается не загружая миссию до того момента, как подцепится первый игрок. Когда вы подключаетесь, миссия стартует и вылетает. Ищите ошибку (где-то либо путь не прописан, либо пароль либо тд...)

Спасиб разобрался :) но возникла другая проблема подобной этой

 

 

 

 

redis выдает всё время 

[7824] 13 Dec 05:05:56.930 # Can't save in background: fork: Invalid argument

[7824] 13 Dec 05:05:57.030 * 10 changes in 300 seconds. Saving...

[7824] 13 Dec 05:05:57.030 # BeginForkOperation: system error caught. error code

=0x000005af, message=BeginForkOperation: VirtualProtect failed: unknown error

 

пока работает БД то сервер перегружаю захожу все норм, после остановки БД ничего не сохраняется и персонаж заново появляется на респе. На компе 4G ОЗУ и 2G выделял под базу...направьте в какую сторону нужно капнуть)

Share this post


Link to post
Share on other sites

Проблема решена :)

Вылечелось все добавлением памяти к базе и увеличением файла подкачки, может кому поможет в дальнейшем,

для базы 4 гига и подкачку сделал на другой диск в 16 гиг  :laugh:

осталось запилить миссии и патрули ботов :whistling:

Edited by Asimut (see edit history)

Share this post


Link to post
Share on other sites

Люди добрые подскажите начинающему Админу сервера как подключить карту Чернаруси на стороне сервера и клиента в Arma3 Epoch. Заранее спасибо!

Share this post


Link to post
Share on other sites

файл dump.rdb это дамп вашей базы данных,

у меня тоже его нет

Share this post


Link to post
Share on other sites

Он появляется только после первого запуска, в чистой сборке его нет.

Share this post


Link to post
Share on other sites

не подключается клиент...по локалке без инета вообще не видит серв

и не запускается start-redis.cmd

Чтобы клиент, увидел сервер он должен соединиться со STEAM (не зря там порты указаны). В случае если сомневаешься, что клиент в локалке будет виден, подключайся через IP адрес. Для тебя с этой же машины это будет 127.0.0.1, для всех других ip адрес машины в локальной сети (больше никак).

Share this post


Link to post
Share on other sites

Доброго времени суток!

Кто-нибудь может поделиться файлами, которые получаются после выполнения 4-го пункта? 

Просто в связи с материальным положением не могу позволить себе купить стим версию армы.

Буду премного благодарен за помощь.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Similar Content

    • By -Reks-
      Продам сервер по DayZ/ Есть 
      Пожалуйста, Войдите или Зарегистрируйтесь, чтобы увидеть это: Вложение.
    • By SemKa1407
      Ссылка на архив: https://disk.yandex.ru/d/WmYW5AcZozGSiA
      Инструкция, написанная на коленке, есть в архиве (для полных нулей).
    • By SemKa1407
      Будьте добры, помогите пожалуйста.
      Проблема в том, что не приходят сообщения в нужное время. Скорее всего неправильная логика.
      class FakeChatNotifier { ref Timer m_Timer; ref Timer m_MessageTimer; bool m_IsActive; // Списки диалогов ref array<ref array<string>> m_WelcomeDialogs; ref array<ref array<string>> m_RegularDialogs; ref array<ref array<string>> m_ThreatDialogs; void FakeChatNotifier() { m_Timer = new Timer(); m_MessageTimer = new Timer(); m_IsActive = false; // Инициализация диалогов InitializeDialogs(); Print("[FakeChatNotifier] Initialized"); // Лог для проверки инициализации } void InitializeDialogs() { // Приветственные диалоги m_WelcomeDialogs = new array<ref array<string>>; m_WelcomeDialogs.Insert({"Hello!", "How are you?"}); m_WelcomeDialogs.Insert({"Anyone alive?", "Yes, I am here. What's new?"}); m_WelcomeDialogs.Insert({"What's the situation?", "It seems quiet, but stay sharp."}); // Обычные диалоги m_RegularDialogs = new array<ref array<string>>; m_RegularDialogs.Insert({"Check radio frequency 98.7", "Got it, I'll stay alert."}); m_RegularDialogs.Insert({"Never trust strangers", "Right, it's every man for himself here."}); m_RegularDialogs.Insert({"I saw someone near the old factory", "Thanks for the info, I'll check it out."}); // Угрозы m_ThreatDialogs = new array<ref array<string>>; m_ThreatDialogs.Insert({"We will find you...", "Try, but I won't give up."}); m_ThreatDialogs.Insert({"You won't escape", "I'm ready for this."}); m_ThreatDialogs.Insert({"Your loot will be ours", "You wish."}); } void Start() { if (!m_IsActive) { m_IsActive = true; m_Timer.Run(60, this, "CheckTime", NULL, true); // Запуск таймера на проверку каждые 60 секунд Print("[FakeChatNotifier] Started main timer"); // Лог для проверки запуска } } void Stop() { m_IsActive = false; m_Timer.Stop(); m_MessageTimer.Stop(); Print("[FakeChatNotifier] Stopped timers"); // Лог для проверки остановки } // Функция для получения текущего времени void GetCurrentHour(out int hour) { int year, month, day, minute; GetGame().GetWorld().GetDate(year, month, day, hour, minute); // Получаем текущий час из даты Print("[FakeChatNotifier] Current hour: " + hour); // Лог для проверки текущего времени } void CheckTime() { int hour; GetCurrentHour(hour); // Используем нашу функцию для получения текущего часа if (hour >= 22 || hour < 6) { if (!m_IsActive) { Print("[FakeChatNotifier] Night time detected, starting dialog cycle"); // Лог для ночного времени StartDialogCycle(hour); } } else { Print("[FakeChatNotifier] Day time, stopping dialogs"); // Лог для дневного времени Stop(); } } void StartDialogCycle(int hour) { if (!m_IsActive) return; array<string> dialog; if (hour >= 22 && hour < 23) { dialog = m_WelcomeDialogs.GetRandomElement(); // Приветственные диалоги Print("[FakeChatNotifier] Sending welcome dialog"); // Лог для приветственных диалогов } else if (hour >= 23 && hour < 3) { dialog = m_RegularDialogs.GetRandomElement(); // Обычные диалоги Print("[FakeChatNotifier] Sending regular dialog"); // Лог для обычных диалогов } else if (hour >= 3 && hour < 6) { dialog = m_ThreatDialogs.GetRandomElement(); // Угрозы Print("[FakeChatNotifier] Sending threat dialog"); // Лог для угроз } SendDialog(dialog); ScheduleNextDialog(); // Планирование следующего диалога } void ScheduleNextDialog() { int interval = Math.RandomIntInclusive(900, 1500); // Интервал (15-25 минут в секундах) m_MessageTimer.Run(interval, this, "StartDialogCycle", NULL, false); Print("[FakeChatNotifier] Scheduled next dialog in " + interval + " seconds"); // Лог для планирования следующего диалога } void SendDialog(array<string> dialog) { for (int i = 0; i < dialog.Count(); i++) { float delay = i * Math.RandomIntInclusive(5, 9); // Задержка между сообщениями в диалоге (5-9 секунд) m_MessageTimer.Run(delay, this, "SendMessageToPlayers", new Param1<string>(dialog[i]), false); Print("[FakeChatNotifier] Scheduled message with delay " + delay + " seconds: " + dialog[i]); // Лог для отправки сообщения } } void SendMessageToPlayers(Param1<string> param) { string message = param.param1; array<Man> players = new array<Man>; GetGame().GetPlayers(players); if (players.Count() > 0) { foreach (Man player : players) { Param1<string> globalMessage = new Param1<string>(message); GetGame().RPCSingleParam(player, ERPCs.RPC_USER_ACTION_MESSAGE, globalMessage, true, player.GetIdentity()); } Print("[FakeChatNotifier] Sent message to all players: " + message); // Лог для отправленного сообщения } else { Print("[FakeChatNotifier] No players online to send message: " + message); // Лог для случая, если нет игроков } } }  
    • By Troy1
      Всем привет. Помогите пожалуйста со скриптом.
      Суть. Я пытаюсь сделать синхранизацию сервера с клиентом передавая c конфига время разделки животного.
      В родных скриптах есть class UATimeSpent с константами и там есть константа SKIN.
      Мне нужно её перезаписать на своё значение и мне выдаёт ошибку: Trying to modify write protected variable 'SKIN' в переводе на Русский Попытка изменить защищенную от записи переменную «SKIN».
      Функция скрипта: Когда игрок запускает клиент, идёт запрос на серверную часть и получает в ответ время разделки.
      Задача: Нужно перезаписать константу SKIN на новое значение и всё.
      Сам скрипт.
      class timeToComplete extends UATimeSpent { protected ref UATimeSpent m_UATimeSpent; void timeToComplete() { GetDayZGame().Event_OnRPC.Insert(OnRPC); CheckUATimeSpent(); } void ~timeToComplete() { GetDayZGame().Event_OnRPC.Remove(OnRPC); } void CheckUATimeSpent() { GetGame().RPCSingleParam(NULL, SOC_TIME_RPCs.SOC_GT, NULL, true); } void OnRPC(PlayerIdentity sender, Object target, int rpc_type, ParamsReadContext ctx) { if (rpc_type == SOC_TIME_RPCs.SOC_RT) { Param1<float> soc_srt; if (ctx.Read(soc_srt)) { if (soc_srt.param1!= 0) { m_UATimeSpent.SKIN = soc_srt.param1; Print("Пришёл ответ от сервера в m_UATimeSpent.SKIN - " + m_UATimeSpent.SKIN) } } } } };  
    • By Troy1
      Всем привет. Подскжите ну или помогите пожалуйста решить вопрос.
      Вопрос звучит так. На сервере есть трейдер зоны и базы игроков. 
      Если в течение определённого времени, на пример 1 - 2 часа с машиной не кто не взаимодействует и машина не находится в зоне трейдера или на теретории базы, то машина отлетает в гараж или на штраф стоянку.
      На сервере используется TraderPlus.
       
      Есть такие решения у кого?
      За ранние благодарю.
  • Our picks

×
×
  • Create New...

Important Information

By using this site, you automaticly agree to our Guidelines and Privacy Policy.
We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.