Jump to content
Search In
  • More options...
Find results that contain...
Find results in...
  • Нужна помощь?

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

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

    Пожалуйста, ознакомьтесь с нашими правилами
    Не нарушайте порядок
  • Загляните на торговую площадку

    Там вы можете купить
    Всё что касается игровых серверов
DrTauren

Полная документация серверных файлов DayZ Standalone

Recommended Posts

Как всем известно, сегодня, 19 сентября разработчики DayZ Standalone официально опубликовали документацию серверов Dayz, а также предоставили возможность скачать файлы для запуска сервера DayZ. Ниже прилагается перевод официальной документации этих самых файлов с форума DayZ, а также документация касательно других файлов, которых нет в официальной документации. Пользуйтесь на здоровье :smile:

 

Скачать серверные файлы через Steam: steam://rungameid/223350

На данный момент присутствует ошибка с невозможностью скачать файлы сервера, если на вашем аккаунте Steam отсутствует купленная DayZ.

 

P.S. Если у вас есть чем заполнить эту статью, обязательно пишите мне в лс :wink:

Share this post


Link to post
Share on other sites



ServerDZ.cfg (параметры конфигурации):

 

Конфигурация сервера осуществляется через файл serverDZ.cfg (конфигурационный файл, благодаря которому вы можете изменять различные настройки сервера, такие как максимальное количество игроков, возможность включения вида от третьего лица и приветственные сообщения сервера). Этот файл обычно находится в корневой папке сервера, но также может находится в любом другом месте с параметром запуска -config. Чтобы убедиться, что Steam не перезапишет этот файл c ближайшим обновлением, обязательно имейте переименованную копию этого файла.

Параметры:


hostname = "EXAMPLE NAME"; // Название сервера
password = ""; // Пароль для подключения к серверу 
passwordAdmin = ""; // Пароль для входа как администратор 
maxPlayers = 60; // Максимальное число игроков 
verifySignatures = 2; // Проверка .pbo или .bisign файлов (поддерживается только значение 2) 
forceSameBuild = 1; // Когда включено, сервер будет разрешать подключение игрокам только с такой же версией .exe файла как у сервера 
disableVoN = 0; // Включение\отключение возможности разговаривать 
vonCodecQuality = 7; // Качества кодека передачи голоса (параметры от 0 до 30) 
disable3rdPerson=0; // Включение\отключение вида от третьего лица (0 или 1) 
disableCrosshair=0; // Включение\отключение прицела (0 или 1) 
serverTime="SystemTime"; // Начальное игровое время на сервере. "SystemTime" - время, установленное на хост-машине. Так же можно устанавливать значения времени в формате "ГОД/МЕСЯЦ/ДЕНЬ/ЧАСЫ/МИНУТЫ", например "2015/4/8/17/23" . 
serverTimeAcceleration=24; // Множитель ускорения игрового времени (параметры от 0 до 24)// При таком значении ировое время будет идти в 24 раза быстрее реального, так что целый день пройдёт за один час. 
serverTimePersistent=0; // Постоянное время (0 или 1)// Фактическое время сервера сохраняется в хранилище, поэтому при следующем запуске сервера будет использоваться значение сохраненного времени. 
guaranteedUpdates=1; // Протокол связи с сервером игры (использовать только значение 1) 
loginQueueConcurrentPlayers=5; // Количество игроков, одновременно обрабатываемых сервером в процессе их входа. Должен предотвратить массовое падение производительности во время подключения игроков, когда одновременно подключается много людей. 
loginQueueMaxPlayers=500; // Максимальное количество игроков, которые могут ждать в очереди на вход в на сервер 
instanceId = 1; // ID инстанса сервеера 
lootHistory = 1; // Сколько файлов истории сохранений должно храниться в инстансе 
storeHouseStateDisabled = false;// Включает\отключает запоминание состояния построек\дверей (значения true/false), используется в случае проблем с сохранением (лолват) 
storageAutoFix = 1; // Проверяет, повреждены ли файлы сохраняемости, и заменяет поврежденные пустыми (0 или 1) 

