• Ресурси з префіксом PREMIUM можна завантажити лише при купленому підвищенні облікового запису.
    Купити ->>>
    Платне підвищення
    Промо-код на підвищення прав до PREMIUM на 15% TOPUA

Створення свого сервера Unturned і плагінів

Статус
Закрита.

Admin

Developer
Команда форуму
База
Для начала заходим в библиотеку, и выбираем игры и инструменты, после этого качаем Unturned Dedicated Server или U3DS (одно и тоже), дальше заходим в корень U3DS и заходим в Extras и открываем installRocket.bat обязательно. После заходим обратно в корень и открываем в нем Unturned. Конечно можно создать доп. ярлык чтобы как то обозвать папку сервера, как открыли ждем и закрываем. ДЛЯ ЗАКРЫТИЯ ВСЕГДА ПИШЕМ SHUTDOWN! После того как мы открыли у нас в папке Servers появилась папка уже с нашим сервером и с названием default. Для удобства закрепите в проводнике папку с U3DS и сервер.

Для тех кто хочет держать сервер на своем пк, хочу вас огорчить о том что пк нужно держать включенным 24/7 и если вам жалко пк то не стоит.

Настройка сервера

Первым делом чтобы на сервер хотя бы можно было зайти нужно найти в папке сервера Config.json, заходим в него и видим множество букв, все это настраивайте как хотите, щас нам нужно Login_Token на 8 строке, когда нашли заходите сюда:
Please, Увійти or Реєстрація to view URLs content!
. App ID - 304930, а мемо это название, пишите любое как пожелаете. После того как вы скопировали токен ( который выдали после того как вы это все создали ), вставляете его в логин токен, сохраняете, закрываете. После в папке сервера есть папка Server, там нужно commands.dat вот настройки:
Name имя сервера
Port 27015 - дефолт порт, можете поставить любой.
MaxPlayers кол-во максимум игроков
Map Pei - карта
Mode Easy/Normal/Hard - сложность
Perspective Both - лица которые доступны игрокам.
Cheats on/off - читы (/give, /vehicle и т.д.)

Настройка рабочей среды

Конечно можно скачать плагины, но без своей фишки никто играть у вас не будет. Плагины можно искать так просто в первой ссылке гугла, а так лучше искать на github, там исходный код плагинов ну и можно просто что то для себя выделить.
Сразу скажу то что без базовый знаний c# вы ничего не напишите и ничего не сделаете.
Вам нужно скачать VisualStudio любой версии. И при его установке выбрать:
3079495309_preview_Снимок экрана 2023-11-11 164526.png

После установки, заходим в VS, выбираем создать проект, и видим много шаблонов. Важно, при создании проекта с плагином выбирайте Библиотека классов
Please, Увійти or Реєстрація to view URLs content!
Framework)
. Дальше после создания проекта видим данную картину:
3079495309_preview_Снимок экрана 2023-11-11 175233.png

Для удобства переименуйте ваш первый скрипт в Plugin или на ваше усмотрение. Для того чтобы подключить библиотеки Рокета и Антюрнеда нужно нажать правой кнопкой мыши в обозревателе по нашему проекту:
3079495309_preview_Снимок экрана 2023-11-11 180119.png
и выбрать управление пакетами NuGet и в обзоре пишем:
RocketMod.Modern.Dependencies и устанавливаем. После установки заходим в наш скрипт и наследуем его от RocketPlugin, и создаем два евента:
protected override void Load() - когда плагин подгружается к игре
protected override void Unload() - когда плагин отгружается

У вас должно получится так:
3079495309_preview_Снимок экрана 2023-11-11 180452.png
Поздравляю! Можете начинать творить ваш плагин.

Команды

Для создания команды нужно создать новый скрипт, для удобства поместите его в отдельную папку (если вы делаете несколько комманд). Также унаследуем уже от IRocketCommand, и нас VS просит "Реализовать структуру интерфейса" для реализации нужно нажать правой кнопке по ошибке и Быстрые решения, и там есть реализовать интерфейс.
3079495309_preview_Снимок экрана 2023-11-11 202700.png

