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
123new

Установка модов (базовая, общая) (серверные и клиентские моды)

Recommended Posts

Подскажите пожалуйста,есть админ панель,которую не нужно ставить в клиент пользователю(не админу),аля сервер мод как я понимаю?
 

Share this post


Link to post
Share on other sites



08.12.2020 в 19:27, 100Rad сказал:

Подскажите пожалуйста,есть админ панель,которую не нужно ставить в клиент пользователю(не админу),аля сервер мод как я понимаю?
 

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

Share this post


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

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

Спасибо,уже не актуально) ушёл на а3 с инфстаром

Edited by USide (see edit history)

Share this post


Link to post
Share on other sites

@123new хочется сказать тебе огромное спасибо за твои гайды, которые написаны языком, понять который способен даже самый полный чайник в этом деле. Очень доступно и понятно. Спасибо за труды!

З.Ы.: единственное, маленькое такое пожелание (если возможно), учитывая, что у тебя каждый гайд - это новый "шаг", связанный с предыдущим, как-то бы собрать твои все гайды в виде ссылок в одном посте. Было бы очень удобно. Но это мелочь.

Share this post


Link to post
Share on other sites

@123new @MeinCain  Гуру, нужна ваша помощь. Отдельная папка MODS для дейз пиратка !!!

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

mod.PNG.6fceb703ae89deefb46c6c9129ce23d6.PNGmodsss.PNG.69e3b98e4034b3a69c3aac2fe7555d45.PNG

Имеем пиратку, хочу запихнуть все моды в одну папку    mods/@mod , подскажите как прописать в запускающем файле   "-mod=" так чтобы он брал моды из папки mods

  1. Жду с нетерпением ВАШЕГО ответа!!

Share this post


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

@123new @MeinCain  Гуру, нужна ваша помощь. Отдельная папка MODS для дейз пиратка !!!

  Показать содержимое

mod.PNG.6fceb703ae89deefb46c6c9129ce23d6.PNGmodsss.PNG.69e3b98e4034b3a69c3aac2fe7555d45.PNG

Имеем пиратку, хочу запихнуть все моды в одну папку    mods/@mod , подскажите как прописать в запускающем файле   "-mod=" так чтобы он брал моды из папки mods

  1. Жду с нетерпением ВАШЕГО ответа!!
"-mod=mods/@mod1;mods/@mod2;mods/@mod3"

 

Share this post


Link to post
Share on other sites
  1. @123new все заработало, спасибо огромгое. количество папок ограничено??? mods/stalker/@mod1;mods/stalker/@mod2

Share this post


Link to post
Share on other sites
05.03.2023 в 21:31, KoT_Kokos сказал:
  1. @123new все заработало, спасибо огромгое. количество папок ограничено??? mods/stalker/@mod1;mods/stalker/@mod2

ну разве что длиной коммандной строки windows, которую система может считать

Share this post


Link to post
Share on other sites

@123new на самом деле, очень классная штука, нет огромного списка модов, работает как на пиратке так и на Стим. Рекомендую для любителей порядка в папках сервера,👍👍👍

Share this post


Link to post
Share on other sites

Всем привет!

А как установить мод через SteamCMD?

Имеется домашний сервер под WinServer, установил туда steamcmd, установил с помощью него dayzserver, пытаюсь установить @CF, а steamcmd пишет мне что нет подписки, хотя я на него подписан.

 

Z:\SteamCMD>steamcmd
Redirecting stderr to 'Z:\SteamCMD\logs\stderr.txt'
Logging directory: 'Z:\SteamCMD/logs'
[  0%] Checking for available updates...
[----] Verifying installation...
Steam Console Client (c) Valve Corporation - version 1701290101
-- type 'quit' to exit --
Loading Steam API...OK

Steam>force_install_dir z:\servers\dayzserver

Steam>login *** ***
Logging in user '***' to Steam Public...OK
Waiting for client config...OK
Waiting for user info...OK

