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 serversDon'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



Статья Разбираем файл init.sqf
-
Similar Content
-
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 DrTauren
Как всем известно, сегодня, 19 сентября разработчики DayZ Standalone официально опубликовали документацию серверов Dayz, а также предоставили возможность скачать файлы для запуска сервера DayZ. Ниже прилагается перевод официальной документации этих самых файлов с форума DayZ, а также документация касательно других файлов, которых нет в официальной документации. Пользуйтесь на здоровье
Скачать серверные файлы через Steam: steam://rungameid/223350
На данный момент присутствует ошибка с невозможностью скачать файлы сервера, если на вашем аккаунте Steam отсутствует купленная DayZ.
P.S. Если у вас есть чем заполнить эту статью, обязательно пишите мне в лс
-
By Serdce
Ссылка на первоисточник - https://github.com/BrettNordin/Exile
Я всего лишь перевёл
Собственно переходим по ссылке, и скачиваем архив.
Для тех, кто не знает как качать с хаба скрин
И так, едем дальше
Скачанный архив распаковываем в удобное место для работы,
Идём в ваш @ExileServer, там нас интересуют файлы - extDB2.dll , extDB2.so , extDB2-conf.ini , XM8.dll , XM8.so Удаляем эти файлы
Далее идём в @ExileServer которую мы скачали, всё её содержимое копируем в аналогичную папку на сервере.
Теперь идём в вашу MPmissions и там распаковываем вашу миссию "Exile.название карты",
Туда мы копируем содержимое папки Exile.MapName из архива,
Далее открываем ваш config.cpp и ищем там class CfgExileCustomCode
В него мы добавляем - #include "CfgExileCustomCode.cpp"
Должно получится так
Запаковываем обратно)
Ну и теперь из архива мы копируем tbbmalloc.dll, tbbmalloc_x64.dll в папку расположения вашего Arma3_server.exe
Не забываем поменять в вашем файле запуска сервера с arma3server.exe на arma3server_x64.exe
Ну и финишная прямая, открываем вашу базу данных ( желательно с название exile ) и добавляем файл Exile_Database_Update_64x.sql
Далее настройте под себя ваш extdb3-conf.ini
-
-
Our picks