Евенты
Евенты - проще сказать это события которые происходят в игре, и когда они происходят тогда вызывается евент который вы прописали.
Чтобы прописать евент нужно в методе Load() отписать следующее:
3079495309_preview_Screenshot_160.png
Список классов с евентами:
UnturnedPlayerEvents - Евенты с игроками
U.Events - Евенты с подключениями
UseableConsumeable - Евенты с использованием вещей
UseableGun - Евенты с оружием
UseableTire - Евенты с колесами
BarricadeManager - Евенты с постройками
BeaconManager - Евенты с ордой
ChatManager - Евенты с чатом
EffectManager - Евенты с UI
GroupManager - Евенты с группами
ItemManager - Евенты с предметами
LevelManager - Евенты с ареной
LightingManager - Евенты с погодой
NPCEventManager - Евенты с НПС
ObjectManager - Евенты с обьектами, например когда игрок сломал забор
VehicleManager - Евенты с машинами
ZombieManager - Евенты с зомби
StructureManager - Евенты со структурами
DamageTool - Евенты связанные с уроном



EffectManager
EffectManager чаще всего нужен для интерфейса (UI), разберем как с ним работать для UI.

Для создание нормального UI нужно: Unity (желательно 2020.3.38f1 версии), Canvas с названием Effect, прямые руки, желание, Bundle Tool.
Разберу это все по порядку:
1. Качаем Unity
Please, Увійти or Реєстрація to view URLs content!
и устанавливем, после заходим

2. После захода создаем Canvas с названием Effect (Обязательно)

3. Выпрямляем руки и лепим само меню.

4. Заходим в папку: ...\Unturned\Extras\Sources, и ищем там Project.unitypackage запускаем подтверждаем и ждем, после видим в Windows появился наш антюрнед, туда заходим видим bundle tool его переносим для удобства к инспектору, после наш Effect кидаем в пустую папку с таким названием как мы хотим его обозвать. Бандлим дальше как все предметы заливаем в воркшоп и все

5. Для вызова используем наш EffectManager.SendUiEffect, уишка начала отображаться.
Конечно уишка не будет только отображаться, но и можно ее изменять, конечно только элементы text и image)) ну и еще ставить видимость элементов.

EffectManager.sendUIEffectText - отправляет текст на элемент
EffectManager.sendUIEffectImageURL - отправляет картинку на элемент (нужен url картинки)
EffectManager.sendUIEffectVisibility - Ставить видимось элементов.
EffectManager.askEffectClearByID - Чистит UI у игрока по ид UI

.Json база данных
Каждый поймет то что нормальный сервер без базы данных не обойдется, и MySQL такое, думаю многим впадлу подключать и с ним ♥♥♥♥♥♥♥♥♥♥♥♥♥♥. Для таких ситуаций подойдет json, просто стильно элегантно.

Для начала использования нужно в классе с плагином (или где вы это будете использовать) добавить класс:
JSON:
Please, Увійти or Реєстрація to view codes content!

И еще добавить в класс где вы будете уже использовать бд это:
Код:
Please, Увійти or Реєстрація to view codes content!

После всего этого добавленного нужно создать класс внутри класса где вы пишите.
В него нужно вставить переменные которые будут сохраняться в бд пример:
Код:
Please, Увійти or Реєстрація to view codes content!

Дальше для использования не только одним разом нужно сделать этот класс листом:
Код:
Please, Увійти or Реєстрація to view codes content!

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

MySQL
Конечно json попроще, но если вы будете работать с большими данными, то использовать нужно MySQL, он будет быстрее обрабатывать и тем самым меньше нагрузка на сервер, и проще работать с несколькими таблицами. Для подключения нужно скачать через NuGet MySql.Data. После скачки чтобы не засорять код создать новый класс MySQL и добавить в него:
Код:
Please, Увійти or Реєстрація to view codes content!

Пример внесения игрока в базу данных:
Код:
Please, Увійти or Реєстрація to view codes content!
 

Вкладення

  • 3079495309_preview_Снимок экрана 2023-11-11 164526.png
    3079495309_preview_Снимок экрана 2023-11-11 164526.png
    80.7 КБ · Перегляди: 1
Статус
Закрита.
Зверху