Steam>app_update 223350 validate
 Update state (0x5) verifying install, progress: 1.86 (2103835 / 112911874)
 Update state (0x5) verifying install, progress: 10.88 (330793279 / 3039951413)
 Update state (0x5) verifying install, progress: 32.31 (982211835 / 3039951413)
 Update state (0x5) verifying install, progress: 54.53 (1657680106 / 3039951413)
 Update state (0x5) verifying install, progress: 76.60 (2328750847 / 3039951413)
 Update state (0x5) verifying install, progress: 98.54 (2995519662 / 3039951413)
Success! App '223350' fully installed.

Steam>app_update 1559212036 validate
ERROR! Failed to install app '1559212036' (No subscription)

Steam>quit

Z:\SteamCMD>

 

Share this post


Link to post
Share on other sites
Только что, Irkutsk86 сказал:

@W0LF логин и пароль водил свой стимовский ?

Да, конечно. Всё под своим логином.

Единственное что не упомянул - установлен только сервер, самой игры и стима на том компе нет.

Share this post


Link to post
Share on other sites
09.12.2023 в 17:08, W0LF сказал:

Да, конечно. Всё под своим логином.

Единственное что не упомянул - установлен только сервер, самой игры и стима на том компе нет.

игра на акке стим купленая?

Share this post


Link to post
Share on other sites
10.12.2023 в 19:33, 123new сказал:

игра на акке стим купленая?

Конечно. Это мой единственный аккаунт с которого я играю.

 

Собственно вопрос можно пометить как решённый. Долгий гуглёж вывел меня на такую команду:

workshop_download_item 221100 1559212036 validate

где 221100 - id Dayz, 1559212036 - соответственно id CF-мода.

Взято отсюда.

Рекомендую добавить этот скрипт в какую-нибудь местную шапку.

Share this post


Link to post
Share on other sites

дружище, можно ли занять твое драгоценное время и связаться с тобой в дискорде?
есть пара вопросов по модам на локальном сервере

Share this post


Link to post
Share on other sites

можно, но то в личку, и время надо согласовывать (с ним реально беда)

Share this post


Link to post
Share on other sites
Posted (edited)
#!/bin/bash
shopt -s extglob # Enable extended pattern matching

# Full path to the steamcmd
STEAMCMD_PATH="/home/yourprofile/servers/steamcmd/steamcmd.sh"

# Full path to the directory where the DayZ server will be downloaded
INSTALL_DIR="/home/yourprofile/servers/dayz-server/"

# Login to Steam
STEAM_LOGIN="yourlogin"

# Updating DayZ app
APP_ID="223350"

# Path to the Script for steamcmd
MODS_FILE="/home/yourprofile/servers/dayz-server/MyMods.txt"

# Log file
LOG_FILE="/home/yourprofile/servers/dayz-server/update.log"

# Function for logging
log() {
    echo "$(date +'%Y-%m-%d %H:%M:%S') - $1" >> "$LOG_FILE"
}

# Function for error handling
handle_error() {
    log "Error: $1"
    exit 1
}

# Validate if all required paths and files exist
validate_paths() {
    if [ ! -f "$STEAMCMD_PATH" ]; then
        handle_error "SteamCMD not found at path: $STEAMCMD_PATH"
    fi

    if [ ! -d "$INSTALL_DIR" ]; then
        handle_error "DayZ server directory not found at path: $INSTALL_DIR"
    fi

    if [ ! -f "$MODS_FILE" ]; then
        handle_error "MODs file not found at path: $MODS_FILE"
    fi
}

# Read MOD IDs from MyMods.txt
read_mods() {
    while IFS= read -r line; do
        index=$(expr index "$line" "#")
        if [ "$index" -gt 0 ]; then
            id_start=$((index - 13))
            mod_id=${line:id_start:10}
            MODS_LIST+="$mod_id "
        fi
    done < "$MODS_FILE"
    MODS_LIST="${MODS_LIST%" "}"
}

# Remove extra spaces in MODS_LIST
remove_extra_spaces() {
    MODS_LIST="${MODS_LIST%" "}"
}

