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

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

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

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

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

DayZ Standalone v0.62.142963 Server Files + рабочий респавн персонажа и лута

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

18 часов назад, 123new сказал:

BorizzK

О нагрузке - энскрипт грузит ПК, спавн зомбей, лета и т.п.

Оставил в спавн 100 зомби, отключил хеликраши и тачки. Почистил storage_1. Один фиг грузит под сто процентов... Неужели он такой обжора) Сервак Армы Ексайл как-то пободрее там работал)))

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


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

BorizzK player_queued.sqf даже при перенаправлении на сторону миссии не используется. Почему? Потому как если запрос уйдет на клиентскую сторону после коннекта к серверу на этапе начала обращения в player_quied, то назад уже управление серверу не вернется. Обращение до этого не доходит тупо и банально.

Ради интереса сравни dbloadplayer в миссии сервера и в пбо сервера, они отличаются одной функцией, функцией запроса персонажа в бд сервера, но при этом в эту функцию какие-то параметры должны попасть. Какие - любопытно даже мне)

scrdefft обжора не то слово. отключите весь динамический спавн сменой

dbInitEconomy [true];

на

dbInitEconomy ["http://localhost:8080/"];

и тогда жрать будет раза в 2 меньше. Да, при запуске сервера будут ошибки, лут перестанет респавниться сам, зомби и животных динамично респавнящихся не будет. Но жрать будет меньше)

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


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

123new Хм... Действительно)). И сразу запустил чтоб всего наспаунилось, а потом поставил эти параметры и тормозов нет... выходит наличие самого процесса динамического спавна грузит так все... гад. Но без него ж никак))

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


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

123new 

Хм - у меня Core i5 3570 грузит проц не более чем на 50% даж если наспавнить лута, машин и запустить 12 игроков (больше пока не получилось)

 

Хочу теперь понять - как спавнить здания и тп обьекты типа кранов в конкретных координатах...

 

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


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

BorizzK 123new Все ок, это у меня корчик... Запустил на i7 и 16г озу - все летает... Но блин вот с этими крашами сервера когда некоторый лут беру - бедаа)))  Шлем 3 раза поднимал и запускал серв и игру заново... пока вспомнил что косяк такой есть... Как его победить?(

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


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

scrdefft Просто - отключить спавн шлема )))) в types.xml и в cfgSpawnableTypes.xml

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


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

BorizzK Так наверное не только ж шлем крашить будет... Там нибось нормальная жменя лута...

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


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

scrdefft Ну как бы я пока только со шлемом проблемы заметил

 

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


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

BorizzK по поводу загрузки персонажа и респавна (того что выше писалось на последних 2 страницах)

Потестируйте миссию сервера:

https://yadi.sk/d/7_5ROvsZ3TaeSw

сам бы потестировал, но не могу долго обкатывать, т.к. и времени не хватает, и держать не могу долго ПК включенным, т.к. грузит сервер сильно.

Огромнейшая благодарность benwood за его наработки от меня лично, и, от лица всего commynity, занимающихся серверами.

Что в изменениях:

* система сохранений от benwood новая (потери лута по идее теперь минимизироваться должны)

* весь loadplayer такой же как и у benwood с минимальными изменениями

* сохранен весь мой функционал

* респавн с анкурсии вроде бы работает нормально, звуки есть, перезаход не требуется

* вынес отдельно в инит время, отсводящееся на респавн игрока отдельным параметром

Если все будет хорошо, обновлю сборку в теме.

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

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


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

scrdefft угу, есть такое. Оптимизации со времен 60 патча нам не обещали, так что ждем 63 в надежде что там таки с этим будет порядок)) По крашам - просто крашащий лут надо вычистить с types и перегенерировать storage ;)
BorizzK по поводу зданий - так то легко. класснейм здания чисто нужен, а принцип спавна аналогичен спавну палаток или хеликрашей.

 

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

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


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

123new 

 

Скачал

Респавн из ванкунсии действительно работает )))

Изучаю что к чему

Вижу скрипты переписали немного

создание нового перса вынесли в отдельный скрипт fnc_newPlayer

координаты в нем забираются в массив из отдельного файла fnc_posBubbles

респавн через spawn сделали - задержки не игнорятся

то же в дисконнекте

неплохо так

 

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

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


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

BorizzK угу. по большей части просто использовал систему от benwood, т.к. лепить назад все в 1 скрипт долго и муторно, а тут уже поделено по процедурам граммотно.
А почему в его системе респавн корректно работает я уже понял, он граммотно это загнал в вычисление отдельным потоком данных)

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

В общем и целом по логике должно нормально работать, но надо проверять и наблюдать долго и с игроками)

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

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


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

123new 

Пока  все норм

Но надо задержку при входе нового сделать по принципу как в респавне

Пытался сейчас сделать нахрапом - не вышло

 

Глянешь? Чую где-то слошил по неопытности

 

_clientNew =
{
	_uid 		= getClientUID _id;
	_savedChar 	= _uid call fnc_dbFindInProfile;
	_isAlive 	= _savedChar select 0;
	_pos 		= _savedChar select 2;
	
	diag_log format["CONNECTION: _id: %1 _uid: %2 _name: %3",_id,_uid,_name];

	_vm = [_id,_uid,_isAlive,_pos] spawn 
	{

	_id = _this select 0;
	_uid = _this select 1;
	_isAlive = _this select 2;
	_pos = _this select 3;

	if (DZ_Enable_Login_Disconnect_Messages) then
	{
		{
			[_x, format["Player %1 connected to server",_name], "colorStatusChannel"] call fnc_playerMessage;
		} foreach players;
	};

	if (DZ_TIME_WAITING_SPAWN_PLAYER > 0) then 
	{
			[_id,DZ_TIME_WAITING_SPAWN_PLAYER] spawnForClient {
			
					sTIMER = _this select 1;
					
					null = [] spawn {while {sTIMER > -1} do {setEVUser -5}};
					
					disableUserInput true;
					
					while {sTIMER > -1} do {
						titleText[format["Spawning in %1 seconds... Please wait...",sTIMER],"PLAIN",10e10];
						sTIMER = sTIMER - 1;
						sleep 1;	
					};
					
					sleep 1
					
					disableUserInput false;	

					titleText["Spawning...","PLAIN",10e10];
				};
	};
	
	if (_isAlive) then {[_id,_uid,_pos] call fnc_previousPlayer} else {[_id,_uid] call fnc_newPlayer};

	diag_log format["CONNECTION: FOR PLAYER WITH UID %1 AND NAME %2 PROCEDURE CONNECT IS FINISHED!",_uid,_name];
	
	};
};

 

 

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

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


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

BorizzK так выстави в инит миссии сервера параметр DZ_TIME_WAITING_SPAWN_PLAYER побольше, скажем 60 поставишь, и каждый подключившийся будет 60 секунд сидеть ждать старта игры

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


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

123new Я про другое

при респавне ожидание выглядит как в оригинале - ни звуков - ничего - черный экран с отчетом и тишина

при спавне нового  и загрузке сохраненного немного по другому

 

а отличия только в том что процесс респавна вызывается внутри процедуры через spawn

 

У меня кстати еще вопрос

вот например здание поставить по определенным координатам - как?

 

createVehicle ["Mil_ControlTower", [4300,10880)], [], 0, "NONE"]; оно?

 

 

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

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


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

BorizzK а разница в том, что при присоединении игрока к серверу если сделать процедуру похожей на респавн, то сервер крашнется у нас.

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

А вот при респавне у нас прошлый персонаж умирает, особенно это видно когда при анкурсии респавн жмешь и проскакивает в какое-то время you are dead наше любимое.  А разница в том, что при респавне прокатывает такая схема как вызов действий в потоке не приостанавливая текущую процедуру (через spawn), а значит мы на экране ожидания респавна тишину ловим, т.к. за  отсчетом уже наше you are dead висит, а следующими своими действиями по созданию нового персонажа мы перебиваем текущие действия на экране, создавая и передавая управления игроку.

Т.е. раньше мы стопорились на том, что экран смерти поглащал управление персонажем, тут же ситуация наоборот) А вот такую же структуру при загрузке персонажа пытался сделать, сразу краш сервера.

По поводу createVehicle все верно

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


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

Бегаю в новой миське.. Все красиво, ровно)) Может где-то писали - не заметил: Есть ли какая панель управления, типа админ тулс или еще чего, на подобии инфистара для армы? Карты внутри игры вообще нет? Сори за глупые вопросы я в стандалоне 5-й день. 

И еще вопрос - как сделать русскими надписи типа я голоден, я устал... вроде в конфиге прописал руссиан вместо инглишь... описание некоторых предметов на русском.. и как убрать меню status в игре)))

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

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


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

scrdefft Есть типа админка через баттлай  BEC, DaRT и EPMRCon

DaRT и EPMRCon работают влет, BEC никак

Есть еще (в этой теме писали) Server Manager (он платный). Интерфейс у него правда ужасен, но что есть. В нем вроде карта есть, но запустить мне его вообще не удалось нормально.

Для всех нужно включить баттлай на сервере в конфиге.

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


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

123new 

Проверка на существование переменной это

например

 

if (isNull ПЕРЕМЕННАЯ) then {

 тут код если перемененная не существует)

};

 

if (!isNull ПЕРЕМЕННАЯ) then {

 тут код если перемененная существует

} else {

тут код если перемененная не существует

};

 

if (ПЕРЕМЕННАЯ == "значение" ) then {

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

} else {

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

};

 

Я все верное понимаю?

 

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


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

isNull для objNull

Ну, то есть как правило для объкетов, а не для переменных

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

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


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

BorizzK в общем и целом принцип верный описан, логика именно такая во всяком случае.
по поводу bec и SM, я вас в дискорд еще на  выходных добавил, вы так и не одобрили запрос мой)

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


Ссылка на сообщение
Поделиться на других сайтах
7 часов назад, scrdefft сказал:

Бегаю в новой миське.. Все красиво, ровно)) Может где-то писали - не заметил: Есть ли какая панель управления, типа админ тулс или еще чего, на подобии инфистара для армы? Карты внутри игры вообще нет? Сори за глупые вопросы я в стандалоне 5-й день. 

И еще вопрос - как сделать русскими надписи типа я голоден, я устал... вроде в конфиге прописал руссиан вместо инглишь... описание некоторых предметов на русском.. и как убрать меню status в игре)))

панели управления внутриигровой пока нету, и не встречал ничего рабочего.
Карта внутриигровая не работает, отключена разработчиком игры.
Русификация - это менять pbo надо  ручками на стороне игры и сервера (точно не скажу как, где-то видел, вроде даже тут, информацию о том как это делается). полной русификации игры пока нет.

Меню статус убирается в config.cfg сервера, там помечена строка с этой настройкой.

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


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

123new 

Да все не доберусь до дискорда

 

У меня тут затык нарисовался как раз

 

В начале dbLoadPlayer.sqf нужно проверить переменную заданную или не заданную в init.sqf (например DZ_PVP_MISSION_LOCATION = "SZ";)

 

При любом раскладе если добавляю такое - сервак на этом спотыкается и дальше не грузится

 

if ( isNull DZ_PVP_MISSION_LOCATION ) then {
 diag_log format[" dbLoadPlayer.sqf: Set sefault mission."];

} else {
  diag_log format[" dbLoadPlayer.sqf: Set mission to Custom - %1",DZ_PVP_MISSION_LOCATION];
};

 

 

 

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


Ссылка на сообщение
Поделиться на других сайтах
21 минуту назад, BorizzK сказал:

123new 

Да все не доберусь до дискорда

 

У меня тут затык нарисовался как раз

 

В начале dbLoadPlayer.sqf нужно проверить переменную заданную или не заданную в init.sqf (например DZ_PVP_MISSION_LOCATION = "SZ";)

 

При любом раскладе если добавляю такое - сервак на этом спотыкается и дальше не грузится

 

if ( isNull DZ_PVP_MISSION_LOCATION ) then {
 diag_log format[" dbLoadPlayer.sqf: Set sefault mission."];

} else {
  diag_log format[" dbLoadPlayer.sqf: Set mission to Custom - %1",DZ_PVP_MISSION_LOCATION];
};

 

 

 

попробуй так

 if ( isNil "DZ_PVP_MISSION_LOCATION" ) then {
 diag_log format[" dbLoadPlayer.sqf: Set sefault mission."];

} else {
  diag_log format[" dbLoadPlayer.sqf: Set mission to Custom - %1",DZ_PVP_MISSION_LOCATION];
}; 

для объектов IsNull https://community.bistudio.com/wiki/isNull

для переменной или результата выполнения функции\кода IsNil https://community.bistudio.com/wiki/isNil

 

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

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


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

Alexis 

8 часов назад, Alexis сказал:

isNull для objNull

Ну, то есть как правило для объкетов, а не для переменных

А как для переменных?

Как мне узнать определена строковая переменная или нет?

 

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


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

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

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

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

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

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

Войти

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

Войти сейчас

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

    • Автор: Troy1
      Всем привет. пишу мод и столкнулся с проблемой в реализации.
      Суть: Пытаюсь сделать проверку, если игрок стоит прям у окна или у дверного проёма он должен получать урон.
      Делал вот так.
      int wallHits = 0; float d = 2.2; // Дистанция до стены. Если стена дальше — считаем, что там окно или проем. // 8 направлений "снежинкой" для проверки стен вокруг игрока // Используем Vector(x, y, z) для точности ref array<vector> checkDirs = { Vector(d,0,0), Vector(-d,0,0), Vector(0,0,d), Vector(0,0,-d), Vector(d,0,d), Vector(-d,0,-d), Vector(d,0,-d), Vector(-d,0,d) }; foreach (vector dir : checkDirs) { // Пускаем горизонтальные лучи от позиции игрока (from) if (DayZPhysics.RayCastBullet(from, from + dir, collisionLayerMask, this, hitObject, hitPosition, hitNormal, hitFraction)) { // ПРОВЕРКА: Это должна быть вертикальная стена (Y нормали < 0.5) // Чтобы не засчитать низкий потолок за стену if (Math.AbsFloat(hitNormal[1]) < 0.5) { wallHits++; } } } // УСЛОВИЕ БЕЗОПАСНОСТИ: // В комнате wallHits будет 6-8. У окна или в проеме — 1-4. if (wallHits < 5) { hasSafeCeiling = false; // Слишком открытое пространство (окно/дверь) } Пытался менять дистанции, но всё ровно не как не хочет работать.
      Что я делаю не так, или я вообще делаю не то?
      Мне нужно проверять игрока, в укрытии он или нет.
      С высотой я разобрался, а вот с боковыми лучами у меня траблы и не во всех помещениях работает как нужно.
      В некоторых помещениях вообще не работает, удаляешь строки проверки, начинает работать и то по высоте.
      Просто забегаешь по навес и игрок под защитой, так не должно быть.
      Помогите пожалуйста  решить задачу.
    • Автор: Troy1
      Всем привет. Суть в чём, пишу мод на событие и когда происходит событие, параллельно должна меняться скорость ветра, не могу понять как заставить скрипт управлять силой ветра. Понижать силу ветра получилось сделать, а вот повышать не как. Только после перезагрузки сервера сила ветра задаётся в нужном значение.
      Как сделать, что бы по вызову функции менялась сила ветра в большую или в меньшую сторону?
      protected void SetWind(float wind, float time) { if (!g_Game) return; Weather m_Weather = g_Game.GetWeather(); if (!m_Weather) return; m_Weather.SetWindMaximumSpeed(wind); m_Weather.SetWind(Vector(1/Math.Sqrt(3), 1/Math.Sqrt(3), 1/Math.Sqrt(3)) * wind); m_Weather.SetWindSpeed(wind); m_Weather.SetWindFunctionParams(1.0, 1.0, -1); } Это скрипт на понижение силы ветра.
      Работает понижение силы ветра в том случае, если до этого сила ветра была выше.
      Пример:
      Изначально на сервере сила ветра = 20 m/s А нужно понизить до 10 m/s
      Только в этом случае сработает скрипт который я приложил выше.
      Помогите пожалуйста решить этот вопрос.
      За ранние благодарю.
    • Автор: Troy1
      Пока ждал помощи, решил вопрос!
      Тема закрыта!!!
    • Автор: magliner
      Привет ! Ну вот моя история с вопросом в конце.. Я фанат Дэйз ванилы черноруси, заколебало сидеть на бездушных серверах со слабой админкой и терять лут от софтеров, решил создать под свои скромные запросы около ванильный сервер.. Нашел хорошего исполнителя, быстро и четко запустили отладили и ВОТ я имею СВОЙ сервер.. клас! вечер восторга и изучения
      Пожалуйста, Войдите или Зарегистрируйтесь, чтобы увидеть это: Вложение.

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

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

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

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