class Missions { class DayZ { template="dayzOffline.chernarusplus"; // Миссия, загружаемая при старте сервера. <НазваниеМисии>.<НазваниеКарты> }; };

 
Дополнительные параметры:


respawnTime = 5; // Устанавливает задержку появления игрока, перед тем как игрок сможет создать нового персонажа после смерти предыдущего
motd[] = {"line1","line2"}; // Сообщения, выводящиеся в игровом чате
motdInterval = 1; // Интервал времени между сообщениями 
maxPing= 200; // Максимальный пинг игрока, разрешённый на сервере 
timeStampFormat = "Short"; // Формат временных отметок в .rpt файле (Full или Short) 
logAverageFps = 1; // Логирование среднего FPS сервера (параметр в секундах), требует активации параметра -dologs в параметрах запуска 
logMemory = 1; // Логирование использования памяти сервера (значение в секундах), требует активации параметра -dologs в параметрах запуска 
logPlayers = 1; // Логирование количества игроков на сервере (значение в секундах), требует активации параметра -dologs в параметрах запуска 
logFile = "server_console.log";// Сохраняет консоль сервера в файл в папке с другими логами 
enableDebugMonitor = 1; //Показывает информацию об игроке, используя дебаг окно в углу экрана (0 или 1)

lightingConfig=0; //Определяет темность ночи на сервере (светлая - 0, темная - 1)
disablePersonalLight = 1;  // отключает персональный свет для всех клиентов, подключенных к серверу

steamport = 27015; // порт порт для отображения сервера в списке серверов игры и Steam. Необходимо также его открыть! 
steamQueryPort = 2305;      // определяет порт опроса доступности и мониторинга в Steam, должен устранить проблему с сервером, не видимым в браузере клиент-сервера. Порт используется для добавления мониторинга свервера на разных сайтах и в сервисах, а также в DZSA launcher.

allowFilePatching = 1;      // если установлено значение 1, это позволит подключать клиентов с включенным параметром запуска "-filepatching"

simulatedPlayersBatch = 20;    // Установить лимит количества игроков, которые могут быть смоделированы за кадр (для повышения производительности сервера)
multithreadedReplication = 1; // включает многопоточную обработку системы репликации сервера-количество рабочих потоков определяется настройками jobsystem в dayzsettings.xml по параметрам "maxcores" и " reservedcores "(значение 0-1)
enableWhitelist = 0; // Включает-отключает встроенную систему whitelist севрера. Для добавления в него указывайте в whitelist.txt игроков построчно по их ID из ADM файлов или UID из консоли сервера. (значения 0-1)

adminLogPlayerHitsOnly = 0; //Переключение записей в ADM логах. 1 - log player hits only / 0 - log all hits ( animals/infected )
adminLogPlacement = 0;  //Переключение записей в ADM логах.1 - log placement action ( traps, tents )
adminLogBuildActions = 0; //Переключение записей в ADM логах. 1 - log basebuilding actions ( build, dismantle, destroy )
adminLogPlayerList = 0;  //Переключение записей в ADM логах. 1 - log periodic player list with position every 5 minutes

networkRangeClose = 20;      // сетевое расстояние пузыря для спавна близких объектов с предметами в них (например, рюкзаки), заданное в метрах, значение по умолчанию, если не задано, равно 20
networkRangeNear = 150;      // сетевое расстояние пузыря для спавна (despawn +10%) ближайших объектов инвентаря, заданное в метрах, значение по умолчанию, если не задано, равно 150
networkRangeFar = 1000;      // сетевое расстояние пузыря для спавна (despawn +10%) удаленных объектов (кроме инвентарных предметов), заданное в метрах, значение по умолчанию, если не задано, равно 1000
networkRangeDistantEffect = 4000; // сетевое расстояние пузыря для порождения эффектов (в настоящее время только звуковые эффекты), устанавливается в метрах, значение по умолчанию, если не установлено, равно 4000

defaultVisibility=1375;  // максимальное расстояние рендеринга terrain на сервере (если выше, чем "viewDistance=" в профиле клиента DayZ, применяется параметр clientside)
defaultObjectViewDistance=1375;  // максимальное расстояние рендеринга объекта на сервере (если больше, чем "preferredObjectViewDistance=" в профиле клиента DayZ, применяется параметр clientside)

Больше данных и информации в официальной документации: https://community.bistudio.com/wiki/DayZ:Server_Configuration

 

 

Dayzsettings.xml

Скрытый текст

<jobsystem globalqueue="4096" threadqueue="1024">

<pc maxcores="4" reservedcores="1" /> <!--maxcores - максимальное число ядер процессора, которое будет использоваться для работы системы; reservedcores - количество ядер процессора, которые будут использоваться для других потоков; количество рабочих потоков тогда равно "maxcores-reservedcores", но все равно выделяется хотя бы один рабочий поток -->

</jobsystem>

 

DayZServer_x64.exe (параметры запуска):

 

Запускайте DayZServer_x64.exe через .bat файл, ярлык с параметрами или как-то иначе.

Параметры:
-config=serverDZ.cfg - Указывает расположение конфига сервера
-port=2302 - Порт, используемый сервером
-profiles=C:\Users\%USER%\Documents\DayZ Server – Путь к папке, содержащей профиль сервера. По умолчанию, логи сервера пишутся именно тут. Логи/дампы и подобное будут создаваться именно тут, вместе с файлам BattlEye/BEC/Rcon. Поддерживаются переменные Windows (например %userprofile%)
-dologs - Включает логирование всего возможного в RPT сервера
-adminlog - Включает логирование действий админа
-netlog - Включает логирование сетевого трафика
-freezecheck - Останавливает сервер при простое более чем в 5 минут и создает дамп-файл
-noFilePatching - Обеспечивает загрузку только .pbo файлов и отсутствие распакованных файлов.
-BEpath= - Указание своего пути к файлам Battleye
-cpuCount= - Задает число ядер ЦП, используемых для параллельной обработки задач. Оно должно быть меньше или равно количеству доступных ядер.

 

BEServer_x64.cfg (конфигурация BattlEye):

 

Файл конфигурации BEServer_x64.cfg должен находиться в той же папке, что и BEServer_x64.dll.Расположение этой папки можно настроить с помощью параметров запуска -bePath и -profiles.

Параметры:
RConPassword MyPassword - Устанавливает пароль для подключения RCon инструментов  (инструмент удаленного администрирования, таких как BEC/Dart)
RestrictRCon 1 - Включает\отключает RCon-функции (кик\бан\ограничение подключения)

Edited by 123new
обновление параметров ServerDZ.cfg (see edit history)

Share this post


Link to post
Share on other sites

Экономика сервера -  общая документация:
Этот пакет включает в себя стандартную многопользовательскую миссию DayZ с использованием автономной базы данных. Использование этого типа миссии означает, что все персонажи сохраняются только на вашем сервере - при использовании автономной базы данных нет возможности использовать одного и того же персонажа на нескольких серверах. Информация о персонаже хранится в файле player.db, расположенном в папке dayz.chernarusplus\storage_X (удаление файла приведёт к вайпу персонажей). Эта папка также содержит папку data, которая в основном является хранилищем информации о состоянии центральной экономики и служит для сохранения различного рода объектов во время рестарта сервера (удаление этой папки приводит к сбросу состояния центральной экономики, что означает, например, удаление появившегося лута).

Mpmissions - папка миссии сервера, содержащая в себе очень много интересного. Можно заметить папку db, 13 XML файлов, spawnpoints_players.bin (хранит координаты всех возможным мест спавна игрока) и файл init.c.

Все xml файлы в папке миссии - конфигурационные файлы, отправляющие параметры серверу, чтобы он понимал как много лута генерировать, как много машин спавнить, а так же координаты каждого объекта на карте, плюс разные другие функции. Эти переменные можно легко изменить и настроить различные параметры сервера под себя
 

events.xml (динамические события спавна объектов\предметов на карте)

Скрытый текст

Данный файл позволяет указывать все динамические события и группы спавнов на сервере с несколькими элементами спавна, например спавн машин, хеликрашей, зомби на игрока, яблок, и т.п..Для того что бы добавить свой класс в Events нужно перед вашим названием класса вписать тип ивента
Валидные типы представленны ниже 


Vehicle
Static
Loot 
Infected
Animal
Ambient
Item
rajectory

Формат записи такой примерно: {тип записи}{имя ивента}
Примеры есть в самом файле уже.

Примерная настройка для добавления своих ивентов спавна ИИ на сервере (зомби, волки, боты, и т.п.) описана тут


<event name="VehicleCivilianSedan">
		<waves>0</waves>
		<nominal>25</nominal>
		<min>20</min>
		<max>25</max>
		<lifetime>300</lifetime>
		<restock>0</restock>
		<saferadius>500</saferadius>
		<distanceradius>500</distanceradius>
		<cleanupradius>200</cleanupradius>
		<flags deletable="0" init_random="0" remove_damaged="1"/>
		<position>fixed</position>
		<limit>mixed</limit>
		<active>1</active>
		<children>
			<child lootmax="0" lootmin="0" max="15" min="10" type="CivilianSedan"/>
			<child lootmax="0" lootmin="0" max="15" min="10" type="Hatchback_02"/>
			<child lootmax="0" lootmin="0" max="15" min="10" type="Sedan_02"/>
		</children>
	</event>

name - имя ивента с его типом

waves - предположительно количество волн спавна за 1 рестарт, если 0 - бесконечно

nominal - оптимальное количество объектов группы на сервере

min - минимальное количество объектов группы, при достижении которого начнется доспавн нехватающих

max - максимальное количество объектов группы, при достижении которого начнется удаление лишних

lifetime - предположительно время жизни объекта в секундах, при достижении которого предмет будет удален с сервера. При обращении к предмету\объекту игроками и\или изменению лута в нем таймер отсчета времени сбрасывается, и отсчет начинается с нуля заного. Нет точной информации, работает ли это для events или для types.

restock - предположительно  время ожидания перед спавном нового экземпляра данного объекта, но уже после удаления предыдущего с игры. Нет точной информации, работает ли это для events или для types.

<active>1</active> - указывает. включен ли и активен данный ивент на сервере. 1 - вкл., 0 - выкл.

children - блоки с указаниями id (type) зависимых объектов или предметов, которые относятся к данному ивенту. У каждого предмета можно указать границы выпадения в количественном соотношении и содержимое выпадаемого лута.

Значения position и limitflagscleanupradiussaferadius и distanceradius сложно сказать, т.к. нет никакой документации.

 

globals.xml (общие настройки центральной экономики)

 

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

Например:
CleanupLifetimeDeadPlayer - Время удаления мертвых тел игроков после их смерти (в сек.)
CleanupLifetimeDeadInfected - Время удаления мертвых тел зомби после их смерти (в сек.)

CleanupLifetimeDeadAnimal - Время удаления мертвых тел животных после их смерти (в сек.)

AnimalMaxCount - Максимальное количество животных на сервере

CleanupLifetimeRuined - Время очистки с карты вещей и объектов в статусе Ruinned (например, уничтоженных машин или рюкзаков) (в сек.)


types.xml (спавн и сохранение лута по карте)

 

Определяет различные типы лута и содержит запись для каждого отдельного объекта в игре. Внутри конфигураций находятся такие параметры, как "время жизни" (вероятно, используется для сценария обработки элемента), минимальное количество на карте, "стоимость" (не уверен, для чего это может быть использовано) и "флаги", которые определяют, учитывается ли элемент в вашем инвентаре, был ли это созданный элемент и т.д.


<type name="Mag_AK101_30Rnd">
        <nominal>20</nominal>
        <lifetime>10800</lifetime>
        <restock>1800</restock>
        <min>10</min>
        <quantmin>20</quantmin>
        <quantmax>80</quantmax>
        <cost>100</cost>
        <flags count_in_cargo="0" count_in_hoarder="0" count_in_map="1" count_in_player="0" crafted="0" deloot="0"/>
        <category name="weapons"/>
        <usage name="Military"/>
        <value name="Tier3"/>
        <value name="Tier4"/>
    </type>
<type name="AK74_Hndgrd">
        <nominal>5</nominal>
        <lifetime>7200</lifetime>
        <restock>0</restock>
        <min>2</min>
        <quantmin>-1</quantmin>
        <quantmax>-1</quantmax>
        <cost>100</cost>
        <flags count_in_cargo="0" count_in_hoarder="0" count_in_map="1" count_in_player="0" crafted="0" deloot="0"/>
        <category name="weapons"/>
        <usage name="Military"/>
    </type>

Mag_AK101_30Rnd и AK74_Hndgrd - ID предмета в игре или объекта (его type)
nominal - оптимальное количество предмета или объекта, при достижении которого спавн на 100% будет прекращен
lifetime - время жизни предмета в секундах, при достижении которого предмет будет удален с сервера. При обращении к предмету\объекту игроками и\или изменению лута в нем таймер отсчета времени сбрасывается, и отсчет начинается с нуля заного

restock - время ожидания перед спавном нового экземпляра данного предмета или объекта, но уже после удаления предыдущего с игры
min - минимальное количество предмета или объекта, при достижении которогосервер начнет его доспавн на карте
quantmin и quantmax - значения в процентном соотношении (-1 если отключено) - значения наполняемости для предметов и объектов, имеющих возможность заполнения с шкалой заполняемости (например магазин оружия, кучка патронов, фляга с водой, бочка, канистра)
usage name - места спавна на предмета на карте по типам лута\объектов и зонам карты, предопределенных разработчиками на карте. (см. cfglimitsdefinition.xml и mapgroupproto.xml)

category name - категория зданий на карте, в котором будет появляться данный предмет (для определения категории и зданий см. cfglimitsdefinition.xml и mapgroupproto.xml )

 

cfgeventspawns.xml (точки спавна для динамических событий из events.xml)

 

Это список точек спавна для динамических событий, определенных в events.xml. Настраивайте на свой вкус и цвет. Перед вводом своих ивентов ознакомьтесь с events.xml  и его настройкой.

 

cfgplayersspawnpoints.xml (настройка точек спавна игроков на карте)

Скрытый текст

Файл с настройками потенциальных точек возрождения игроков на сервере. После запуска сервера и входа хотя бы 1 игрока данные с него сохраняются сервером в spawnpoints_players.bin и используются уже оттуда. Если вы меняете эти настройки., не забудьте удалить банный .bin файл.

 

cfgrandompresets.xml (конфигуратор прессетов для использования в других xml-конфиграциях сервера)

Скрытый текст

Задает прессеты конфигураций для использования и работы в других xml файлах сервера (в основном в cfgspawnabletypes.xml). По большей части это шансы выпадения списков лута с предопределенными шансами.

 

cfgspawnabletypes.xml (конфигуратор спавна предметов в предметах\объектах)

 

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

<damage min="0.3" max="0.7" /> - диспазоны дамажности лута в процентном соотношении, где 0.30 - 30%. 0.70 - 70%


<type name="Bear_Beige">
		<cargo chance="1.00">
			<item name="Paper" chance="0.50" />
			<item name="Rag" chance="0.50" />
		</cargo>
	</type>

В примере выше в предмете 'игрушечный мишка' со 100% шансом выпадет либо бумажка, либо тряпка (по 50% шанс выпадения у каждого стоит в случае срабатывания условия)


<type name="TaloonBag_Orange">
		<cargo preset="foodVillage" />
		<cargo preset="mixVillage" />
	</type>

В предмете выше выпадет один из наборов вещей по установленным правилам указанного прессета (см. cfgrandompresets.xml )


<type name="ZmbM_ClerkFat_Brown">
		<cargo preset="foodCity" />
		<cargo preset="toolsCity" />
		<attachments preset="glassesCity" />
		<attachments preset="hatsCity" />
		<attachments preset="bagsCity" />
	</type>

В зомби с примера выше выпадают определенные сеты инвентаря и вещей


<type name="MP5K">
		<attachments chance="0.05">
			<item name="MP5_RailHndgrd" chance="1.00" />
		</attachments>
		<attachments chance="1.00">
			<item name="MP5_PlasticHndgrd" chance="1.00" />
		</attachments>
		<attachments chance="1.00">
			<item name="MP5k_StockBttstck" chance="1.00" />
		</attachments>
		<attachments chance="0.30">
			<item name="Mag_MP5_30Rnd" chance="1.00" />
		</attachments>
		<attachments chance="0.20">
			<item name="BUISOptic" chance="0.30" />
			<item name="M68Optic" chance="0.20" />
			<item name="M4_T3NRDSOptic" chance="0.20" />
			<item name="ReflexOptic" chance="0.20" />
			<item name="ACOGOptic" chance="0.10" />
		</attachments>
		<attachments chance="0.10">
			<item name="MP5_Compensator" chance="1.00" />
		</attachments>
		<attachments chance="0.05">
			<item name="PistolSuppressor" chance="1.00" />
		</attachments>
	</type>

В примере выше с 5% шансом выпадает MP5_RailHndgrd, с 20% шансом выпадает 1 из 5 аттачментов (заметьте, что 30% + 20% + 20% + 20% + 10% = 100%)


<type name="CivilianSedan">
		<attachments chance="1.00">
			<item name="CivSedanWheel" chance="0.60" />
		</attachments>
		<attachments chance="1.00">
			<item name="CivSedanWheel" chance="0.60" />
		</attachments>
		<attachments chance="1.00">
			<item name="CivSedanWheel" chance="0.40" />
		</attachments>
		<attachments chance="1.00">
			<item name="CivSedanWheel" chance="0.40" />
		</attachments>
		<attachments chance="1.00">
			<item name="CarRadiator" chance="0.60" />
		</attachments>
		<attachments chance="1.00">
			<item name="CarBattery" chance="0.60" />
		</attachments>
		<attachments chance="1.00">
			<item name="SparkPlug" chance="0.60" />
		</attachments>
		<attachments chance="1.00">
			<item name="HeadlightH7" chance="0.40" />
		</attachments>
		<attachments chance="1.00">
			<item name="HeadlightH7" chance="0.40" />
		</attachments>
		<attachments chance="1.00">
			<item name="CivSedanDoors_Driver" chance="0.30" />
		</attachments>
		<attachments chance="1.00">
			<item name="CivSedanDoors_CoDriver" chance="0.30" />
		</attachments>
		<attachments chance="1.00">
			<item name="CivSedanDoors_BackLeft" chance="0.30" />
		</attachments>
		<attachments chance="1.00">
			<item name="CivSedanDoors_BackRight" chance="0.30" />
		</attachments>
		<attachments chance="1.00">
			<item name="CivSedanHood" chance="0.20" />
		</attachments>
		<attachments chance="1.00">
			<item name="CivSedanTrunk" chance="0.20" />
		</attachments>
	</type>

В примере выше выпадают составляющие для спавнящейся машины Волга, комментарии думаю излишне.


mapgroupclusterxxxxxx.xml (объекты на карте)

 

Любой xml-файл, начинающийся с "mapgroup", определяет, где создаются здания, деревья, кустарники и другие структуры. Это изменилось с новым обновлением - и похоже, что здесь также находится альтернативная карта их размещения (прототип), возможно, можно переопределить загружаемую группу карт по умолчанию и выбрать прототип.

 


init.c (настройка стартового лута, спавн машины для теста, прочий скриптинг)

 

Редактирование стартового инвентаря ваших игроков может быть сделано путем изменения этого файла. Подробнее о том что и где изменять написано здесь:

 

Итак, разберём некоторые параметры, которые помогут вам полноценно задавать то что нужно и спавнить это так как вам хочется (не ломая голову):

