Перейти к публикации
Поиск в
  • Дополнительно...
Искать результаты, содержащие...
Искать результаты в...
  • Нужна помощь?

    Создайте тему в соответствующем разделе
    Не нужно писать всё в чат!
  • Загляните на торговую площадку

    Там вы можете купить
    всё что касается игровых серверов
  • Не хотите бан?

    Пожалуйста, ознакомьтесь с нашими правилами
    Не нарушайте порядок!
  • Продаёте или покупаете?

    Пользуйтесь услугами гаранта
    Мы сделаем вашу сделку безопасной

Сразу после рестарта сервера очень долго загружается миссия.

Кусок лога для примера:

 

10:57:51 Player dimquea connecting.
10:57:51 Mission DayZ Epoch Chernarus read from directory.
10:57:55 Roles assigned.
10:57:55 Reading mission ...
10:58:20 Mission read.
10:59:19 Game started.

 

всё это время либо сижу в лобби с пустой полосой загрузки, либо кидает в брифинг.

и только после этого прогружается миссия (полоса загрузки в игре) и начинается загрузка.

 

если ещё какие то логи нужны, скажите прикрпелю.

Изменено пользователем dimquea (история изменений)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Рекомендованные сообщения

  • 0

ну первый запуск всегда немного долгий. Брифинг, старт базы, старт миссии. Это нормально.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах





  • 0

Эм. И в итоге зайти на сервер ты не можешь как я понял? У меня так именно пишется когда в итоге не сможешь в игру зайти, т.к. подключения к базе данных нет. Перепроверь настройки и параметры касательно базы данных.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
  • 0

Эм. И в итоге зайти на сервер ты не можешь как я понял? У меня так именно пишется когда в итоге не сможешь в игру зайти, т.к. подключения к базе данных нет. Перепроверь настройки и параметры касательно базы данных.

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

тоесть суммарно где то 3,5 - 4 минуты уходит на подключение самого первого игрока. потом максимум минута требуется для подлючения.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
  • 0

ну первый запуск всегда немного долгий. Брифинг, старт базы, старт миссии. Это нормально.

то есть это нормально? дело ещё в том, что изза этого BEC кикает некоторых за долгое сидение в лобби.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
  • 0

Так настрой время бека на 10 минут, в чём проблема?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
  • 0

ещё много зависит от компа. был слабый, тоже самое было.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
  • 0

ещё много зависит от компа. был слабый, тоже самое было.

ну тут он вряд ли что-то поделать сможет, так что опустим.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

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

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

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

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

Зарегистрировать аккаунт

Войти

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

