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

Search the Community

Showing results for tags 'сервере'.



More search options

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Forums

  • Main category
    • S-Platoon
    • Private section
    • Marketplace
    • Chatter
  • DayZ Standalone
    • Instructions
    • Help
    • Other
    • English section
  • General section
    • ARMA 3
    • DayZ mod
    • ARMA 2
    • CS: Global offensive
    • ARK: Survival Evolved
    • Minecraft
  • Product support topics
    • Claims
    • Ready Servers
    • Scripts, mods, maps etc.
    • Vehicles
    • Models
    • Software
    • Graphics
    • Other

Categories

  • DayZ
    • Ready servers
    • Scripts, mods, files etc.
    • Vehicles
    • Models
    • Software
    • Graphics
    • Other

Find results in...

Find results that contain...


Date Created

  • Start

    End


Last Updated

  • Start

    End


Filter by number of...

Joined

  • Start

    End


Group


VK Social


Steam


ICQ


Skype


City


Web-site


Interests

Found 10 results

  1. В данной теме разберем момент настройки количества спавнящегося лута на сервере, объектов типа "автомобили и хеликраши", животых и зомби. Скажу сразу, гайд может быть не точным, поскольку официальной информации по серверной части разработчики игры не предоставляют, все основано лишь на личных наблюдениях и комментариях остальных людей. Гайд относится исключительно к версии сервера DayZ Standalone 0.61 в настроенном режиме работы сервера private hive (dboffline) с рабочим респавном лута (полная генерация папки storage со всеми ее компонентами). Пример такого сервера можно наблюдать в соседней моей теме: Упомяну также сразу и о том, что в версии 0.61 и 0.60, по сравнению с старыми версиями игры, в игру разработчиками введена так называемая "центральная экономика лута сервера". Это означает, что сервер сам постоянно анализирует количество каждого предмета, объекта, вещи на сервере, их качество, то, сколько они лежат уже, сколько с ними взаимодействовали и т.п. информацию, и уже на основании этих данных динамически подспавнивает все необходимое сам по мере необходимости. Это удобно, не правда ли? Но есть и минусы такого плана, что если каких-то вещей в палатках и бочках у людей набралось много, эти вещи просто могут перестать спавниться на сервере, поскольку они уже имеются в наличии у кого-то. Также, не исключено, что самописная система сохранений на серверах наших также вносит свой вклад в это, поскольку с каждым перезаходом на сервер база данных лута сервера перезаписывается, и для сервера может создаться эффект, что она дублируется, а значит база данных захламляется лутом и в спавне его становится меньше (эта информация не проверенная, только лишь догадка). Собственно, настройку этой системы мы и будем разбирать ниже Собственно, приступим: 1. Первым делом откроем нашу папку миссии сервера в MpMissions, зайдем в папку db и откроем файлик с именем types.xml блокнотиком (советую с Notepad ++ открыть). Увидим вот такое: 2. Разберем на примере одного из блоков (принцип един для всех блоков и одинаков). Выберем, например вот этот блок. Вот что мы здесь имеем: <type name="P1"> <!--- Там где указано 'P1' это класснейм вещи. Т.е. внутрисерверный код вещи, по которому сервер распознает, что это именно эта конкретная вещь. Список такого рода класснеймов можно найти в интернете самим вручную.--> <nominal>20</nominal> <!--- Число 20 - это наиболее вероятное количество данной вещички, которое будет иметься на сервере на сервере в целом, подспавниваться, в случае нехватки вещей на сервере, или наоборот не спавниться, если вещичек на сервере уже имеется столько или больше. Число 20 это не конкретное количество, а лишь наиболее вероятное значение, которое сервер выберет сам. Конктретное значение назначить невозможно.--> <lifetime>8500</lifetime> <!-- Число 8500 это время жизни вещички на сервере от момента ее спавна до момента ее удаления (и последующего ее переспавна, если сервер решит, что это необходимо). Число, как понимаю, указывается в секундах. В случае, если с вещью этой кто-то повзаимодействовал, счетчик секунд до ее удаления и переспавна сбрасывается, и отсчет этого времени начинается заного.---> <restock>500</restock> <!-- Незвестный мне параметр ---> <min>10</min><!--- Число 10 - это минимально допустимое количество данной вещички, которое будет иметься на сервере в целом. Работает по принципу с параметром nominal выше. Число 10 это не конкретное количество, а лишь наиболее вероятное значение, которое сервер выберет сам. Иными словами, минимальная граница диапазона. Конктретное значение назначить невозможно.--> <max>100</max><!--- Число 100 - это максимально допустимое количество данной вещички, которое будет иметься на сервере в целом. Работает по принципу с параметром nominal выше. Число 100 это не конкретное количество, а лишь наиболее вероятное значение, которое сервер выберет сам. Иными словами, максимальная граница диапазона. Конктретное значение назначить невозможно. Сервер сам при первом запуске сервера генерирует себе в базу количество в луте этой вещи на всем сервере в целом, и это число сохраняет.--> <quantmin>-1</quantmin> <!-- Незвестный мне параметр ---> <quantmax>-1</quantmax> <!-- Незвестный мне параметр ---> <cost>100</cost> <!-- Незвестный мне параметр ---> <flags>7</flags> <!-- Незвестный мне параметр ---> </type> Возможно, имеются и какие-то иные параметры записи в этот файл. В класснеймы в этом файле вводятся не только вещи, но и класснеймы хеликрашей, животных, зомби и прочего (даже транспорт есть). Грубо говоря, это таблица всего, что будет спавниться на сервере вообще. 3. Теперь откроем файлик events.xml так же. Здесь принцип тот же, но некоторые параметры уже отличаются. 4. Разберем на примере такого вот блока в этом файле. Показатели, которые есть в types.xml и имеются тут дублируются, пояснения по ним копировать не стану. (какие рабочие не знаю, указываем их и там и там) <event name="VehicleTransitBus"> <!--- Все тот же класснейм в привычном нам виде, но не объекта, как понимаю, а категории объектов. Откуда названия брать не изучал. --> <waves>3</waves> <!--- Неизвестный мне параметр--> <nominal>5</nominal> <!--- См. комментарии в types выше --> <min>3</min><!--- См. комментарии в types выше --> <max>5</max><!--- См. комментарии в types выше --> <lifetime>25000</lifetime><!--- См. комментарии в types выше --> <restock>0</restock><!--- См. комментарии в types выше --> <saferadius>1000</saferadius> <!--- Радиус спавна лута около объета, актуально для хеликрашей. --> <distanceradius>2000</distanceradius><!--- Радиус, в котором, как понимаю, объекты данного типа рядом не появятся --> <cleanupradius>0</cleanupradius><!--- Радиус в метрах, на расстоянии которого будет пропадать зомби и лут, отходящий от объекта самовольно. --> <deletedamaged>1</deletedamaged> <!--- Актуально для машинок, думаю, с названия понятно что это. --> <flags>262400</flags> <!--- Неизвестный мне параметр--> <children> <!--- Простая покатегория --> <child flags="0" lootmax="3" lootmin="0" max="5" min="5" type="TransitBus"/> <!--- Класснейм объекта, который относится к этому типу event сервера, в параметрах минимум-максимум лута у объекта или в объекте, и количество самих объектов на серре данного типа. --> </children> </event> 5. теперь разберем server.xml и globals.xml В первом файле настройка работы с базой данных сервера официальной, такие как время синхронизации данных между клиентом игры и сервером, время жизни трупов после смерти, и параметр queuetime, который не работает (это время ожидания поумолчанию перед спавном, отключено в силу технической возможности впринципе зайти на сервер вообще). Во втором файле соответственно мы имеем параметры количества спавна зомби, дистанция для динамического спавна зомби на игрока и другие какие-то настройки, смысл которых я так и не понял. ВАЖНО!!! После редактирования всех этих настроек не забываем, что если у вас имеется папка storage, и в папке storage сервера имеются одноименные bin-файлы базы данных сервера, то настройки ваши не применятся с запуском сервера, поскольку они в таком случае считываются у вас именно из storage-директории. Потому если вы хотите применить эти настройки необходимо будет либо удалить всю директорию storage, либо конкретно данные файлы! Но помните, если вы будете удалять файлы, делайте копии базы перед удалением, поскольку файлы в папке storage взаимосвязаны, и всегда имеется риск, удалив один файл, вызвать вайп или переспавн какого-то из элементов на сервере (это заметно при старте сервера в ее консоли пhи подгрузке файлов множественным serious damaged). Вроде бы и все. Не уверен, что часть из настроек этих вообще работает, а часть пояснений к ним корректно написана, но это лично мои наблюдения. Надеюсь, прояснил хоть немного о известной системе работы сервера. Если у кого есть более точная и правильная информация, просьба писать ее, будем корректировать гайд вместе.
  2. Все вопросы на этот счет сюда Все решения, если есть, то же можно сюда Начало обсуждения тут
  3. В данной теме я распишу мой вариант установки сейвзоны, работающий на момент публикации статьи на версии сервера игры 1.06.152885. Установка 1. Открываем 'init.c' в 'MpMissions' вашей. 2. Вверху файла добавляем 1 строкой: #include "$CurrentDir:\\mpmissions\\dayzoffline.chernarusplus\\Scripts\safezone.c" Где 'dayzoffline.chernarusplus' - имя папки с активной 'MpMissions' вашей. Т.е. для карты Livonia 'dayzoffline.chernarusplus' надо вручную заменить на 'dayzOffline.enoch' Пример: 3.Создаем папку 'Scripts' в корне 'MpMissions' вашей, а в ней создаем файл с именем 'safezone.c' следующего содержания: /* Author: Sania(ZoS) (aka 123new) Project: S-platoon.ru Install: 1. Create a 'Scripts' directory in your active mpmissions 2. Plase this filename (safezone.c) in 'Scripts' 3. Add in init.c this line: #include "$CurrentDir:\\mpmissions\\dayzoffline.chernarusplus\\Scripts\safezone.c" Where is 'dayzoffline.chernarusplus' is active mpmission directory in cfg filename server 4. Configure a next settings */ class SafeZone_PlugIn { protected bool Activate_SafeZone_PlugIn = true; // safezone on (true) or off (false) protected float SAFEZONE_time_repeat_checking = 10; //In seconds ref static TStringArray SAFEZONE_LOACTIONS = {"15145.1 32.9793 13919.0", "12145.1 32.9793 10919.0"};//Map coords (positions of the safe zone) protected static float SAFEZONE_RADIUS = 100; //In meter protected static string SAFEZONE_ENTRY_MESSAGE = "Welcome to The SafeZone! Godmode ENABLED!"; protected static string SAFEZONE_EXIT_MESSAGE = "You Have Left The SafeZone! Godmode DISABLED!"; void OnInit() { if(Activate_SafeZone_PlugIn) { GetGame().GetCallQueue(CALL_CATEGORY_GAMEPLAY).CallLater(RunCheckStart, (SAFEZONE_time_repeat_checking * 1000), true); } } static void RunCheckStart() { private array<Man> players = new array<Man>; GetGame().GetPlayers( players ); if (SAFEZONE_LOACTIONS.Count() > 0) { if (players.Count() > 0) { foreach(string SAFEZONE_LOACTION: SAFEZONE_LOACTIONS) { if( players.Count() > 0 ) { foreach(Man player: players) { if(player) { private PlayerBase player_casted = PlayerBase.Cast(player); CheckingPosition(player_casted,SAFEZONE_LOACTION.ToVector()); } } } } } } } static void CheckingPosition(PlayerBase player,vector SAFEZONE_LOACTION) { private float SAFEZONE_distance; private string SAFEZONE_ZoneCheck, SAFEZONE_UID_PLAYER, SAFEZONE_NAME_PLAYER; SAFEZONE_NAME_PLAYER = player.GetIdentity().GetName(); SAFEZONE_UID_PLAYER = player.GetIdentity().GetPlainId(); //Steam 64 private vector SAFEZONE_pos_player = player.GetPosition(); private vector SAFEZONE_LOCATION_FIXED = CorrectToGroundPosY(SAFEZONE_LOACTION); private string name_mesage_profile = "GodModeEnabledFor: " + SAFEZONE_UID_PLAYER + " Location: " + SAFEZONE_LOACTION.ToString(); SAFEZONE_distance = vector.Distance(SAFEZONE_pos_player,SAFEZONE_LOCATION_FIXED); if (SAFEZONE_distance <= SAFEZONE_RADIUS) //Player Inside Zone { SAFEZONE_ZoneCheck = ""; GetGame().GetProfileString(name_mesage_profile,SAFEZONE_ZoneCheck); if (SAFEZONE_ZoneCheck == "true") //Already in zone { GetGame().SetProfileString(name_mesage_profile,"true"); player.SetAllowDamage(false); //GodMode On return; } else { GetGame().SetProfileString(name_mesage_profile,"true"); Print("[SafeZone] " + SAFEZONE_NAME_PLAYER + " (" + SAFEZONE_UID_PLAYER + ") Enter in safeZone in position: " + SAFEZONE_LOCATION_FIXED.ToString()); player.SetAllowDamage(false); //GodMode On SendPersonalMessage(SAFEZONE_ENTRY_MESSAGE, player); } } else { //Player Outside of Zone if (SAFEZONE_distance > SAFEZONE_RADIUS) //Player Outside of Zone { SAFEZONE_ZoneCheck = ""; GetGame().GetProfileString(name_mesage_profile,SAFEZONE_ZoneCheck); if (SAFEZONE_ZoneCheck == "false") { GetGame().SetProfileString(name_mesage_profile,"false"); return; } else { if (SAFEZONE_ZoneCheck != "") { GetGame().SetProfileString(name_mesage_profile,"false"); Print("[SafeZone] " + SAFEZONE_NAME_PLAYER + " (" + SAFEZONE_UID_PLAYER + ") Left safeZone in position: " + SAFEZONE_LOCATION_FIXED.ToString()); player.SetAllowDamage(true); //GodMode Off SendPersonalMessage(SAFEZONE_EXIT_MESSAGE, player); } else { GetGame().SetProfileString(name_mesage_profile,"false"); return; } } } } } static vector CorrectToGroundPosY(vector pos) { private float pos_x = pos[0]; private float pos_z = pos[2]; private float pos_y = GetGame().SurfaceY(pos_x, pos_z); private vector tmp_pos = Vector(pos_x, pos_y, pos_z); return tmp_pos; } static void SendPersonalMessage(string message, PlayerBase casted_player) { Man player; Class.CastTo(player, casted_player); if(( player ) && (message != "")) { Param1<string> m_GlobalMessage = new Param1<string>(message); GetGame().RPCSingleParam(player, ERPCs.RPC_USER_ACTION_MESSAGE, m_GlobalMessage, true, player.GetIdentity()); } } } /* class SafeZone_Config //test config for json { vector SAFEZONE_LOACTION = "15145.1 32.9793 13919.0"; //Map coords (position of the safe zone) float SAFEZONE_RADIUS = 100.0; //In meter string SAFEZONE_ENTRY_MESSAGE = "Welcome to The SafeZone! Godmode ENABLED!"; string SAFEZONE_EXIT_MESSAGE = "You Have Left The SafeZone! Godmode DISABLED!";\ } */ ref SafeZone_PlugIn SafeZone = new SafeZone_PlugIn(); modded class CustomMission { override void OnInit () { super.OnInit(); SafeZone.OnInit(); } } Ну или скачиваем его отсюда в готовом виде: safezone.c Здесь: 'SAFEZONE_LOACTIONS' - координаты точкек центра сейвзоны, можно указать несколько. 'SAFEZONE_RADIUS' - радиус от указанного центра севзоны, на котором действует защита 'ENTRY_MESSAGE' - сообщение о входе в зону (не рекоммендуется указывать русский язык, может не отображаться) 'EXIT_MESSAGE' - сообщение о выходе из зоны (не рекоммендуется указывать русский язык, может не отображаться) 'SAFEZONE_time_repeat_checking' - время повтора проверки наличия игроков в зонах, в секундах 'Activate_SafeZone_PlugIn' - активация плагина скрипта, true - ключен, false - выключен 4. Запускаем сервер и проверяем. Для совсем ленивых готовая миссия сервера с настроенной сейвзоной для патча игры 1.06 dayzOffline.chernarusplus.rar Гайд обновлен: 31.01.2020
  4. Автор скрипта сообщения всем пользователям: Мизев Код функции отправки сообщения всем игрокам вставляется в OnInit () в init.c или в missionserver.c из scripts.pbo Становится глобальной серверной функцией и можно использовать где угодно на сервере (вроде бы) Что делает? Отправляет сообщение переданное в функцию всем игрокам на сервере Использование: MessageAllPlayers ("ТЕКСТ"); void MessageAllPlayers(string message) { ref array<Man> players = new array<Man>; GetGame().GetPlayers( players ); if ( players.Count() > 0 ) { for ( int i = 0; i < players.Count(); i++ ) { PlayerBase player; Class.CastTo(player, players.Get(i)); Param1<string> m_MessageParam = new Param1<string>(message); GetGame().RPCSingleParam(player, ERPCs.RPC_USER_ACTION_MESSAGE, m_MessageParam, true, player.GetIdentity()); } } } Код сообщения всем игрокам на сервере о входе НОВОГО игрока вставляется в код создания персонажа, обработки его подключения или экипировки при входе - где Вам больше нравится но после того как персонаж создастся и будет помещен в переменную к которой можно обратиться В данном примере m_player исполняется в контексте конкретного персонажа Например init.c override PlayerBase CreateCharacter(PlayerIdentity identity, vector pos, ParamsReadContext ctx, string characterName) { //...... //тут еще разный код playerEnt = GetGame().CreatePlayer(identity, characterName, pos, 0, "NONE");//Creates random player Class.CastTo(m_player, playerEnt); GetGame().SelectPlayer(identity, m_player); //inform all players about new player connected ref array<Man> players = new array<Man>; //define array for all players GetGame().GetPlayers( players ); //put all players in to array players if ( players.Count() > 0 ) // if players count > 0 { string Message = "NEW Player " + m_player.GetIdentity().GetName() + " connected!"; //message text MessageAllPlayers(Message); // call MessageAllPlayers function with Message param } return m_player; }
  5. Собственно как, как отключить battleye на сервере античит параметр BattlEye=0; не работает я так понял
  6. Доброго времени суток уважаемые. У меня возникла проблема с сервером следующего характера. Зависает процесс игры на стороне клиента. Тем более это происходит почти у каждого игрока. Когда игрок зависает максимум что он может это писать в чате. Проблема решается перезагрузкой пк на стороне клента. Как решить данную проблему и кто сталкивался с подобным. Версия сервера Arma 3 1.52, Epoch 0.3.5.0. ServerFPS у меня стабильный. Проверял все от и до. Прошу помочь!
  7. Доброго времени суто еще раз у меня возник вопрос как увеличить трейд зоны безопастности? Если можно показать примерный путь папок!!!
  8. Доброго времени суток! Помогите пожалуйста! Не могу настроить ВЕС и рестарты на сервере, уже перелопатил весь инет не могу найти подходящие файлы ВЕС + батники для него. Если кому не жалко поделитесь или хотя бы ссылочку подходящую подкиньте. Буду очень благодарен.
  9. Что то типо такого...а да,ещё текстуры неба становятся как будто рисованные карандашом.Перебрал весь сервер,сносил и переустанавливал всё 3 раза,никак не могу разобраться.Буду очень благодарен тому кто решит эту проблему.Карта Bornholm.
  10. вот такой рпт лог получаю и на клиенте и на сервере. тормоза жуткие. Все это после обновы на 1.44 и Epoch 0.3.0.3 0:43:51 Performance warning: SimpleSerialization::Read 'n441W2i0x8F7Z5x5Q6b3I' is using type of ,'CODE' which is not optimized by simple serialization, falling back to generic serialization, use generic type or ask for optimizations for these types 0:43:51 Performance warning: SimpleSerialization::Read 'e8y6b5c2c3L5Z6M2h5x8m' is using type of ,'CODE' which is not optimized by simple serialization, falling back to generic serialization, use generic type or ask for optimizations for these types 0:43:51 Performance warning: SimpleSerialization::Read 'h0I2M2Z6S3y4i7d8W8q3h1Z' is using type of ,'CODE' which is not optimized by simple serialization, falling back to generic serialization, use generic type or ask for optimizations for these types 0:43:51 Performance warning: SimpleSerialization::Read 'k7I7x4c7f3M9q7m7c7x29' is using type of ,'CODE' which is not optimized by simple serialization, falling back to generic serialization, use generic type or ask for optimizations for these types 0:43:51 Performance warning: SimpleSerialization::Read 'c1s7s6z9W1Z4y4I6q8m1y8W1W' is using type of ,'CODE' which is not optimized by simple serialization, falling back to generic serialization, use generic type or ask for optimizations for these types 0:43:51 Performance warning: SimpleSerialization::Read 'InfiSTAR_RUNNING_AH_on_Player' is using type of ,'CODE' which is not optimized by simple serialization, falling back to generic serialization, use generic type or ask for optimizations for these types 0:43:51 Performance warning: SimpleSerialization::Read 'life_nukeposition' is using type of ,'CODE' which is not optimized by simple serialization, falling back to generic serialization, use generic type or ask for optimizations for these types 0:43:51 Performance warning: SimpleSerialization::Read 'fnc_CompilableString' is using type of ,'CODE' which is not optimized by simple serialization, falling back to generic serialization, use generic type or ask for optimizations for these types 0:43:51 Performance warning: SimpleSerialization::Read 'BIS_fnc_preload_server' is using type of ,'CODE' which is not optimized by simple serialization, falling back to generic serialization, use generic type or ask for optimizations for these types
×
×
  • 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.