  • player.RemoveAllItems(); - очистить все предметы (желательно должно быть выше всех строк настройки стартового лута)
  • itemEnt = player.GetInventory().CreateInInventory("Rag"); - Получаем доступ к инвентарю, создаём в инвентаре предмет, где Rag это класснейм предмета (бинта в данном случае)
  • itemBs = ItemBase.Cast(itemEnt); - строка, которая должна идти каждый раз после строки, где задаётся спавн какой-то вещи (как, например строка выше и все, отмеченные так: (!))
  • itemBs.SetQuantity(4); - "количество предмета" (или использований) и т.д. в пачке, коробке и т.д.
  • SetRandomHealth(itemEnt); - качество предмета (рандомное)
  • itemEnt = player.GetHumanInventory().CreateInHands("M4A1"); - Получаем доступ к инвентарю, создаём в руках предмет, где M4A1 это класснейм предмета (бинта в данном случае). Надо сказать что при такой команде М4А1 появится в руках без ничего (без магазина, приклада, цевья и т.д.)
  • itemEnt.GetInventory().CreateAttachment("M4_RISHndgrd_Black"); - добавление оружию плюшек (чёрное цевьё) (!)
  • itemEnt.GetInventory().CreateAttachment("M4A1"); - добавление оружия сразу с прикрепленным магазином, если вместе с оружием спавнить сам магазин (!)
  • Weapon wpn = player.GetHumanInventory().CreateInHands("M4A1"); player.GetWeaponManager().AttachMagazine(mag); - второй способ добавления оружия сразу с прикрепленным магазином
    Пример спавна оружия со всем навесным, плюс три магазина:
    
