Гайд Начало создания аем хостинг


[Гайд] Начало создания сервера.Выбираем хостинг

Создайте аккаунт или войдите в него для комментирования

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

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Войти

Уже зарегистрированы? Войдите здесь.

Похожие публикации

Доброго времени суток форумчане.

Может кто поделится наводкой.

Хотелось бы узнать, как сделать уведомление о входе в ту или иную локацию с радиусом.
Тоесть то же, что и в моде Трейдер.
Вошел в локацию, появилось уведомление, вышел, тоже.
Просто уведомление, более ничего не нужно.

Подскажите пожалуйста, как реализовать данную идею?
Есть те, кто может помоч?

ZizionarD

Как и обещал выкладываю код и небольшой гайд

Собственно речь о функции загрузки UID и координат из файла в массив m_playersSpawnPoints класса миссии, который в последствии можно исполдьзовать в других функциях в классе миссии

Отступление
массив m_playersSpawnPoints это массив типа map
В данном случае где и индекс и значение текстовые строки
индексом выступает записанный UID, а значением координаты, которые перед использованием преобразуются из текста в vector c помощью функции ToVector()
Но об этом позже

Раздел 1. Подключение

ПОдключение и использование.

Функцию размещаем в теле класса миссии в init.c или если она вынесена в другой файл (и файл подключени через #include) в том самом файле в теле класса миссии

Далее нам надо при запуске и инициализации сервера эту функцию выполнить
Но прежде надо создать файл по нужному пути в котором будут UID’ы и координаты
В данной редакции используется путь “$CurrentDir:\\mpmissions\\dayzOffline.chernarusplus\\_CONF\\” и имя файла “playersSpawnPoints.lst”
те в папке mpmissions\dayzOffline.chernarusplus нужно создать папку _CONF и поместить в нее этот файл
Но вы можете это переделать как Вам больше нравится

6561198156925007 2698.36 0 5989.59 USER
6561198156924007 2698.36 0 5989.59 ВАСЯ

6561198156923007 2698.36 0 5989.59 ПЕТЯ
//Тут комментарий
/*
6561193356923001 3698.36 30 5189.59 ПЕТЯ
*/

//Тут комментарий
#Тут комментарий

Первое поле – позиция – Это Steam UID (17 цифирь)
2,3,4 поля позиции числа это координаты X Z Y (Z = высота) – если 0 система поставит перса на землю или ближайшую твердую поверхность под ним
все что дальше игнорится

Можно каментить строки с помощью // , #
Можно каментить блоки
/*
*/

Если первый символ в строке пробел, все остальное то же игнорится
Пустые строки то же игнорятся

Если в строке с UID и координатами ошибка об этом напишет в лог с указанием номера строки
Если UID дублируется об этом то же напишет в лог

Ок
Файл создали

Теперь добавим вызов этой функции в тело функции OnInit в классе миссии (про нее речь шла Выше)
Функция OnInit ВСЕГДА выполняется при запуске сервера
Внутрь мы добавим вызов LoadPlayersSpawnPoints()
В итоге при запуске сервера LoadPlayersSpawnPoints() выполнется и запишет в массив m_playersSpawnPoints UID’ы и координат

Добавляем как-то так:

override void OnInit() < //Тут может быть различный код //Тут вызов нашей функции //Load players personal spawn poins LoadPlayersSpawnPoints(); // =>m_playersSpawnPoints // “UID”, “Position” //Тут может быть различный код >
Запустили сервер и увидели в логе что файл прочитался и все ок
. LoadPlayersSpawnPoints() . Players personal spawn points count: итд итп
Или ошибки
Если ошибки – читаем все еще раз и/или задаем вопросы в теме (НЕ В ЛИЧКЕ. ) показывая что куда и как Вы прописали

Отлично
Тормозим в сервер

Продолжение следует минут через 15

Всем Привет.
Представляю вам систему логирования действий игроков и т.д. по принципу InfiSTAR.
Для установки вам понадобятся кастомный compiles.sqf (тем кто не знает как это сделать, -> поиск по форуму).

1. Открываем в серверной части файл dayz_server\init\server_functions.sqf и в самом низу вставляем:
“SK_log” addPublicVariableEventHandler <(_this select 1) call fnc_Log;>; 2. Теперь открываем в папке с миссией файл compiles.sqf и ищем что-то в этом плане:

3. Открываем файл publicVariable.txt в фильтрах Battleye и в первой строке “5 !=блаблабла” в конце добавляем “!=SK_Log” (пример ниже)
5 !”donn_heli_monitor” !”fnc_log” !=fnc_log !”redHunter” !=redHunter !”cad_pvar_s” !”PVDZE_veh_Update” !=”PVDZE_veh_Update” !=”PVDZE_adminevents” !=”PVDZ_plr_Death” !”PVDZ_plr_Death” !=”PVDZE_atp” !”PVDZE_atp” !”PVDZ_plr_LoginRecord” !=”PVDZ_plr_LoginRecord” !”PVDZE_log_lockUnlock” !=PVDZE_log_lockUnlock !”redHunter” !=redHunter !”redDiagLog” !=redDiagLog !=”PVDZE_atp” !=(remExField|remExFP) !=(PVCDZ_obj_GutBody|drn_AskServerDynamicWeatherEventArgs|BIS_effects_gepv|achievement|dayzFlies) !=PVDZ_(drg_(RaDrag|RaLW|RLact)|getTickTime|hlt_Bleed|obj_(Delete|Publish|RoadFlare|Destroy|Fire)|veh_Save|veh_SF) !=PVDZ_(plr_(Death|Login[12]|LoginRecord|Save|SwitchMove)|Server(_Simulation|StoreVar)|sec_atp) !=PVDZ_(playerMedicalSync|object_replace|groupInvite) !=PVDZ_(send(|Unconscious)) !=PVDZ_Server_(buildLock|LogIt|UpdateGroup) !=PVDZ_Server_process(Code|SetAccessCode) !=PVDZ_objgather_(Delete|Knockdown) !=PVDZE_(obj_(Delete|Publish|Swap|Trade)|fullobj_Publish|maintainArea|veh_(Lock|Publish2|Upgrade)|handleSafeGear|plr_(DeathB|FriendRQ|TradeMenu)) !=PVAH_AdminReq !=PVAH_WriteLogReq !=PVAHR_0_[a-zA-Z0-9] !”PVAHR_” !=”PVAH_AdminReq” !=”PVAH_WriteLogReq” !=PVAHR_0_[a-zA-Z0-9] !=”PVDZE_(query|store|spawn)Vehicle” !=”PVDZE_PingSend” !=”PVDZE_veh_Init” !”SK_Log” !=SK_Log
4. А теперь самое главное.
Пример вывода лога в отдельный файл. Возьмем для примера файл смерти игрока от тех или иных причин.
Открываем в серверной части файл server_playerDied.sqf и ищем там строку

diag_log format[“%1 (%2) %3 @%4 %5”,_playerName,_playerID,_message,mapGridPosition _pos,_pos]; после нее вставляем
[“DEATHS”,format [“%1 (%2) %3 @%4 %5”,_playerName,_playerID,_message,mapGridPosition _pos,_pos],true] call fnc_log; Таким образом в указанной в папке в п. 2 создатся файл deaths_блаблабла.txt, в котором будет отображен лог о смерти игрока по тем или иным причинам.

Формат записи лога выглядит следующим образом:
_message = format [“Что хочу то и пишу и хочу видеть значение %1”,_значение%1]; [“ИМЯ_ФАЙЛА_ЛОГА”,_message,true] call fnc_log; или напрямую
[“Имя_файла_лога”,format [“тут будет то что в значении %1”,_значение%1],true] call fnc_log;
Представляю варианты 4-х DLL, которые работают для этой системы (качаете любую из них и переименовываете в LogDLL.dll). Эту DLL необходимо закинуть в папку с игрой (например в C:\Games\Arma 2 Operation Arrowhead).
LogDLL.dll создает в папке с логами отдельную папку по названию лога.
LogDLL_-_dd-MM-yyyy и иные ее интерпретации – создает в папке с логами отдельную папку с датой, в которой хранятся все логи за эту дату.

Если есть вопросы, задавайте.

Оригинал данного скрипта и ссылки на разработчика ниже.
Копирайта

Пожалуйста, Войдите или Зарегистрируйтесь, чтобы увидеть это: Вложение.

Ребят подскажите нормальный хостинг и с хорошей защита от ддоса?интересует выделенный,my arena сразу отлетает


Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *