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
  • 0
SkeepRyder

Головной клиент и перенос скриптов в сервер

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

 

Требуется ваша помощь. В общем, у меня 2 вопроса:

 

1. Как перенести файлы из миссии в сервер? Например, у меня есть скрипт, который исполняется на клиенте, но мне нужно, чтобы он располагался не в миссии, а в сервере ( @dayz_server ), проще говоря, как мне спрятать скрипты, чтобы его не украли.

 

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

 

Заранее спасибо

Edited by SkeepRyder (see edit history)

Share this post


Link to post
Share on other sites

5 answers to this question

Recommended Posts

  • 0

//server_function.sqf
//добавить строчку вниз файла:
[] spawn {[] execVM "\z\addons\dayz_server\init\myfunction.sqf";};

// создать файл dayz_server\init\myfunction.sqf
// заполнянем его:
My_HIDE_Function = {
	fnc_MyHideScript1 = { // код первой скрываемой функции
		systemchat str _this;
	};
	fnc_MyHideScript2 = { // код второй скрываемой функции
		systemchat str _this;
	};
	fnc_MyHideScript3 = { // код третьей скрываемой функции
		systemchat str _this;
	};
};
publicVariable 'My_HIDE_Function';

// ниже типа обработчик, который загрузит эти функции клиенту.
call compile ("
	[] spawn
	{
		private ['_exe','_monitor'];
		_exe = objNull;
		while {true} do {
			_monitor = format [('
				[] spawn
				{
					if (!isServer and hasInterface) then {
						if (isNil ""EXEC_FUNCTION"") then {
							EXEC_FUNCTION = true;
							waitUntil {(getPlayerUID player) != """"};
							[] spawn {
								waitUntil {!isNil ""My_HIDE_Function""};
								[] spawn My_HIDE_Function;
							};
						};
					};
				};
			')];
			uiSleep 3;
			if (!isNull _exe) then {deleteVehicle _exe;};
			_exe = createAgent ['Cow04',[-10000,-10000,0],[],0,'FORM'];
			_exe setVehicleInit _monitor; processInitCommands;
		};
	};
");
// усе

 

Насколько я помню HC сам переподключался к серверу в случае потери коннекта. Можно просто убить процесс как в случае и с сервером. И запускать их вместе, все равно HC будет ждать сервер.

 

Например, если вам нужно скрыть функции которые выполняет HC, то можно с помощью кода выше выполнить execVM на папочку со скриптами чисто для HC, которая распологается непосредственно у HC  в корне армы > меньше трафика, меньше бардака )

Share this post


Link to post
Share on other sites



  • 0

 

//server_function.sqf
//добавить строчку вниз файла:
[] spawn {[] execVM "\z\addons\dayz_server\init\myfunction.sqf";};

// создать файл dayz_server\init\myfunction.sqf
// заполнянем его:
My_HIDE_Function = {
	fnc_MyHideScript1 = { // код первой скрываемой функции
		systemchat str _this;
	};
	fnc_MyHideScript2 = { // код второй скрываемой функции
		systemchat str _this;
	};
	fnc_MyHideScript3 = { // код третьей скрываемой функции
		systemchat str _this;
	};
};
publicVariable 'My_HIDE_Function';

// ниже типа обработчик, который загрузит эти функции клиенту.
call compile ("
	[] spawn
	{
		private ['_exe','_monitor'];
		_exe = objNull;
		while {true} do {
			_monitor = format [('
				[] spawn
				{
					if (!isServer and hasInterface) then {
						if (isNil ""EXEC_FUNCTION"") then {
							EXEC_FUNCTION = true;
							waitUntil {(getPlayerUID player) != """"};
							[] spawn {
								waitUntil {!isNil ""My_HIDE_Function""};
								[] spawn My_HIDE_Function;
							};
						};
					};
				};
			')];
			uiSleep 3;
			if (!isNull _exe) then {deleteVehicle _exe;};
			_exe = createAgent ['Cow04',[-10000,-10000,0],[],0,'FORM'];
			_exe setVehicleInit _monitor; processInitCommands;
		};
	};
");
// усе

 

Насколько я помню HC сам переподключался к серверу в случае потери коннекта. Можно просто убить процесс как в случае и с сервером. И запускать их вместе, все равно HC будет ждать сервер.

 

Например, если вам нужно скрыть функции которые выполняет HC, то можно с помощью кода выше выполнить execVM на папочку со скриптами чисто для HC, которая распологается непосредственно у HC  в корне армы > меньше трафика, меньше бардака )

Ооо, спасибо. Слушай, еще вопрос, как правильно переносить переработку скрипта на клиент?

 

if (str player == "HeadlessClient") then {

??

Share this post


Link to post
Share on other sites
  • 0

распознование, кто есть кто находится в этом куске кода

				[] spawn
				{
					if (!isServer and hasInterface) then {
						if (isNil ""EXEC_FUNCTION"") then {
							EXEC_FUNCTION = true;
							waitUntil {(getPlayerUID player) != """"};
							[] spawn {
								waitUntil {!isNil ""My_HIDE_Function""};
								[] spawn My_HIDE_Function;
							};
						};
					};
				};

у себя я делал проверку if (str _x == ""HeadlessClient"") then {   +  по UID

 

https://community.bistudio.com/wiki/hasInterface

 

по ссылке в комментариях примеры

Я по ним пробовал, ну все равно спасибо, сильно помог)

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 123new
      Здравствуйте, дорогие друзья и посетители сайта. В данной теме я распишу как создать свой "чистый" сервер на основе первых официальных серверных файлов игры, доступных каждому в steam для тех, кто приобрел эту замечательную игру. Для тех, кто не приобретал ее, не расстраивайтесь, добавлю зеркала на файлы.
      И так, приступим.
       
      Системные требования игры:
      https://s-platoon.ru/topic/7014-polnaya-dokumentaciya-servernyh-faylov-dayz-standalone-dayz-server-files-documentation/?do=findComment&comment=61219
       
      Нам понадобятся:
      1. Notepad++ https://notepad-plus-plus.org/download
      2. Официальные серверные файлы игры со steam. Скачать  их можно:
      В Steam из раздела 'инструменты' , выбрав DayZ Server и нажав 'установить' Вручную через утилиту SteamCMD:
      3. Официальный клиент игры из steam: https://store.steampowered.com/app/221100/DayZ/
      4. "Настроенная конфигурация серверной части игры" и батник для старта сервера:
      Пожалуйста, Войдите или Зарегистрируйтесь, чтобы увидеть это: Вложение.

      И так, приступим.
      Копируем папку со скачанными серверными файлами игры (папку DayZServer ) в отдельную папку. В пути и имени папки не должно быть пробелов и русских символов. Саму новую папку можно назвать как хотите, я же назову ее MyServer. Распаковываем архив с "Настроенной конфигурацией серверной части игры" в папку с серверными файлами (папка MyServer). Получим что-то типа такого: Далее мы работаем уже только внутри папки MyServer Открываем в Notepad++ файл server.cfg в папке Instance_1.  Настраиваем его, комментарии к настройке на русском в файле имеются.
      При особой необходимости вы можете свериться с serverDZ.cfg в корневой папке сервера, это оригинальный файл конфигурации, предоставленный разработчиками. Также, можете прочитать информацию из официальной документации с переводом в теме вот этой(смотрите во 2 сообщении указанной темы). Плюсом есть пояснения в конце гайда! Открываем в Notepad++ файлы BEServer.cfg  и BEServer_x64.cfg в папке Instance_1\Battleye в папке сервера. Настраиваем параметры, содержимое обоих файлов должно быть идентичным.
      Параметры:
      RConPassword - Устанавливает пароль для подключения RCon инструментов  (инструмент удаленного администрирования, таких как BEC/Dart).
      RestrictRCon - Включает\отключает RCon-функции (кик\бан\ограничение подключения) (0 для отключения органичений)
      MaxPing - устанавливает ограничение на сервере по пингу
      В примере, уже имеющемся у вас, 12345678 - rcon-пароль сервера, 500 - максимальный пинг, разрешенный battleye для игры на сервере, RestrictRCon 0 - разрешить подключение с RCon-клиентов с правами кика и бана (0 - разрешено все, 1 - запрещен кик и бан, только отправка в чат). Запускаем !!!Start_server.bat и наш сервер запустится. Запускаем клиент игры со steam, находим наш сервер вручную по ip и порту, либо имени сервера.
      Если сервер запущен на том же компьютере, где и игра, и на стандартном порту 2302, то поумолчанию поиск выполняется по 127.0.0.1:2302
      Если сервер запущен на другом компьютере, то вместо 127.0.0.1 будет ip адрес компьютера, где запущен сервер, или его доменное имя. Например, myserver.com:2302 или 178.123.22.12:2302
      ВАЖНО: если сервер запущен на другом компьютере, отличном от компьютера где запущена игра, то для доступа на сервер игроков необходимо иметь "внешний" выделенный ip-адрес и открытый порт сервера!
      Сменить порт сервера можно в !!!Start_server.bat (Notepad++ для редактирования),  параметр запуска сервера -port= Более подробно по параметрам запуска читайте ниже. Для выключения сервера рекоммендуется пользоваться !!!Server_kill.bat файлом, созданным в соответствии с рекоммендациями разработчиков игры и официальной документацией.  
      Разъяснения по параметрам запуска сервера игры (для !!!Start_server.bat ):
      Разъяснения по конфигурационному файлу сервера игры (для serverDZ.cfg ):
       
      Crack SmartSteamEmu v. 1.4.3 данной версии клиента игры и сервера:
      Скачать с Zippyshare.com: https://www64.zippyshare.com/v/mHmPweqg/file.html
      Скачать с Mega.nz: https://mega.nz/#!rnZBXK4b!KRrJm6obcJjUlzMpEPNQ3R8sy2z0pP-0Myb_ao4TVhg
      Скачать с yandex.disk: https://yadi.sk/d/4xSF1dSt6XN41g
      Инструкция по установке есть в архиве, дублирую:
       
      Дополнительно:
      Для работы с Battleye, кика и бана игроков используйте ip-адрес и порт сервера, и любой rcon-клиент с паролем из BEServer_x64.cfg
      Для работы BEC файл BEServer.cfg должен быть идентичным по содержанию BEServer_x64.cfg иначе программа не будет работать!
      База данных (storage) теперь хранится по пути: mpmissions\dayzOffline.chernarusplus\storage_{номер instance с cfg сервера}
      В базе данных также хранится файл с сохранениями игроков на сервере с именем players.db
      Если вы не находите свой сервер в списке серверов игры во вкладке Community, проверьте на доступность и открытость извне игровой порт, а также порты steam и steamquery (см. cfg файл сервера). Сервера с crack не отобразятся там.
       
      Вот и все, приятной игры на сервере!
       
       
    • By DrTauren
      На нашем сайте предусмотрена возможность рекламирования вашего игрового сервера/сайта/програмного обеспечения при помощи баннеров и ссылок.
       
      Баннеры под первым сообщением темы ↓
       
      Баннер на главной странице (над чатом) ↓
       
      Ссылки над первым сообщением темы ↓
       
      Ссылка на главной странице (над чатом) ↓
       
       

      Заявку вы можете заполнить в этой же теме, либо написать мне в ЛС.
      Любые сообщения не по теме запрещены.
    • By Miduznya
      Всем привет, чет не нашел не где как можно в ручную обновить через .bat или .cmd файл
      если есть у кого такой поделитесь плиз. Прошу сильно не пинать если есть такая тема дайте ссылку
  • 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.