    EntityAI gun = player.GetHumanInventory().CreateInHands("M4A1");
        gun.GetInventory().CreateAttachment("M4_RISHndgrd_Black");
        gun.GetInventory().CreateAttachment("M4_MPBttstck_Black");
        gun.GetInventory().CreateAttachment("ACOGOptic");
        addMags(player, "Mag_STANAG_30Rnd", 3);

     

  • player.LocalTakeEntityToHands(itemEnt); - взятие предмета в руки автоматически. Нужно размещать эту строку сразу после строки спавна оружия, плюс строка спавна оружия желательно должна быть последней

 

 

  • player.GetStatStamina().Set(1000); - установка уровня стамины для игроков при спавне

 

 

  • Спавн автомобиля/прочих предметов рядом с игроком:
    Внимание! Новая физика автомобиля чрезвычайно баганая и может не заработать вообще или,например, крашнет вашу игру. Эту функцию CreateObject можно использовать и для создания других объектов.
    
    EntityAI oCar = EntityAI.Cast(GetGame().CreateObject("CivilianSedan", player.GetPosition(), false, true)); // спавн автомобиля на месте игрока
    oCar.GetInventory().CreateAttachment("CivSedanWheel"); // далее спавн запчастей
    oCar.GetInventory().CreateAttachment("CivSedanWheel");
    oCar.GetInventory().CreateAttachment("CivSedanWheel");
    oCar.GetInventory().CreateAttachment("CivSedanWheel");
    oCar.GetInventory().CreateAttachment("CivSedanDoors_Driver");
    oCar.GetInventory().CreateAttachment("CivSedanTrunk");
    oCar.GetInventory().CreateAttachment("CivSedanHood");
    oCar.GetInventory().CreateAttachment("SparkPlug");
    oCar.GetInventory().CreateAttachment("EngineBelt");
    oCar.GetInventory().CreateAttachment("CarRadiator");
    oCar.GetInventory().CreateAttachment("CarBattery");
    В инстансе автора кода класс машины называется oCar. Так он назвал инвентарь автомобиля и создал "вложение" внутри автомобиля, прежде чем он даже появится.
  • oCar.SetAllowDamage(false); - годмод для машины

 

Edited by 123new
наполнение информации в посте (see edit history)

Share this post


Link to post
Share on other sites

Как банить игроков:
В настоящее время существует два способа бана игроков:

  • Создайте файл ban.txt в корневой папке сервера и добавьте uid игрока в новой строке (идентификатор игрока длиной 44 символа, который вы можете найти в .adm или .rpt логах)
  • Создайте файл ban.txt в папке battleye (находится в корневой папке сервера) и добавьте BattlEye GUID игрока в новой строке (идентификатор игрока длиной 32 символа, который вы можете получить от RCon инструментов, таких как Dart или BEC).

Расположение папки BattlEye можно настроить с помощью параметров запуска -bePath и -profiles.

Некоторые RCON-инструменты как Дарт предлагают возможность банить пользователей напрямую через их интерфейс, который затем добавляет игроков в файл ban.txt.

 

Приоритет очереди подключения к серверу:

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

SteamId;SteamId;01234567890123456;01234567890123456

 

Share this post


Link to post
Share on other sites

Минимальные системные требования (предварительные) для запуска одного сервера:

  • OS: Windows Server 12-16 или Windows 10 (Linux пока не поддерживается)
  • Процессор: Intel Dual-Core 2.4 GHz или AMD Dual-Core Athlon 2.5 GHz
  • 6 GB Оперативной памяти
  • 2.5 GB места на жёстком диске
  • SSD для логов и прочего (очень желательно)

 

Сообщения сервера и Как корректно выполнять рестарты сервера автоматически

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

Чтобы настроить автоматический перезапуск, вам понадобится другое приложение, которое автоматически запустит выключенный сервер игры как планировщик Windows, например FireDaemon, или другое аналогичное приложение.

Сообщения для сервера в режиме offline database

Сообщение сервера - это сообщение, которое отправляется игрокам с сервера в определенный момент времени.

Сообщение сервера может быть отправлено следующими способами:

  • каждое заданное количество минут для всех игроков,
  • одному игроку после его подключения с возможной задержкой,
  • и так называемое "оповещение о завершении работы сервера", которое отправляется всем игрокам в чат перед выключением работы сервера ("--- Termination successfully completed --- " строка будет записана .rpt файл, когда сервер будет успешно выключен, а база данных сервера успешно сохранена).

-------------------------------------------------------------------------------------------------------------------------------------------------------------

Флаги(метки)

При подключении (On connect)

  • Указывает, что сообщение сервера будет отправлено один раз после подключения игрока к серверу.

Повторяющееся (Repeat)

  • Указывает, что сообщение сервера будет отправлено всем игрокам повторно.

Оповещение о завершении работы сервера (Countdown)