# Install mods using steamcmd
install_mods() {
    $STEAMCMD_PATH +force_install_dir "$INSTALL_DIR" +login "$STEAM_LOGIN" +app_update "$APP_ID" validate +runscript "$MODS_FILE" +quit || handle_error "Failed to update DayZ server"
}

# Remove downloaded modded server files
remove_modded_files() {
    for mod_id in $MODS_LIST; do
        rm -f "$INSTALL_DIR$mod_id"
    done
}

# Remove symbolic links of modded keys and Keys
remove_modded_keys() {
    rm -f "$INSTALL_DIR"keys/!(*dayz.bikey)
    log "Modded keys in $INSTALL_DIR keys/ deleted, ready for new keys"
}

# Create symbolic links for each mod
create_symbolic_links() {
    for mod_id in $MODS_LIST; do
        ln -s "$INSTALL_DIR"steamapps/workshop/content/221100/"$mod_id" "$INSTALL_DIR$mod_id"
        log "Created symbolic link to the mod directory: $mod_id"

        keys_dir=$(find "$INSTALL_DIR"steamapps/workshop/content/221100/"$mod_id" -maxdepth 1 -type d -iname "keys" -o -iname "Keys")
        if [ -n "$keys_dir" ]; then
            ln -s "$keys_dir"/* "$INSTALL_DIR"keys/
            log "Created symbolic links to files in the 'keys' directory for mod: $mod_id"
        else
            log "The mod $mod_id does not have a 'keys' or 'Keys' directory."
        fi
    done
}

# Main function
main() {
    validate_paths
    read_mods
    remove_extra_spaces
    log "Mod IDs read from file: $MODS_LIST"
    install_mods
    remove_modded_files
    remove_modded_keys
    create_symbolic_links
}

main

написал скрипт для update.sh (структура упомянутого в коде MyMods.txt выглядит как набор строк вида   workshop_download_item 221100 1828439124  # VPP Admin Tools )
(проверьте пути, потому что я поднимал сервер на Ubuntu)

Edited by Pryanik
уточил ОС (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 paranoyk
      ©
      Инструкция по базовой установке животных на сервер. (базовые понятия)
      Задача дать начальные понятия в установке животных  на сервер. Вопросы лута, поведения, расстановки-не рассматриваем.
      (визги и смешочки "олдфагов" вынесем за скобки, мы в курсе что когда вы начинали даже Богемии ещё не было)
      Будем всё делать на основе примера мода, карты Чернорусь и согласно простому правилу "не думай что ты умнее бегемотов".
      Берём общедоступный мод Radioactive Animals
      Для начала просто подключаем мод к серверу (тестовому , то же правило-имейте сервер для тестов), после чего пытаемся заспавнить животных админкой. Получилось, животные ведут себя после спавна адекватно, нормально выглядят - идём дальше, если нет-жалуемся автору мода.
      Открываем папку dayzOffline.chernarusplus и создаём папку mod (или как захотите, но без кириллицы). Открываем созданную папку.
      Первая задача-создать файл "types" с новыми объектами. Иногда с модом идёт уже готовый файл. Если он есть-копируем его в папку. Можете переименовать его как хотите. (остальные действия настройки как при создании его с нуля).
      Если его нет-не беда, нам нужно только узнать ID обьектов, а вот они то всегда есть в описании или в стиме или в папке с модом. (если нет, то только вскрыв мод или переписав значения при спавне админкой).
      Мод из примера НЕ имеет готового тайпса. Но есть ID (класснеймы) в отдельном файле.
      Создаём в папке mod файл Atypes.xml . Отрываем его, вставляем
       
      <?xml version="1.0" encoding="UTF-8" standalone="yes"?> <types> </types> Верхней строчкой файл тайпс начинается, нижней заканчивается.
      Список класснеймов мода
      Radioactive_Bear_juggernaut
      Radioactive_Bear_Beast
      Radioactive_Bear_Tough
      Radioactive_bear_pelt
      Radioactive_Wolf_juggernaut
      Radioactive_Wolf_Beast
      Radioactive_Wolf_Tough
      Radioactive_wolf_pelt
      Radioactive_bear_Meat
      Radioactive_wolf_Meat
      Их нам внести в нами созданный файл, плохо что нет описания, что куда, но....ясно что у нас животные, их шкуры и мясо. С начало вносим животных. Из ванильного, серверного тайпс копируем значения для любого животного, к примеру
       
      <type name="Animal_BosTaurusF_Brown"> <nominal>0</nominal> <lifetime>1800</lifetime> <restock>0</restock> <min>0</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"/> </type> и подставляя класснеймы модовых животных заполняем созданный тайпс. В конце концов он примет вид

       
      <?xml version="1.0" encoding="UTF-8" standalone="yes"?> <types> <type name="Radioactive_Bear_juggernaut"> <nominal>0</nominal> <lifetime>1800</lifetime> <restock>0</restock> <min>0</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"/> </type> <type name="Radioactive_Bear_Beast"> <nominal>0</nominal> <lifetime>1800</lifetime> <restock>0</restock> <min>0</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"/> </type> <type name="Radioactive_Bear_Tough"> <nominal>0</nominal> <lifetime>1800</lifetime> <restock>0</restock> <min>0</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"/> </type> <type name="Radioactive_Wolf_juggernaut"> <nominal>0</nominal> <lifetime>1800</lifetime> <restock>0</restock> <min>0</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"/> </type> <type name="Radioactive_Wolf_Beast"> <nominal>0</nominal> <lifetime>1800</lifetime> <restock>0</restock> <min>0</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"/> </type> <type name="Radioactive_Wolf_Tough"> <nominal>0</nominal> <lifetime>1800</lifetime> <restock>0</restock> <min>0</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"/> </type> </types> Можно изменить <lifetime>1800</lifetime> на любое значение какое захотите (максимум 3888000). Это время жизни вашего животного когда рядом нет игрока на дистанции из <saferadius> файла events.
      После таким же способом добавляем шкуру и мясо. (опять таки копируем ванильное значение и меняем класснейм на модовый). В результате файл придёт к виду:
      <?xml version="1.0" encoding="UTF-8" standalone="yes"?> <types> <type name="Radioactive_Bear_juggernaut"> <nominal>0</nominal> <lifetime>1800</lifetime> <restock>0</restock> <min>0</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"/> </type> <type name="Radioactive_Bear_Beast"> <nominal>0</nominal> <lifetime>1800</lifetime> <restock>0</restock> <min>0</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"/> </type> <type name="Radioactive_Bear_Tough"> <nominal>0</nominal> <lifetime>1800</lifetime> <restock>0</restock> <min>0</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"/> </type> <type name="Radioactive_Wolf_juggernaut"> <nominal>0</nominal> <lifetime>1800</lifetime> <restock>0</restock> <min>0</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"/> </type> <type name="Radioactive_Wolf_Beast"> <nominal>0</nominal> <lifetime>1800</lifetime> <restock>0</restock> <min>0</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"/> </type> <type name="Radioactive_Wolf_Tough"> <nominal>0</nominal> <lifetime>1800</lifetime> <restock>0</restock> <min>0</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"/> </type> <type name="Radioactive_bear_pelt"> <nominal>0</nominal> <lifetime>28800</lifetime> <restock>0</restock> <min>0</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="1" deloot="0"/> <category name="tools"/> </type> <type name="Radioactive_wolf_pelt"> <nominal>0</nominal> <lifetime>28800</lifetime> <restock>0</restock> <min>0</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="1" deloot="0"/> <category name="tools"/> </type> <type name="Radioactive_bear_Meat"> <nominal>0</nominal> <lifetime>14400</lifetime> <restock>0</restock> <min>0</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="1" deloot="0"/> <category name="food"/> </type> <type name="Radioactive_wolf_Meat"> <nominal>0</nominal> <lifetime>14400</lifetime> <restock>0</restock> <min>0</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="1" deloot="0"/> <category name="food"/> </type> </types>
      Проверяем кодировку, проверяем валидатором, (добавление-лично я проверяю окончания строчек что бы они совпадали с ванильным файлом).
      Основной файл для спавна создан. Теперь создаём файл событий.
      Создаём в папке mod файл Aevents.xml . Отрываем его, вставляем
      <?xml version="1.0" encoding="UTF-8" standalone="yes"?> <events> </events> Верхней строчкой файл ивент начинается, нижней заканчивается.
      У нас два вида животных-медведь и волк, в каждом из которых три класса. Тут важно сразу решить, какие у нас будут "ивенты". Один для одного вида или несколько для одного вида и каждого класса. Для примера делаем по событию для каждого вида. Открываем ванильный events.xml и копируем в созданный файл два ивента - медведя и волка.
       
      <?xml version="1.0" encoding="UTF-8" standalone="yes"?> <events> <event name="AnimalBear"> <nominal>0</nominal> <min>2</min> <max>2</max> <lifetime>180</lifetime> <restock>0</restock> <saferadius>200</saferadius> <distanceradius>0</distanceradius> <cleanupradius>0</cleanupradius> <flags deletable="0" init_random="0" remove_damaged="1"/> <position>fixed</position> <limit>custom</limit> <active>1</active> <children> <child lootmax="0" lootmin="0" max="1" min="1" type="Animal_UrsusArctos"/> </children> </event> <event name="AnimalWolf"> <nominal>8</nominal> <min>4</min> <max>6</max> <lifetime>180</lifetime> <restock>0</restock> <saferadius>200</saferadius> <distanceradius>0</distanceradius> <cleanupradius>0</cleanupradius> <flags deletable="0" init_random="0" remove_damaged="1"/> <position>fixed</position> <limit>child</limit> <active>1</active> <children> <child lootmax="0" lootmin="0" max="6" min="2" type="Animal_CanisLupus_Grey"/> <child lootmax="0" lootmin="0" max="4" min="0" type="Animal_CanisLupus_White"/> </children> </event> </events> Теперь меняем event name. Для животных он всегда должно начинаться с "Animal" . Называем соответственно (пример) AnimalBearA и AnimalWolfA .
      Далее количество событий <nominal> котрое вам требуется.
      Количество особей в "отряде". <min>  <max>.
      Дистанции - расстояние до игрока, расстояние до другого "события", расстояние "уборки" события от игрока (начало отсчёта времени жизни или начало уборки трупов животных).
      Позиция. Оставляем , если хотим что бы событие спавнилось вне зависимости есть ли игрок рядом. Или делаем <position>player как у зомби, тогда спавн будет при приблежениии игрока.
      Лимит....Приведу просто выдержку из одного описания
      custom-limit refer to an external file like for animals territories.
      child-limit refer to the min and max attributes of the each child.
      parent-limit refer to the min and max attributes of the event itself.
      mixed-limit is a mix of both child et parent.
      То есть если берём что нужно (проще-для медведя что в ванили,для стайных-как у волков)
      Актив-1 конечно...
      Переделываем под модовые и получаем,
      <?xml version="1.0" encoding="UTF-8" standalone="yes"?> <events> <event name="AnimalBearA"> <nominal>5</nominal> <min>1</min> <max>3</max> <lifetime>180</lifetime> <restock>0</restock> <saferadius>200</saferadius> <distanceradius>10</distanceradius> <cleanupradius>300</cleanupradius> <flags deletable="0" init_random="0" remove_damaged="1"/> <position>fixed</position> <limit>custom</limit> <active>1</active> <children> <child lootmax="0" lootmin="0" max="1" min="1" type="Radioactive_Bear_juggernaut"/> <child lootmax="0" lootmin="0" max="1" min="1" type="Radioactive_Bear_Beast"/> <child lootmax="0" lootmin="0" max="1" min="1" type="Radioactive_Bear_Tough"/> </children> </event> <event name="AnimalWolfA"> <nominal>8</nominal> <min>4</min> <max>6</max> <lifetime>180</lifetime> <restock>0</restock> <saferadius>200</saferadius> <distanceradius>0</distanceradius> <cleanupradius>0</cleanupradius> <flags deletable="0" init_random="0" remove_damaged="1"/> <position>fixed</position> <limit>child</limit> <active>1</active> <children> <child lootmax="0" lootmin="0" max="6" min="2" type="Radioactive_Wolf_juggernaut"/> <child lootmax="0" lootmin="0" max="4" min="0" type="Radioactive_Wolf_Beast"/> <child lootmax="0" lootmin="0" max="4" min="0" type="Radioactive_Wolf_Tough"/> </children> </event> </events> Опять таки проверяем кодировку,валидатором и на соответствие с ванильным файлом. Даже если есть предоставленный автором мода готовый- просмотрите, поправите, исправите.
      Теперь подключаем созданные файлы.
      Открываем ванильный файл cfgeconomycore.xml
      И вписываем между </defaults> и </economycore>
      <ce folder="mod"> <file name="Atypes.xml" type="types" /> <file name="Aevents.xml" type="events" /> </ce> Мы создали два подключаемых файла с тайпс и событиями и подключили их.
      Открываем папку env и создаём два файла bearA_territories.xml и wolfA_territories.xml 
      Это файлы территорий спавна. Один из способов их заполнить-работа через СE Editor. (здесь нет описания) Другой-вручную спавнится к каждой точке спавна и снимать координаты, в не зависимости как вы поступаете нужно сделать следующее.
      ОТкрываем файл , к примеру , bearA_territories.xml
      Заполняем его следующем образом.
      <?xml version="1.0" encoding="UTF-8"?> <territory-type> </territory-type> Так начинается и заканчивается этот файл, между ними вбиваем точки спавна. Для примера приведу ДВЕ точки спавна для ДВУХ событий.
      <?xml version="1.0" encoding="UTF-8"?> <territory-type> <territory color="4291611852"> <zone name="Water" smin="0" smax="0" dmin="0" dmax="0" x="4822.5" z="13657.5" r="60"/> <zone name="Water" smin="0" smax="0" dmin="0" dmax="0" x="4897.5" z="13815" r="60"/> <zone name="Rest" smin="0" smax="0" dmin="0" dmax="0" x="4997.5" z="13127.5" r="232.5"/> <zone name="HuntingGround" smin="0" smax="0" dmin="0" dmax="0" x="4960" z="13105" r="292.5"/> </territory> <territory color="4291611852"> <zone name="Water" smin="0" smax="0" dmin="0" dmax="0" x="6030" z="11485" r="45"/> <zone name="Rest" smin="0" smax="0" dmin="0" dmax="0" x="7477.5" z="11970" r="180"/> <zone name="HuntingGround" smin="0" smax="0" dmin="0" dmax="0" x="7462.5" z="11970" r="217.5"/> <zone name="HuntingGround" smin="0" smax="0" dmin="0" dmax="0" x="6457.5" z="12210" r="210"/> </territory> </territory-type> territory color="4291611852" - цветовой код для СЕ. Совет делать его не разным для всего события и уникальным.
      zone name="Water" - название зоны спавна (разные названия влияют на поведение животных после спавна, "Water","Rest","HuntingGround",Graze". использование зон куриц и кроликов и их действие на животных-непроверено)
      далее идёт количество статических и динамических обьектов при спавне (если в ивенте "лимит" ссылается на эти значения -сделать отличными от нуля)
      Далее координаты точки и радиус в котором произойдёт спавн.
      Ещё для примера wolfA_territories.xml
      <?xml version="1.0" encoding="UTF-8"?> <territory-type> <territory color="4290666866"> <zone name="Water" smin="0" smax="0" dmin="3" dmax="4" x="4822.5" z="13657.5" r="100"/> <zone name="Rest" smin="0" smax="0" dmin="3" dmax="4" x="4997.5" z="12927.5" r="200"/> <zone name="HuntingGround" smin="0" smax="0" dmin="3" dmax="4" x="5060" z="12805" r="292.5"/> </territory> <territory color="4290666866"> <zone name="Water" smin="0" smax="0" dmin="3" dmax="4" x="7897.5" z="7515" r="100"/> <zone name="Rest" smin="0" smax="0" dmin="3" dmax="4" x="7477.5" z="7070" r="150"/> <zone name="HuntingGround" smin="0" smax="0" dmin="3" dmax="4" x="7560" z="7105" r="250.5"/> </territory> </territory-type> Опять всё проверяем,кодировка, проверка, схожесть, проверяем, сохраняем
      (не делайте ошибки по типу 
      <?xml version="1.0" encoding="UTF-8"?> <territory-type> <territory color="4291611852"> <zone name="Water" smin="0" smax="0" dmin="3" dmax="4" x="4822.5" z="13657.5" r="60"/> <zone name="Water" smin="0" smax="0" dmin="3" dmax="4" x="4897.5" z="13815" r="60"/> <zone name="Water" smin="0" smax="0" dmin="3" dmax="4" x="6030" z="13485" r="45"/> <zone name="Rest" smin="0" smax="0" dmin="3" dmax="4" x="6997.5" z="12127.5" r="232.5"/> <zone name="Rest" smin="0" smax="0" dmin="3" dmax="4" x="7477.5" z="11970" r="180"/> <zone name="HuntingGround" smin="0" smax="0" dmin="3" dmax="4" x="6960" z="12105" r="292.5"/> <zone name="HuntingGround" smin="0" smax="0" dmin="3" dmax="4" x="7462.5" z="11970" r="217.5"/> <zone name="HuntingGround" smin="0" smax="0" dmin="3" dmax="4" x="6457.5" z="12210" r="210"/> </territory> </territory-type> в таком виде это блок точек для ОДНОГО события. Но если у вас в планах именно так, то....почему и нет?)))
      Теперь подключаем наши события из файла инит
      Открываем ванильный файл cfgeventspawns.xml
      И между <event name="AnimalRoeDeer" /> и <event name="AnimalWolf" /> вписываем
          <event name="AnimalBearA" />
          <event name="AnimalWolfA" />
      Названия для ивента взяты из созданного нами файла Aevents.xml
      (кодировка, проверка, схожесть, проверяем, сохраняем)
      Открываем ванильный файл cfgenvironment.xml
      В блок file path
      <file path="env/wolfA_territories.xml" /> <file path="env/bearA_territories.xml" /> Мы указали на путь к файлам с точками спавна.
      В блок с territory type вписываем
      <territory type="Herd" name="WolfA" behavior="DZWolfGroupBeh"> <file usable="wolfA_territories" /> </territory> <territory type="Herd" name="BearA" behavior="BlissBearGroupBeh"> <file usable="bearA_territories"/> </territory> Где
      name= - общее имя для территорий животного (использую всегда окончание названия ивента -подобие ваниле ибо там так)
      behavior="DZWolfGroupBeh" - подключение поведения. должен совпадать с установками в самом моде. Да, можно попробовать волкам прописать модель поведения коровы.Не проверял.
      file usable="bearA_territories подключение файла территории.
      Проверяем, сохраняем, вайпаем сервер.
       Далее.....Всё. Быстрее сделать чем рассказать.

      Почему файлы тайпс и ивент создаём сами и подключаем отдельно.
      Одна цитата от "богемии"
      because of a limit on xml file-size
      Да и проще работать когда всё разложено по полкам.
      Кому не удобно и просто лень-мешайте в одну кучу.


      Все права принадлежат на публикацию данного материала принадлежат и автору  ©





       
    • By Сергей0001
      Всем привет, кто подскажет, сделал остров и при установке на него модовых зомбей, да и простых тоже, возникла проблема, зомби просто стоят, двигаются только животные, что делать?
    • By dosserua
      Привет, собственно вопрос вот в чем, у меня стоит verifySignatures = 2, вот можно ли как-то сделать что бы игрокам не обьязательно было некоторые моды включать. Например CF и админку COT. Просто с выключенной  проверкой начинают в клиент тыкать кучу лишних модов и модифицировать свои PBO. А держать проверку включенной и без админки не комильфо 
    • By Petrovich
      Добрый день всем Админам, Отцам и Про-отцам любимой выживалки.
      Перейду сразу к теме:
      На клиенте моды обновляются а на сервере естественно нет.
      У меня стоит проверка на наличие модов для обеих сторон, иначе не пускает на сервер.
      Вопрос: Как сделать так, что бы на сервере тоже обновлялись моды?
      Или как то в батнике путь к модам в стимовской папке указать? " !Workshop "
       
      Подскажите пожалуйста как решить данную проблему?
      Вот мой батничек на всякий случай:
       
      Start bec.bat "DayZServer_x64.exe" -scrAllowFileWrite -config=serverDZ.cfg "-mod=@Trader;@Omnicidal Bags;@BuilderItems;@Increased Lumens;@BuildAnywhere" -port=2302 "-Profiles=ServerProfile" -freezecheck -FilePatching -cpuCount=4 -dologs "-BEpath=C:\Program Files (x86)\Steam\steamapps\common\DayZServer\battleye" exit  
    • By Miduznya
      Установка сервера проверялась на ExileServer - 1.0.2 "Kohlrabi" 
       
      Понадобится софт:
      Navicat Premium
      Notepad++
      PBO Manager
       
      Нам понадобится сам мод и файлы сервера:
       
      Качаем серверные файлы и клиент для Arma 3 можно и через A3Launcher
       
      Перейдем к установки:
       
      1) - В папку с сервером закидываем @Exile и @ExileServer
      1.1) У кого есть чистый сервер пропускаем - Как это сделать я написал тут (КЛИКНИ)
      2) - В @ExileServer настраиваем файл extdb-conf.ini - это очень важно!
      [Rcon] IP = IPСЕРВЕРА Port = ПОРТСЕРВЕРА //Password = Должны совпадать BEServer.cfg и config.cfg Password = 1234(пример) 2.1) - смотрим ниже - тоже настраиваем:
      [exile] Type = MySQL Name = exile Username = root Password = 1234 IP = 127.0.0.1 3) - так же настраиваем config.cfg в @ExileServer
      hostname               = "TEST SERVER"; password               = ""; passwordAdmin          = "1234"; serverCommandPassword  = "1234"; 4) - Из архива копируем в папку с сервером папку keys
      5) - Из архива копируем в папку с сервером папку mysql
      6) - Из архива копируем в папку с сервером папку mpmissions
      7) - В папке battleeye надо создать файл BEServer.cfg (если его у вас нет) в него вписываем следующее:
      RConPassword 1234 MaxPing 333 RConIP 127.0.0.1 RConPort 1337  
      8) - Создать файл в папке с сервером start.bat в него вставить следующий код:
      ВНИМАНИЕ!!!!
      в параметре -cpuCount=ставьте свое количество ядер (у меня 4 ядра и 4 виртуальных = я ставлю 8)
      cd C:\Arma3Server\ start /REALTIME arma3server.exe -noCB -maxMem=2047 -cpuCount=8 -port=2302 "-config=instance_Exile\config.cfg" "-cfg=instance_Exile\basic.cfg" "-profiles=instance_Exile" "-name=instance_Exile" "-servermod=@ExileServer" "-mod=@Exile" -name=Exile -loadMissionToMemory exit  
      9) - Далее заливаем через Navicat базы данных exile.sql
      ПРИМЕР КАК ЭТО ДЕЛАЕТСЯ СМОТРИ ВИДЕО
      9.1) - идем в папку mysql (мой путь C:\Program Files\MySQL\MySQL Server 5.7) и ищем там файл my-default.ini
      Бывает еще и такой путь у меня их два xD (для этого откройте скрытые папки и файлы)
      C:\ProgramData\MySQL\MySQL Server 5.7 там тоже проделываем ищем строку:
      sql-mode="STRICT_TRANS_TABLE,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"   меняем на этот:
      sql_mode="NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"   или, что бы было так: (лично мне помогло на моем пк)
      sql_mode=""   Распаковываем exile_server_config.pbo  в файле config.cpp
      ищем строку:
      serverPassword = ""; ставим пароль: serverPassword = "1234"; Пароль для Rcon также должен быть одинаковым с паролями которые вы указываете в файлах config.cfg и BEServer.cfg
      Ну вот и все, доброго фпс!
  • 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.