1. Гость, мы просим Вас ознакомиться с Правилами Форума и Отказом от ответственности!

1.4.4 Копирование данжей!

Тема в разделе 'PW Документация', создана пользователем Clac, 21 июл 2013.

  1. TopicStarter Overlay

    Clac Пользователи

    Сообщения:
    93
    Лайки:
    7
    Репутация:
    0
    Я как то обещал выложить.
    Авторские права не прилагаю, писано мной но собрано с многих форумов!
    Клонирование на уровне клиента:
    КАК КЛОНИРОВАТЬ КАРТЫ

    Клонируем карту а08

    1 Создаем копию папки (карты) с файлами внутри
    пример пути: element\maps\а08 - element\maps\prov
    1.1 В папке меняем название файлов с такими вот расширениями:
    .cld
    .ecbsd
    .ecwld
    .t2hc
    .trn2
    пример: prov.cld ...
    Важно!!! Остальные расширения названия не меняем!!!
    1.2 Открываем сдесь же фаил "precinct" ( MadEdit ) единственное что здесь меняем это название данжа и его ID
    пример:
    "Зеленый курган" название
    10801 5 0 4 1 3 60 1 108 0 ID данжа
    1787.880981, 283.994995, 2144.561035
    -512.000000 332.559326 512.000000
    512.000000 332.559326 512.000000
    512.000000 332.559326 -512.000000
    -512.000000 332.559326 -512.000000
    -512.000000 332.559326 512.000000
    сменили:
    "Курганчик"
    10801 5 0 4 1 3 60 1 240 0
    1787.880981, 283.994995, 2144.561035
    -512.000000 332.559326 512.000000
    512.000000 332.559326 512.000000
    512.000000 332.559326 -512.000000
    -512.000000 332.559326 -512.000000
    -512.000000 332.559326 512.000000
    Ниже идут звуки и музыка играющие в данже (разберетесь сами :))
    пример:
    "ambiencestereo\dungeon5.wav"
    "Music\dungeon_a1.mp3"
    "Music\common_e1.mp3"
    "Music\dungeon_c1.mp3"
    "ambiencestereo\dungeon5.wav"

    1.3 Открываем здесь же файл "region" и после слова "[trans]" меняем ID данжа
    Здесь я распишу подробней (это понадобится)
    [trans]
    1 108 0 1-это ID мира(туда мы будем тп с данжа) 108- ID этого данжа (с которого мы будем тп в нашем случаи 240) 0-лвл (с которого можно тп, лучше в данже ставить 0)
    -39.187534, 335.762451, -79.347298 Координаты места с которого мы будем тп
    5.000000, 5.000000, 5.000000 Площадь пятна тп (размер зоны с которой тп)
    1785.000000, 283.989014, 2146.000000 Координаты куда тп (В нашем случаи мир)

    2 Распаковываем "CONFIGS.PCK" и открываем в текстовом редакторе ( MadEdit ) файл "instance.txt", находим строки с ID данжа

    "++++" - Название данжа на китайском
    {
    108// ID - ID данжа
    "a08"// path - Название папки данжа
    1, 1// row, column
    }
    копируем, спускаемся в самый низ, вставляем и меняем на свои данные
    пример:
    "++"
    {
    240// ID ID данжа чтоб не нарваться я начал с 240
    "prov"// path prov это имя моего данжа! (папку с файлами которую я скопировал и переименовал в начале пункт 1)
    1, 1// row, column
    }
    все запаковываем "CONFIGS.PCK"

    3 Распаковываем "LITMODELS.PCK" тут просто тупо копируем папку данжа с файлами и переименовываем !!только папку!! (в нашем случаи "а08" копируем и переименовываем на "prov")
    Все можно запаковать "LITMODELS.PCK"

    4 Распаковываем "SURFACES.PCK" идем в папку "minimaps" и опять тупо копируем папку с изображениями карты и переименовываем (в нашем случаи "а08" копируем и переименовываем на "prov")

    5 Распаковываем "LODDATA.PCK" тупо копируем папку данжа с файлами и переименовываем !!только папку!! (в нашем случаи здесь делать нечего :)))

    6 Ну и теперь чтоб нам тп к себе в данж идем element\maps\world\region.clt открываем и добавляем в конец координаты точки тп, в моем случаи они с точки в мире (советую их делать самим)
    [trans]
    240 1 0 240 - ID данжа; 1 - ID мира; 0 - лвл с которого можно войти
    710.635, 473.962, 153.813 Координаты мира
    4.000000, 4.000000, 4.000000 Площадь пятна тп
    -39.187534, 335.762451, -79.347298 Координаты в данже куда мы поподем)

    На этом с клиентом мы разобрались, делать все аккуратно, механические ошибки к добру не приведут) Да и не забудьте все измененные файлы закинуть в клиент)))
  2. TopicStarter Overlay

    Clac Пользователи

    Сообщения:
    93
    Лайки:
    7
    Репутация:
    0
    Клонирование на уровне сервера:
    Теперь мы клонируем карту на сервере и настроим ее!!

    Идем по пути ...
    ../gamed/config/а08
    скачиваем с сервера в любую папку (главное не потеряйте :))
    возвращаемся на придедущую вкладку ../gamed/ и скачиваем 2 фаила GS.CONF и GSALIAS.CONF
    Создаем 2 папки с именами 1; 2; и в них копируем с сервера:
    1 папка - home\gamed\config\region.sev
    2 папка - home\gamed\config\world\region.sev
    Все что нам нужно мы скачали с сервера теперь по шагам:

    1 Переименовываем скачанную папку с файлами (а08 на prov) Все с картой мы разобрались!

    Настроим нашу карту на примере.
    2 Открываем GS.CONF
    Пример:
    [General]
    world_servers= gs01;arena01;arena02;arena03;arena04;is01;is02;is12;is13;is18;is19;is20;is21;is22;is32;is33;is34
    instance_servers= is05;is06;is07;is08;is09;is10;is11;is14;is15;is16;is17;is23;is24;is25;is26;is27;is28;is29;bg01;bg02;bg03;bg04;bg05;bg06;is31;is35;is38;
    добовляем:
    Сдесь 2 строки world_servers и instance_servers в зависимости с какой строки был копирован данж туда мы и дабовляем свой (в нашем случаи а08(is08) добавили isprov; )
    [General]
    world_servers= gs01;arena01;arena02;arena03;arena04;is01;is02;is12;is13;is18;is19;is20;is21;is22;is32;is33;is34
    instance_servers= is05;is06;is07;is08;is09;is10;is11;is14;is15;is16;is17;is23;is24;is25;is26;is27;is28;is29;bg01;bg02;bg03;bg04;bg05;bg06;is31;is35;is38;isprov;

    Далее ищем ниже в списке is08
    Пример:
    [Instance_is08]
    index = 38
    tag=108
    base_path=a08/
    limit = nofly;clear-ap;allow-root;nomount;no-bind;lowjump;
    grid={80,80,25,-1000.0,-1000.0}
    base_region={-512.0,-512.0} , {512,512.0}
    local_region={-512.0,-512.0} , {512,512.0}
    instance_capacity = 100
    save_point = 108,-24.6444,332.637,-71.0062
    ;+++
    player_per_instance = 15
    player_capacity = 3000
    npc_count = 65536
    matter_count = 131072
    pool_threshold_low = 10
    pool_threshold_high = 20
    ;+++
    ;+++
    cid=0,2,13

    [Terrain_is08]
    szMapPath= map
    nAreaWidth = 512
    nAreaHeight = 512
    nNumAreas = 1
    nNumCols = 1
    nNumRows = 1
    vGridSize = 2.0f
    vHeightMin = 0.0f
    vHeightMax = 800.0f

    [MsgReceiverTCP_is08]
    type=tcp
    listen_addr=INSTANCE08:10918
    so_sndbuf=16384
    so_rcvbuf=16384
    tcp_nodelay=1
    listen_backlog=10

    [MsgReceiverUNIX_is08]
    type=unix
    listen_addr=/tmp/gssock_is08
    so_sndbuf=16384
    so_rcvbuf=16384
    listen_backlog=10
    ;----------------------------------------------------------------------------
    копируем, вставлям в низу после последнего is...
    и меняем вот так:

    [Instance_isprov]
    index = 80 Число не должно повторятся
    tag=240 ID данжа
    base_path=prov/ Путь к папке данжа без "is"
    limit = nofly;clear-ap;allow-root;nomount;no-bind;lowjump;
    grid={80,80,25,-1000.0,-1000.0}
    base_region={-512.0,-512.0} , {512,512.0}
    local_region={-512.0,-512.0} , {512,512.0}
    instance_capacity = 100
    save_point = 108,-24.6444,332.637,-71.0062
    ;+++
    player_per_instance = 15
    player_capacity = 3000
    npc_count = 65536
    matter_count = 131072
    pool_threshold_low = 10
    pool_threshold_high = 20
    ;+++
    ;+++
    cid=0,2,13

    [Terrain_isprov]
    szMapPath= map
    nAreaWidth = 512
    nAreaHeight = 512
    nNumAreas = 1
    nNumCols = 1
    nNumRows = 1
    vGridSize = 2.0f
    vHeightMin = 0.0f
    vHeightMax = 800.0f

    [MsgReceiverTCP_isprov]
    type=tcp
    listen_addr=INSTANCEprov:11950 _ _ _INSTANCEprov - адрес GSALIAS.CONF :11950 - честно не знаю но это число не должно повторятся не где
    so_sndbuf=16384
    so_rcvbuf=16384
    tcp_nodelay=1
    listen_backlog=10

    [MsgReceiverUNIX_isprov]
    type=unix
    listen_addr=/tmp/gssock_isprov
    so_sndbuf=16384
    so_rcvbuf=16384
    listen_backlog=10

    ;-----------------------------------------------------------------------------------------------------
    Все с GS.CONF мы разобрались!

    3 Теперь займемся GSALIAS.CONF

    Открываем и добовляем: isprov;
    [General]
    world_servers=gs01;arena01;arena02;arena03;arena04;is01;is02;is12;is13;is18;is19;is20;is21;is22;is32;is33;is34;
    instance_servers=is05;is06;is07;is08;is09;is10;is11;is14;is15;is16;is17;is23;is24;is25;is26;is27;is28;is29;bg01;bg02;bg03;bg04;bg05;bg06;is31;is35;is38;isprov;
    2 раза объяснять не буду почему именно сюда :)

    Ниже ищем строку INSTANCE08=game2
    Выделяем, копируем и вставляем ниже
    ...
    INSTANCE31=game2
    INSTANCE32=game3
    INSTANCE33=game3
    INSTANCE34=game3
    INSTANCE35=game2
    INSTANCE38=game2
    INSTANCEprov =game2 редактируем

    Все и с этим файлом мы разобрались!

    Осталось прописать наш данж в start.sh и установить точки тп
  3. TopicStarter Overlay

    Clac Пользователи

    Сообщения:
    93
    Лайки:
    7
    Репутация:
    0
    4 Открываем редактором start.sh
    Копируем следующие строки
    echo "=== is08 : 29данж ==="
    cd $PW_PATH/gamed; ./gs is08 >$PW_PATH/logs/is08.log &
    sleep 20
    echo "=== ГОТОВО! ==="
    echo ""
    вставляем и переименовываем
    echo "=== isprov : Название ==="
    cd $PW_PATH/gamed; ./gs isprov >$PW_PATH/logs/isprov.log &
    sleep 20
    echo "=== ГОТОВО! ==="
    echo ""

    Все в старт прописали

    Теперь мутарашное это тп :)

    5 Открываем редактором Region файл region c папки 1
    Добавляем точку тп с координатами и ID как и в клиентском файле!
    6 Открываем редактором Region файл region c папки 2
    Добавляем точку тп с координатами и ID как и в клиентском файле!
    7 Открываем редактором Region файл region c папки prov
    Добавляем точку тп с координатами и ID как и в клиентском файле в карте!


    Теперь все файлы с заменой и добавлением (карта) закидываем в сервер!!!
    Всем удачи! Можно критиковать;)
    P.S. На вопросы не отвечаю, просто поделился)
  4. Cooler Guest

    Репутация:
    0
    А как например сделать данж общим?т.е игроки будут видеть друг друга
  5. Cooler Guest

    Репутация:
    0
    Сделал на 1.2.6 гуй,но для каждого человека он как бы "свой". Пытался менять настройки данжа в gs.conf и gsalias.conf (к world_servers приписывал is28.),к успеху не привело. Данж просто не запускается.
  6. Cooler Guest

    Репутация:
    0
    Проблема решилась переименованием [Instance_is28] в [World_is28] в файле gs.conf:D
  7. 258456 Пользователи

    Сообщения:
    40
    Лайки:
    0
    Репутация:
    0
    Еще вопрос. Все сделал, все получилось, но после смерти перса, (после нажатия кнопки "ближний город") он встает на том же месте, где помер. Так вот, я хотел бы узнать, где можно покапать, и сделать так, что бы после смерти, перс появлялся в мире, или в начале данжа?
  8. alexdnepro Эксперт AngeliCore Пользователи Open Source Contributor White List

    Сообщения:
    754
    Лайки:
    1.313
    Пол:
    Мужской
    Репутация:
    6
    precint.clt/sev
    258456 нравится это.
  9. 258456 Пользователи

    Сообщения:
    40
    Лайки:
    0
    Репутация:
    0
    Спасибо, помогло))
  10. pilad Команда форума Модератор Пользователи

    Сообщения:
    1.740
    Лайки:
    480
    Пол:
    Мужской
    Репутация:
    1
    Команда:
    Freeman
    Есть и game1 до 4
    Это я как понимаю, какое-то распределение нагрузки.
    Упоминание ещё в hosts
  11. alexdnepro Эксперт AngeliCore Пользователи Open Source Contributor White List

    Сообщения:
    754
    Лайки:
    1.313
    Пол:
    Мужской
    Репутация:
    6
    Это просто замена IP адреса доменом, а потом эти локальные доменты прописывают в hosts чтобы их в итоге заменило на IP адрес, такие замены актуальны если сервисы находятся на разных машиных и чтобы проще было потом поменять во всех конфигах, адресу конкретного сервиса придумывают локальный домен, а так можно просто писать 127.0.0.1 (или 10.0.2.15 для виртуалок)
Черновик сохранён Черновик удалён
Similar Threads
  1. 1vitek1
    Ответов:
    11
    Просмотров:
    23.437
  2. MorzE
    Ответов:
    26
    Просмотров:
    6.339
  3. salitypw
    Ответов:
    39
    Просмотров:
    6.200
Загрузка...

Поделиться этой страницей