  • Указывает, что сообщение сервера будет отправлено всем игрокам в режиме обратного отсчета.
  • Сообщение будет отправлено за 90 минут до крайнего срока, затем за 60 минут, 45, 30, 20, 15, 10, 5, 2 и, наконец, за 1 минуту до истечения срока.

Выключение (Shutdown)

  • Указывает, что сервер завершит работу после того, как обратный отсчет достигнет нуля.
  • Если флаг обратного отсчета не установлен, этот флаг игнорируется.

Свойства

Максимальная длина сообщения - 160 символов.
Пользователь может поместить 3 различных переменных в текст сообщения:

  • #name заменяется именем сервера
  • #порт-это порт сервера
  • #tmin заменяется на количество минут, оставшихся в обратном отсчете.
  •             Он работает только тогда, когда установлен флаг(метка) обратного отсчета.

Каждое свойство, связанное со временем в сообщении сервера, находится в минутах.

Задержка (Delay)

  • Применяется, если для сообщения сервера установлен флаг On connect.
  • Это значение указывает, сколько минут потребуется для отправки сообщения игроку.
  • Нулевое значение означает, что сообщение будет отправлено сразу после подключения игрока к серверу.

Повторы (Repeat)

  • Применяется, если для сообщения сервера установлен флаг(метка) повтора.
  • Это значение определяет частоту повторения сообщений.

Крайний срок (Deadline)

  • Применяется, если для сообщения сервера установлен флаг(метка) обратного отсчета.
  • Указывает, как долго это берет отсчет доходит до нуля.

-------------------------------------------------------------------------------------------------------------------------------------------------------------

Offline database

Сообщения сервера могут быть добавлены, обновлены или удалены в сообщениях XML-файла в папке db, размещенной в папке миссии (папка сервера игры\mpmissions\dayzOffline.chernarusplus\db\messages.xml). В настоящее время он не является частью пакета данных Steam server, поэтому этого файла вы там не найдете, вам придется создать его самостоятельно.

Для автоматического завершения работы сервера установите "deadline" и "shutdown" в значение enabled.

Пример файла messages.xml

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<messages>

    <!-- This is example message for automatic server termination -->
    <message>

        <!-- no delay -->
        <delay>0</delay>

        <!-- if the value is larger than 0, then flag Repeat is enabled -->
        <repeat>0</repeat>

        <!-- if the value is larger than 0, then flag Countdown is enabled,
             countdown reaches zero in 10 hours --> 
        <deadline>600</deadline>

        <!-- disable On connect flag -->
        <onconnect>0</onconnect>

        <!-- enable Shutdown flag -->
        <shutdown>1</shutdown>

        <!-- message itself with placeholders -->
        <text>Hello, this server (#name) will shutdown in #tmin minutes.</text>

    </message>
</messages>

-------------------------------------------------------------------------------------------------------------------------------------------------------------

Корректное выключение сервера (Taskkill)

Если вы не хотите использовать сообщения из .xml-файла для автоматического завершения сервера, вы можете использовать taskkill вместо этого (ссылка на документацию Microsoft).

Все, что вам нужно сделать, это использовать планировщик Windows, FireDaemon или аналогичное приложение для отправки команды taskkill без параметра "/f" , и вы вызовете корректное завершение работы серверного приложения DayZ ("--- Termination successfully completed ---" эта строка будет записана в .rpt файл, когда сервер выключится корректно и сохранит корректно всю базы данных).

taskkill /im DayZServer_x64.exe

Чтобы настроить автоматический перезапуск сервера, вам понадобится какое-то другое приложение, которое автоматически запустит выключенный сервер, такое как планировщик Windows, FireDaemon или аналогичное приложение.

Edited by 123new (see edit history)

Share this post


Link to post
Share on other sites

Добрый вечер. Очень нужна помощь. Я бы очень хотел на своем сервере увеличить количество зомби везде. Города, селы, деревни в общем на всей карте. Вопрос такой. В файле events изменяю параметр nominal на 500 min 300 max 600, очищаю папку с bin файлами, но ничего не меняется. зомби не спавнятся в нужном количестве. Пошел дальше, в папке events допустим медик зомби выставил чуть ниже еще параметры lootmax="2" lootmin="1" max="600" min="300". Насколько я понял параметр lootmax влияет на количество лута у зомби в карманах а параметры min и max вроде должны тожи влиять на количество зомби. Помогите пошалуйста разобраться как увеличить количество зомби а так же как увеличить вероятность появления лута в его карманах. 

Share this post


Link to post
Share on other sites

Да и еще в файле Global изменял количество зомби, тоже не помогло, подскажите пожалуйста в фале Global зачем нужен этот параметр. Спасибо вам огромное за ваши труды. Очень нравится ваш сайт, буду его рекламировать на своих стримах. 

 

Share this post


Link to post
Share on other sites

mailkazan max="600" min="300" - попробуй выставить у каждого зомби в events.xml такой параметр (не только у медика, а у каждого). И не забудь удалить папку storage

Edited by Loxy (see edit history)

Share this post


Link to post
Share on other sites
28 минут назад, Loxy сказал:

mailkazan max="600" min="300" - попробуй выставить у каждого зомби в events.xml такой параметр (не только у медика, а у каждого). И не забудь удалить папку storage

Пробовал, не помогло. Тоже самое к сожалению. 

Share this post


Link to post
Share on other sites

mailkazan Попробуй выставить всем зомби <waves>Число твоё</waves> большое значение, и проверь разницу.

Share this post


Link to post
Share on other sites
1 час назад, DrTauren сказал:

mailkazan не лазил туда пока что. Как залезу и разберусь, отпишу

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

Share this post


Link to post
Share on other sites

в файле cfgrandompresets.xml выставлял различные шансы спавна предметов, ничего не меняется.
в конце концов, оставлял в этом файле одни бинты, затем одни калаши - ничего не меняется.

Получается, шанс спавна предметов в каком-то другом файле.

У кого-нибудь есть идеи по поводу шанса спавна предметов?

Edited by Dart4g (see edit history)

Share this post


Link to post
Share on other sites

Ребят с Зомби некто не разобрался? Писал выше. Очень нужна помощь. Параметр <waves> тоже выставлял, не помогло. Не получается увеличить их численность. Экономику каждый раз сбрасывал при изменение параметров. 

Share this post


Link to post
Share on other sites

Dart4g В файле types.xml каждому предмету меняй количество номинала и минимальное колличство (можешь ещё с 'lifetime' поиграться, чтоб предметы не так часто переспавнивались,  а оставались на своей точке):

 

<type name="HunterPants_Winter">
        <nominal>15</nominal>
        <lifetime>5600</lifetime>
        <restock>0</restock>
        <min>10</min>
        <quantmin>-1</quantmin>
        <quantmax>-1</quantmax>
        <cost>100</cost>
        <flags count_in_cargo="0" count_in_hoarder="0" count_in_map="1" count_in_player="0" crafted="0" deloot="0"/>
        <category name="clothes"/>
        <usage name="Hunting"/>
        <value name="Tier2"/>
        <value name="Tier3"/>
        <value name="Tier4"/>
    </type>

 

Это уж точно должно помочь. Не забудь папку Storage удалить после изменений.

Share this post


Link to post
Share on other sites

mailkazan Скорее всего ты не видишь разницы в количестве зомби, так, как они спавнятся на игрока. Можешь попробовать выставить всем зомби в events.xml 'lifetime' больше, тогда они будут первый раз спавнится на игрока и жить на сервере то время, которое укажешь в 'lifetime'. Это лишь моё предположение, я не тестил.

Share this post


Link to post
Share on other sites

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

 

Share this post


Link to post
Share on other sites

Не знаю куда написать, напишу тут если можно. В scripts.pbo в директории 4_World / Plugins / PluginBase / PluginDeveloper находятся плагины, очень похожие на Оффлайн мод в котором можно многое. Сижу разбираюсь, я новичок врят ли осилю. Если кто может помочь с активацией режима разработчика, будет очень круто) 

Share this post


Link to post
Share on other sites

mailkazan как мне сказали люди, работающие с фидовом, он не доделан и пока не активируется

Share this post


Link to post
Share on other sites

вопрос на засыпку, пробовал кто кикать и банить с dart или любого другого rcon-приложения? У меня не вышло.

Edited by 123new (see edit history)

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 vitacite
      Данный гайд используется, как есть. По принципу  "Не нравится - не ешь!". Он подразумевает, что вы уже умеете делать карту для Арма 3, знаете как сконфигурировать диск P для Dayz и настроить Terrain Builder. 
      Знаете и понимаете зачем нужна маска, сатка и карта высот. Для примера, была выбрана поверхность из окрестностей ЧАЭС.  Ссылки на софт (есть в видео, но продублирую тут).
       