Войти сейчас

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

    • Автор: BorizzK
      Собираюсь заняться этим вопросом
      На форуме тем не нашел
      Может кто решал этот вопрос?
      А то как-то 3 бревна неестественно быстро выгорают, минут за 5. Хотелось бы сделать минут 30 хотя бы...
    • Автор: BorizzK
      Автор: Виталий Мизев
       
      Для начала в папке профиля сервера которая указана в параметре запуска сервера -profile=
      создаем 2 файла
      pointPlayerPVP.lst - координаты спавна нового персонажа в формате vector
      playersSetUID.ini - Steam UID игроков | номер комплекта стартового лута для выбора
       
      Пример формата файла pointPlayerPVP.lst
      6010.40 0 7742.71
      6386.92 0 7945.12
      6478.50 0 7874.77
      6044.73 0 7699.81
       
      Пример формата playersSetUID.ini - STEAMUID|номер
      76531195156927007|1
      76561838156127001|2

       
      Игроку с Steam UID 6531195156927007 будет выдат комплект 1, 76561838156127001 комплект 2, если в файле UID нет, то рандомно из остальных комплектов
       
      В файле init.c
       
      в теле класса: class CustomMission: MissionServer
       
      сначала обьявим массивы
       
      ref array<string> m_pointPlayerPVP = new array<string>;;
      ref map<string, int> m_playersSetUID = new map<string, int>;
       
      это массивы глобальны в классе и могут использоваться во всех функциях класса
       
      в теле override void OnInit() (выполняется при запуске сервера)
       
      Чтение координат спавна из файла в массив m_pointPlayerPVP
      string line_content; FileHandle file = OpenFile("$profile:pointPlayerPVP.lst", FileMode.READ); Print("::: OpenFile : pointPlayerPVP.lst : $profile"); if (file != 0) { while ( FGets( file, line_content ) > 0 ) { m_pointPlayerPVP.Insert( line_content); } CloseFile(file); } m_pointPlayerPVP.Debug();  
      Чтение Steam UID и номера из файла в массив m_playersSetUID
      array<string> strFileParam; file = OpenFile("$profile:playersSetUID.ini", FileMode.READ); Print("::: OpenFile : playersSetUID.ini : $profile"); if (file != 0) { while ( FGets( file, line_content ) > 0 ) { strFileParam = new array<string>; line_content.Split( "|", strFileParam ); m_playersSetUID.Insert(strFileParam.Get(0), strFileParam.Get(1).ToInt()); } CloseFile(file); }  
      Далее
      При создании НОВОГО обьекта игрока
       
      сначала ему задаются координаты рандомно выбираясь из массива m_pointPlayerPVP
      см как идет работа с этим массивом
      override PlayerBase CreateCharacter(PlayerIdentity identity, vector pos, ParamsReadContext ctx, string characterName) { Entity playerEnt; if (m_pointPlayerPVP.Count()>0) { Print (m_pointPlayerPVP.Count()); int maxNum = m_pointPlayerPVP.Count(); int numPoint = Math.RandomInt(0, maxNum - 1); pos = m_pointPlayerPVP.Get(numPoint).ToVector(); } playerEnt = GetGame().CreatePlayer(identity, characterName, pos, 0, "NONE");//Creates random player Class.CastTo(m_player, playerEnt); GetGame().SelectPlayer(identity, m_player); return m_player; }  
      Затем при создании стартового комплекта лута комплект выдается в зависимости от наличия в файле UID и номера после | (комплекта) (в данном случае для номера 1 набор собран (см case :1) , для остальных ничего)
      override void StartingEquipSetup(PlayerBase player, bool clothesChosen) { //По умолчанию номер комплекта выбирается рандомно int numSet = Math.RandomInt(2,6); /// 1 - Админ сет, 2-6 сеты для всех пока пусты EntityAI itemEnt; ItemBase itemBs; //Это тут на всякий случай //Получаем UID //PlayerIdentity p_identity = player.GetIdentity(); //p_identity.GetName(); // Получим имя игрока //p_identity.GetPlainId(); // UID в нашем знакомом виде 7656119********** //p_identity.GetId(); // получим UID в не знакомом виде Ue7dyagee34********* //p_identity.GetPlayerId(); // получим порядковый номер объекта типа игрок PlayerIdentity p_identity = player.GetIdentity(); string p_name = p_identity.GetName(); int p_id = p_identity.GetPlayerId(); if( p_identity ) { string uid_pl = p_identity.GetPlainId(); if (m_playersSetUID.Contains(uid_pl)) { numSet = m_playersSetUID.Get(uid_pl); } } itemEnt = player.GetInventory().CreateInInventory("Rag"); itemBs = ItemBase.Cast(itemEnt); itemBs.SetQuantity(4); SetRandomHealth(itemEnt); itemEnt = player.GetInventory().CreateInInventory("RoadFlare"); itemBs = ItemBase.Cast(itemEnt); switch( numSet ) //Раздаем лут { case 1: //ADMIN { player.RemoveAllItems(); player.GetInventory().CreateInInventory("CoyoteBag_Green"); itemBs = ItemBase.Cast(itemEnt); player.GetInventory().CreateInInventory("TTSKOPants"); itemBs = ItemBase.Cast(itemEnt); player.GetInventory().CreateInInventory("TTsKOJacket_Camo"); itemBs = ItemBase.Cast(itemEnt); player.GetInventory().CreateInInventory("CombatBoots_Black"); itemBs = ItemBase.Cast(itemEnt); player.GetInventory().CreateInInventory("CombatKnife"); itemBs = ItemBase.Cast(itemEnt); player.GetInventory().CreateInInventory("FNX45"); itemBs = ItemBase.Cast(itemEnt); player.GetInventory().CreateInInventory("Mag_FNX45_15Rnd"); itemBs = ItemBase.Cast(itemEnt); player.GetInventory().CreateInInventory("Mag_FNX45_15Rnd"); itemBs = ItemBase.Cast(itemEnt); player.GetInventory().CreateInInventory("Mag_AKM_30Rnd"); itemBs = ItemBase.Cast(itemEnt); player.GetInventory().CreateInInventory("Mag_AKM_30Rnd"); itemBs = ItemBase.Cast(itemEnt); itemEnt = player.GetInventory().CreateInInventory( "akm" ); itemEnt.GetInventory().CreateAttachment( "PSO11Optic" ); itemEnt.GetInventory().CreateAttachment( "AK_WoodBttstck" ); itemEnt.GetInventory().CreateAttachment( "AK_WoodHndgrd" ); itemEnt.GetInventory().CreateAttachment( "AK_Suppressor" ); itemEnt = player.GetInventory().CreateInInventory("Rag"); itemBs = ItemBase.Cast(itemEnt); itemBs.SetQuantity(4); itemEnt = player.GetInventory().CreateInInventory("RoadFlare"); itemBs = ItemBase.Cast(itemEnt); player.SetHealth("","",1000); //ТЕСТ //SetAllowDamage НЕ РАБОТАЕТ ДЛЯ ОНЛАЙНА - БОГЕМЦЫ ВЫКЛЮЧИЛИ //Тут обсуждение - https://forums.dayz.com/topic/240028-pve-server-disable-pvp-damage/ //Есть идея насчет доработки кода обрабатывающего нанесение урона player.SetAllowDamage(false); break; } case 2: { break; } case 3: { break; } case 4: { break; } case 5: { break; } case 6: { break; } } } Вот как-то так
       
      На основе этого можно построить свою более развитую систему, например загружая координаты для кастомного спавн лута,  расстановки зданий и тп
       
       
    • Автор: 123new
      В данной теме напишу простенький гайд о том, как самому добавить/изменить время существования трупа умершего игрока на своем собственном сервере DayZ.
       
      Гайд пригодится тем, кто сам делает свою сборку сервера, либо по каким-то причинам пользуется не моей сборкой сервера (где это уже сделано), а чьей-либо еще. Обращаю ваше внимание на тот факт, что часть файлов, описанных в гайде, у вас могут уже быть вынесены в другое место или названы несколько иначе (это зависит от сборки сервера, которую вы используете, например, в сборке dankdayz вся mpmissions вынесена в отдельный файл в addons сервера), гайд основывается на чистых серверных файлах игры и отталкивается от них.
      Гайд сделан для версий игры с серверной частью 0.60-0.62, но может быть совместим и с другими версиями игры, если файлы серверной части игры не поменяли своего текущего месторасположения и содержания. Гайд составлен по версии серверных файлов игры 0.62 чистой "девственной" и не правленой никем версии игры.
      Напоминаю заранее, в моих серверных файлах версий 0.60, 0.61 и 0.62 из моих гайдов на данном форуме это уже сделано и делать это не нужно!!!
       
      Данный гайд с данной темы будет дополнением к гайду из темы
      И подразумевает, что данный гайд был вами уже выполнен, процедура event_playerKilled уже обозначена и вынесена в файл event_playerKilled.sqf, а сам файл существует у вас в папке по такому пути: "Mpmissions\{папка с активной "MpMissions}\scripts\events\event_playerKilled.sqf"
      Также, он потребует наличия файла event_playerKilled.sqf, вынесенного в MpMissions вами из Addons сервера игры и активированного на вашем сервере.
      Если такого файла или папок у вас нет, смотрите выше указанную тему о том, как его вынести!
       
      Нам понадобятся:
      1. Notepad++ https://notepad-plus-plus.org/download/
      2. Ваши серверные файлы игры с вынесенным в "Mpmissions" файлом "event_playerKilled.sqf"
       
      И так, приступим.
      1. Открываем в Notepad++ фаш файл "event_playerKilled.sqf". У меня он находится по пути: "Mpmissions\{папка с активной "MpMissions}\scripts\events\event_playerKilled.sqf"
      2. В конце файла находим
      dbDestroyCharacter [_uid, _agent]; или
      dbDestroyCharacter _agent; или
      deletevehicle _agent; и удаляем ее, либо комментируем ее символом "//", так чтобы получилось вот так, например:
      //dbDestroyCharacter [_uid, _agent]; 3. На место найденной строки добавляем код:
      null = [_agent, DZ_TIME_DELETE_DEAD_PLAYER,_uid ] spawn { private["_agent","_uid","_time_dead_player_delete"]; _agent = (_this select 0); _time_dead_player_delete = (_this select 1); _uid = (_this select 2); sleep _time_dead_player_delete; deletevehicle _agent; diag_log format ["Dead agent %1 player with UID %3 is deleted in timestamp %2!",_agent, time,_uid]; }; 4. Открываем вашу "Mpmissions", далее папку с активной "MpMissions", и открываем файл "init.sqf" в Notepad++. Добавляем в любом месте файла (лучше всего в начале или после после "simulWeatherSync;") следующее:
      DZ_TIME_DELETE_DEAD_PLAYER = 300; // Время в секундах до удаления трупов мертвых игроков. Где 300 - 5 минут в секундах
    • Автор: DrTauren
      Этот скрипт добавит туман в ночное время. Тот же самый что когда-то добавляли на серверах Arma2. 
      Он появляется вокруг игроков и машин при условии что игрок сидит внутри.
       
      Инструкция:
      1) Создаём файл ground_fog.sqf со следующим содержимым:
      // Ground Fog - TorturedChunk - Kaysi - mmmyum @ OpenDayZ.net //Modify By CNSU waitUntil {!isNull player};                                                                                                                                                                                                                                                                                                                                                                                      doofog = { private ["_obj","_pos","_fog1","_fog2","_fog3","_inVehicle"];         _inVehicle = (vehicle player != player);           if (_inVehicle) then {             _obj = (vehicle player);         } else {             _obj = player;         };           _pos = position _obj;           _fog1 = "#particlesource" createVehicleLocal _pos;         _fog1 setParticleParams [         ["\A3\Data_F\ParticleEffects\Universal\universal.p3d" , 16, 12, 13, 0], "", "Billboard", 1, 10,             [0, 0, -6], [0, 0, 0], 1, 1.275, 1, 0,             [7,6], [[1, 1, 1, 0], [1, 1, 1, 0.04], [1, 1, 1, 0]], [1000], 1, 0, "", "", _obj         ];         _fog1 setParticleRandom [3, [55, 55, 0.2], [0, 0, -0.1], 2, 0.45, [0, 0, 0, 0.1], 0, 0];         _fog1 setParticleCircle [0.001, [0, 0, -0.12]];         _fog1 setDropInterval 0.01;           _fog2 = "#particlesource" createVehicleLocal _pos;         _fog2 setParticleParams [         ["\A3\Data_F\ParticleEffects\Universal\universal.p3d" , 16, 12, 13, 0], "", "Billboard", 1, 10,             [0, 0, -6], [0, 0, 0], 1, 1.275, 1, 0,             [7,6], [[1, 1, 1, 0], [1, 1, 1, 0.04], [1, 1, 1, 0]], [1000], 1, 0, "", "", _obj         ];         _fog2 setParticleRandom [3, [55, 55, 0.2], [0, 0, -0.1], 2, 0.45, [0, 0, 0, 0.1], 0, 0];         _fog2 setParticleCircle [0.001, [0, 0, -0.12]];         _fog2 setDropInterval 0.01;           _fog3 = "#particlesource" createVehicleLocal _pos;         _fog3 setParticleParams [         ["\A3\Data_F\ParticleEffects\Universal\universal.p3d" , 16, 12, 13, 0], "", "Billboard", 1, 10,             [0, 0, -6], [0, 0, 0], 1, 1.275, 1, 0,             [7,6], [[1, 1, 1, 0], [1, 1, 1, 0.04], [1, 1, 1, 0]], [1000], 1, 0, "", "", _obj         ];         _fog3 setParticleRandom [3, [55, 55, 0.2], [0, 0, -0.1], 2, 0.45, [0, 0, 0, 0.1], 0, 0];         _fog3 setParticleCircle [0.001, [0, 0, -0.12]];         _fog3 setDropInterval 0.01;           _this setVariable ["playerfog", floor time + 5];           sleep 120;           deleteVehicle _fog1;         deleteVehicle _fog2;         deleteVehicle _fog3;     }; [] spawn {     while {true} do {         if(daytime < 7 || daytime > 19) then {             if (player getVariable ["playerfog", -1] < time) then {                 player setVariable ["playerfog", floor time + 5];                 player spawn doofog;                 sleep 120;             };         };     }; }; 2) Сохраняем его в любое место в папке вашей миссии. Например в корневую папку миссии
      3) Открываем файл init.sqf и добавляем эту строку:
      _GF = [] execVM "ground_fog.sqf";  
  • Наш выбор

×
×
  • Создать...

Важная информация

Используя этот сайт, вы автоматически обязуетесь соблюдать наши Правила и Политика конфиденциальности.
Чтобы сделать этот веб-сайт лучше, мы разместили cookies на вашем устройстве. Вы можете изменить свои настройки cookies, в противном случае мы будем считать, что вы согласны с этим.