      СОФТ И ССЫЛКИ
      https://forums.bohemia.net/forums/topic/224613-qgis-game-terrain-tools/ - топик в богемии с описанием процесса для Арма 3
      https://qgis.org/en/site/ - ссылка на QGIS
      https://gitlab.com/Adanteh/qgis-game-terrains/-/wikis/home - ccылка на плагин который все делает сам 🙂
      https://urs.earthdata.nasa.gov//users/new - нужно будет зарегистрироваться, чтобы скачать высотку.
       
      Результатом станет отличная спутниковая карта, карта высот и маска. Если про sata-map (карту высот) все понятно из видео, то про маску - отдельная песня.
      Ее можно сгенировать двумя способами.
      Способ № 1

       
      OSM Based - заключается в том, что будут подгружены шейпы из QGIS и по ним сгенерирована маска  (Внимание! чтобы все заработало, до выгрузки маски, перейти в закладку ROADS (там же) и подгрузить шейпы дорог.) 
      Плюсы - быстро, минусы - фиговая точность и качество, и не везде эти слои есть. Например, для Европы и США будет более менее... для Чернобыля она просто никакая. В моем случае часть поверхности леса закрыта шейпами, а часть нет. Соответственно в маске там будет просто дырка.
       
      Cпособ № 2. Regions of Interrests (генерация маски с помощью искусственного интеллекта) (отмечаем чекпоинт и жмакаем на кнопку CREATE REGION OF INTEREST)

      после нажатия, развернется свиток, где можно будет выбрать:
      1. цвет для будующей маски.
      2. создать выделение с помощью полигона. 
      Чтобы все получилось,  НЕ НУЖНО! делать огромные полигоны!!!!  Нужно выделить маленькими полигонам(шейпами), наибольшее количество ВАРИАНТОВ травы, леса, грязи и тд. Чем больше вы покажите AI вариантов для каждого типа ваших поверхностей, тем более круто он обучится ее делать и тем круче маска будет сгенерирована.В результате получится маска качеством, как на видео. 

      Пожалуйста, Войдите или Зарегистрируйтесь, чтобы увидеть это: Вложение.
       
      В текстовик в папке проекты будут сразу выгружены цвета вашей маски для Layer.cfg. Так же в маске изначально закрываются все проблемы с паразитными цветами, размытыми краями и тд. (если вы делали карту для Arma2/3) то понимаете о чем я.
      (Обратите внимание. Данный вариант потребует установки дополнительного плагина. Все что нужно сделать нажать на кнопку там же в свитке:)
      Install OrfeoTollbox (REQUIRED) И подождать, т.к. грузится и ставится оно сравнительно долго!
      Для выделения вариантов жмем на кнопку: 
      Create Sample в свитке и начинаем ввыделять полигонами объекты прямо поверх SATA-MAP (левой кнопкой мыши ставятся вершины, правой кнопкой закрывается полигон). Еще раз, выделяем маааленькими полигонами, максимальное число вариантов будущей поверхности на вашей спутниковой карте. Вы удивитесь сколько оттенков зеленого леса к примеру может там быть..
       
      Посе создания маска и нажатия кнопки GENERATE. Плагин сгенерирует и сохранит все слои (sata-map, mask-map, height-map, и текстовик с данными для Layer.cfg и Config.cfg, а так же параметрами вашего фрейме) в папку проекта QGIS.
       
      Все что останется, это скопировать файлы в Source вашего проекта, и можно все это загружать для создания фрейма в TB.
       
      После того, все слои в фрейме будут загружены и сконфигурированны в TB можно будет преступить генерации леса в утилитах ниже.
      Первая из них генерирует лес по маске.
       
      Учтите данная утилита для Arma 2 и не может работать с масками более чем 5120 на 5120 px, поэтому если размер вашей карты больше, то придется делать маску отдельно для леса. В при моих размерах пришлось у меньшать ее в три раза (когда будете делать это в фотошопе не забудьте выставить в окне RESIZE изменение размера с четкими контурами) иначе вашу четкую маску размоет и вы получите паразитные цвета.
       
      Маштабированную маску по которой садим лес сначала загружаем в проект...

      Пожалуйста, Войдите или Зарегистрируйтесь, чтобы увидеть это: Вложение.
       
      Далее жмем на кнопку с деревом (Forest Geneator) подгружаем по новой маску леса. И нажимаем кнопку анализировать. Получим вид как на скрине.
      (список цветов в маске)
       
      Вам нужно будет выделить цвет из маски, и создать в нем массив с деревьями путем добавления их названий (список лежит в файлике ниже).

      Пожалуйста, Войдите или Зарегистрируйтесь, чтобы увидеть это: Вложение.
       
      Добавив например в темно-зеленый цвет 20 вариантов елок вы сможете задать вероятность их появления на карте.

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

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

      Пожалуйста, Войдите или Зарегистрируйтесь, чтобы увидеть это: Вложение.
       
      После того, как все цвета будут выбраны и засеяны растительностью жмете Create. Опытным путем с 2-3 раза вы поймете насколько надо засеять деревья и кустарники, на какой местности, чтобы их было не слишком мало или много.  Ваши деревья будут рассажены по цвету, и выгружены как объекты в текстовый файл в формате VBS3
      "t_betulapendula_2fc";201816.625;7.632;149.000;-0.131;0.924;1.000;0.000; Будьте бдительны! Данная утитилита проекты (почему-то) не сохраняет. Если вы ее закроете, то придется проделывать ВЕСЬ ПУТЬ!!!! сначала!!! Поэтому во время тестов выгружаем отдельный слой в Terrain Builder объекты из конвертированного файла, запускаем бульдозер оцениваем плотность и красоту. Если не устраивает, меняем процентное соотношение в программе и заново сохраняем НЕ ЗАКРЫВАЯ ЕЕ!!!!
       
      Выгруженный нами файл для VBS3 придется еще раз конвертировать для билдера от Arma 3 (Dayz SA). Процесс достаточно простой. Все сделает вторая утилита. (Внимание!!!! Я не знаю зачем она это делает, перед каждым названием вашего дерева будет стоять не (") а (""), поэтому для окончательной загрузки, лишнюю  (") надо будет удалить используя подручные средства. (например notepad++).
       
      При всей муторности описания поверьте мне это самый быстрый из существующих способов более-менее качественной рассадки деревьев. Поигравшись с параметрами и настройками, вы сможете рассадить растительность на карте за 10-15 минут.
      Собственно все. Незабудьте прежде чем подгружать в TB объекты из текстовика (через Import Object) сами деревья подгрузить в TB и задать все необходимые параметры.
       
      Ниже ссылки
      https://www.armaholic.com/page.php?id=10508 - программа чтобы поставить на карту деревья
      https://forums.bohemia.net/forums/topic/226269-tools-utilities-compilation-list-for-arma3/ V3 to TB Objectlist Converter
       
      Как обычно все до чего дотрагиваются Bohemia работает криво косо и через жопу. Но в моем случае все заработало 🙂 
      Удачи.
      PS: результат если все сделать правильно.
       
       
    • By vitacite
      Бесплатные проекты - "пацаны собрались и замутили сервачок" долго не живут.  В этом я убеждался много раз. Нет сначала на интузиазме эффективность неплохая, но затем все это затухает управляемость команды падает.  Начинаются вопросы - "а почему это должен делать я?",  отмазки "да я на даче сегодня", "да у меня командировка" и тд...  + кто-то должен спонсировать оплату сервера, антидудосов и прочей лобуды, а такого человека интерес тоже может пропасть в любой момент. А чтобы проект был хороший - кому-то надо реально "въебывать", как на второй работе, и  кому-то постоянно вливать туда бабло.
      Поэтому, лично я, считаю любой некоммерческий проект заранее проваленным!  Побегать недельку другую с друзьями это да. Что-то более серьезное, не тратьте свои силы и время! Как минимум на  тему сталкера я таких проектов видел 10 штук и в некоторых даже сам поучаствовал. Начиналось все амбициозно и даже набирало онлайн до 100 человек. Но заканчивалось все одинаково 3-4 месяца и с десято скучающих тел, на безлюдном сервере.  С точки зрения администации, игроки ведут себя как проститутки, бегая с сервера на сервер, друзья перешли, или потому что на том добавили новый прикольный скрип, или прикольную тачку, или тут плохой пинг, а там хороший, или админ козел забанил за читы и тд.  а все эти приколюхи требуют денег, а игровое сообщество не очень расположено их платить за некачественный контент. Да и сама администрация достаточно быстро забивает и расслабляется.
      (я сейчас не говорю о конкретном проекте, скорее это собирательный образ халявы).
       
      А теперь по-существу.  Так сколько должен стоить контент с хотя бы приемлемым качеством?  

      Свое мнение я написал ниже.
       
       
      Спасибо за внимание.
       
      А что думаете Вы напишите ниже в комментариях!
       
       
    • By vitacite
      Вступление: 
      Бодрого дня комрады. Данный гайд расчитан на тех кто умеет пользоваться 3D Studio Max, умеет пользоваться Object Builder и хотя бы пытался делать собственные модели.  Я разбираюсь с этой темой с нуля,  у меня есть опыт создания стволов для Арма 3, но в Dayz, как выяснилось все совсем иначе. Статей будет видимо несколько ибо Богемия, это такая Богемия, что не важно какую игру она делает. Инструменты остаются кривожопыми, паралогичными и в целом непонятными.
       
      Начнем с полного нуля. Т.е. выбора модели и подготовки ее и текстур.
      1.  Модельный контент на самом деле ограничен в использовании. Отсюда за порт калаша из Арма 3 без учета авторских прав, может влететь не только в виде SteamBan-а вашего мода, но еще и за нарушение авторских прав.
      Поступим честно. Купим модель у автора на стоке.  В данном случае я выбрал модель АК12 я выбрал за внешний вид. Вот ссылка на саму модель. Заодно оцените сколько стоит труд моделлеров. 
      https://www.cgtrader.com/3d-models/military/gun/ak-12-m
       

      Пожалуйста, Войдите или Зарегистрируйтесь, чтобы увидеть это: Вложение.
      Пожалуйста, Войдите или Зарегистрируйтесь, чтобы увидеть это: Вложение.
      Пожалуйста, Войдите или Зарегистрируйтесь, чтобы увидеть это: Вложение.
      Пожалуйста, Войдите или Зарегистрируйтесь, чтобы увидеть это: Вложение.
       
      Кроме того эта модель имеет полный набор необходимых текстур (имеет карту теней, карту высот, нормали и прочее). Что позволит создать адекватный мультиматериал.  Правда все это не форматах Dayz SA (Арма 2), по переделать это не так сложно.
      Сразу скажу т.к. модель в игре будет смотреться несколько иначе.  Мне придется разобраться АК 12, чтобы выделить необходимые движущиеся части, курок, затвор, отделить магазин, прицелы, приклад в отдельные части. Так, как это используется в Dayz. Все это будет делаться в 3D макс. А так же сохранить в формате, который адекватно экспортируется в Dayz Object Builder.
      По мере прогресса, я буду выкладывать отчеты с подробным описанием действий. 
       
      Использованный софт:  изучение модели, для составление гайда (название селекшенов, лодов и тд.) проводилось с помощью программы Elitness из пакета Mikero tools  https://mikero.bytex.digital/Downloads. Подгонка моделей проводилась в бесплатной ученической версии 3DStudio Max, конверт текстур Photoshop, подгонка моделей Object Builder, конфиги писал в notepad  ++
       
      План действий такой. 
       
      Распил 3D модели в 3D макс на отдельные части (те, которые будут выделены в прокси, как отдельные предметы)
      Создание текстур и материалов (AS,SMDI,NOHQ) на базе приложенных в модели и подгонка материала.
      Создание селекшенов и лода memory
      Перемещение частей в прокси и подгонка их к базе.
      Создание model.cfg
      Создание config.cpp 
      Импорт всего этого добра в собственный
      Пожалуйста, Войдите или Зарегистрируйтесь, чтобы увидеть это: Вложение.
       
       
       
       
       
       
       
       
      Изначально модель была не готова для конверсии. В первых, все части были собраны в одну представляя из себя нагромождение частей АК-12,  во-вторых пришлось делать Detoch частей модели например затвора, т.к. изначально он был представлен двумя несвязанными друг с другом полигонами, а у нас затвор - движующаяся часть.  В итоге скрыв лишние LOD-ы (они пока нам не нужны) и пересобрав там где надо запчасти. Получилась следующая картина.

       
      Я заранее выделил, как отдельные модели части которые будут подвергнуты анимации. А именно курок (base curok) и затвор basehutter. А также выгрузил в отдельную модель рамку прицела и приклад, чтобы подцепить к модели через прокси. Об этом расскажем отдельно. А планки Пиккатини сделал неснимаемыми (без них между прицелом и базой АК будет большой зазор). Так пришлось повозиться с место крепления съемного приклада, т.к. при разборе модели на зап.части там образовалась дыра.  Готовую модель требуется конвентировать в формат FBX.
       

      Пожалуйста, Войдите или Зарегистрируйтесь, чтобы увидеть это: Вложение.
       
       
       
       
       
       
       
       
      Выделяем только те части которые нами выбраны для моделирования и делаем export selected.
      В моем случае я подготовил папку
      P:\тегпроекта\weapons\firearms\AK12\source\ При сохранении чтобы все потом правильно экспортировалось, желательно выставить чекпоинты в открытых свитках, как на скриншоте, остальное оставить по умолчанию. 

      Пожалуйста, Войдите или Зарегистрируйтесь, чтобы увидеть это: Вложение.
       
      И обязательное условие формат для экспорта должен быть FBX 2010.  Не спрашивайте почему, это загадка для меня связанная с работой Object Builder, но в моем случае нормальный экспорт получается только в 2010 FBX.
      Так же отдельными моделями по такому же принципу выгружаем приклад и прицел и магазин(ы) автомата. Это отдельные модели которые мы будем цеплять через прокси.
       

      Пожалуйста, Войдите или Зарегистрируйтесь, чтобы увидеть это: Вложение.
       
       
       
       
       
       
       
       
      При импорте в Object Builder отключите чекпоинт на Sharp & Smoth edges (иначе все идет кубами) и Animation (ее просто нет), включите Prepare materials. 
      Полученный автомат загружается неправильно ориентированным в пространстве, незатекстуренным, но с готовыми к работе selection. 
       
      Сохраняем нашу модель под именем 
       
      P:\тегпроекта\weapons\firearms\AK12\ak12_base.p3d  И займемся конфигом.  
      Открываем notepad++ и создаем model.cfg следующего содержания 
      class CfgSkeletons { class Default; class ak12_base_skel : Default //название скелета { skeletonInherit = ""; isDiscrete = 1; SkeletonBones[]= { "magazine" ,"", //кости для анимации сменный магазин "trigger" ,"", //курок "bolt" ,"" //затвор }; }; }; class CfgModels { // BASE CLASS DEFINITIONS START class Default; class ak12_base:Default //цепляем скелет к нашей модели. { skeletonName="ak12_base_Skel"; sections[]= { "magazine" //выделяем сецию магазин }; class Animations { }; }; // BASE CLASS DEFINITIONS END }; Он базовый позже мы его дополним. Конфиг я планирую использовать от ванильного АК47, врядли он будет сильно отличается, от АК12. 
      По схожим прнципам копируем файлы с будующими прокси..
      Магазин на 30 патронов.
      ak12_magazine_30rnd.p3d Магазин под барабан 
      ak12_magazine_drum.p3d Прицельная рамка
      ak12_sight.p3d Съемный приклад
      ak12_stock.p3d 
      Пожалуйста, Войдите или Зарегистрируйтесь, чтобы увидеть это: Вложение.
      Итоговый вид моего рабочего каталога.
      Пришло время занятся материалом для нашего АК.
      Архив содержит текстуры для базы АК12 в формате TGA (это кстати важно т.к. позволяет сохранять битность тестур, а там где мы работаем с материалами мы будем работать с каналами)
       
      AK12_Base_A.tga  - диффузная карта
      AK12_Base_AO.tga - окружение
      AK12_Base_MSA.tga - карта отражения
      AK12_Base_MT_AO_0_G.tga - карта металик, карта отражения, и окружение вместе.
      AK12_Base_N.tga - карта нормалей (тут пришлось заморочиться т.к. эта карта нормалей для OpenGL.  а в нашем случае карта нормалей нужна для Direct X.)
       

      Пожалуйста, Войдите или Зарегистрируйтесь, чтобы увидеть это: Вложение.
       
      Разницу можно увидет на скриншотте выше в левой части нормаль в OpenGl формате в правой части нормальн в DirectX формате. 

      Пожалуйста, Войдите или Зарегистрируйтесь, чтобы увидеть это: Вложение.
       
      В нашем случае я поменял красный и зеленый каналы, синий не тронул. 
      https://community.bistudio.com/wiki/Texture_Map_Types
      про разницу карты нормалей между openGL и директ X тут - 
      https://help.cc0textures.com/doku.php?id=usage:directx-opengl
       
      Для нормального материала нам понадобится карты AS и SMDI
      Создадим их AS из AO не меняем..
      Для SMDI берем родную текстуру 
      AK12_Base_MSA.tga и создаем SMDI  (как можно узнать из статьи выше карта SMDI хранит информацию в зеленом и синем канале игнорируя красный и альфу). Создаем пустую картинку аналогичных размеров и начинаем копирование нужных каналов.  Соответственно зеленый канал из оригинальной тестуры, я скопировал в синий канал новой текстуры SMDI, красный канал SMDI залил белым (0), а в зеленый канал скопировал текстуру из красного оригинального (содержащего блестяшки и сильно ее затенил).
      (скрин не влез из-за ограничений  800кб) но ничего продолжим ниже.
       
       
       
       
      Продолжение следует........
    • By 123new
      Вижу крайне много любопытных вопросов по поводу идентификаторов игрока в игре. Что же, разжую для не знающих немного.
       
      В игре есть следующие типы идентификаторов:
      1. Steam64ID идентификатор профиля игрока (на пиратках его UID называют), примерно такой: 765475....65 (17 цифр).
      2. Так называемый мною, BIS ID - uid из окна (консоли) сервера игры и ADM-файлов логов сервера, который пишется самой игрой
      3. Battleye GUID игрока.
       
      Первый идентификатор (Steam64ID) на ПК является прямым идентификатором стим-профиля игрока, уникальным у каждого игрока. Т.е. публичным идентификатором вашего профиля для большинства стим-игр (например, Counter-Strike).
      Второй идентификатор (BIS ID) является определенной хеш-суммой, полученной из Steam64ID посредством конвертации сначала в sha256, а затем в base64. Спасибо за это разъяснение и пример кода-конвертации авторам игры на своем официальном форуме.
      Третий идентификатор (Battleye GUID) является публичным идентификатором Battleye античита, получаемый также из Steam64ID поcредством получения его хеш-суммы MD5. Этот же идентификатор есть в логах сервера от Battleye, в любых RCON-приложениях (DART, BEC и т.п.), также его можно конвертировать самим.
       
      Так вот, как же получить Steam64ID:
      1. Зайти на любой ресурс, предназначенный для сбора таких данных. например на: https://steamid.io/
      2. Ввести ссылку на ваш стим-профиль
      3. Получить результат из кучи данных, одно поле из которых и будет содержать ваш Steam64ID
       
      Как получить BIS ID:
      1. Открыть любой Phyton-конвертер в интернете, например: https://www.tutorialspoint.com/execute_python_online.php
      2. Ввести в него следующий код:
      # Hello World program in Python from hashlib import sha256 from base64 import b64encode def construct_bi_uid(steam_id): hashed = sha256() hashed.update(str(steam_id)) return b64encode(hashed.digest()) print construct_bi_uid(76514925976798981) 3. заменить 76514925976798981 на ваш Steam64ID
      4. Отправить код в исполнение, нажав Execute.
      5. Получить результат

      Пожалуйста, Войдите или Зарегистрируйтесь, чтобы увидеть это: Вложение.
       
      Как получить Battleye GUID:
      1. Открыть любой ресурс с готовой формой конвертирования, например:
      https://armstalker.com/guid/
      https://dayzrussia.com/f/index.php?pages/dayzguid/
      либо написать свою, на основе данных, предложенных на странице Github
      https://gist.github.com/chris579/53053b6d6438df9a9718c23c0d6bbd69
      Оставлю ниже лишь код для Phyton:
      # Thanks to gunlinux import md5 steamid=76514925976798981 temp = "" for i in range(8): temp += chr((steamid & 0xFF)) steamid >>= 8 m = md5.new("BE"+temp) print m.hexdigest() 2. Вставить в поле ввода UID(Steam64ID) ваш Steam64ID
      3. Нажать кнопку конвертирования или исполнить код, и получить в готовом виде Battleye GUID
       
      Возможно имеются и другие методы и наработки в получении данных идентификаторов более простыми методами, на других языках, либо автоматически. Я описал лишь известные мне.
      Все желающие могут добавить в комментариях свои способы конвертаций, возможно это поможет кому-либо.
    • 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 не отобразятся там.
       
      Вот и все, приятной игры на сервере!
       
       
×
×
  • 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.