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

Результаты поиска по запросу: Создаем рб

  1. Следующие слова были исключены из текста для поиска, поскольку они слишком короткие, слишком длинные или встречаются слишком часто: рб
  1. Samuel
    Предоставь переписки где человек сообщает о том, что у него нет никаких претензий. Не очень удобно это было делать, но как есть [IMG] [IMG] Развивать форум плагином, который создает пользователей и копирует все их темы с других форумов - это не развитие, а паразитирование на чужом труде. Пользователей не создаём это точно, на счёт копирования - большинство постов скопировал я лично, остальное это обычный парсер rss, который нужно модерировать. Информационный сайт без информации никому не нужен, автора я стараюсь указывать всегда. Пускать своего цепного пса-барыгу, который ищет кого бы наебать тоже нельзя назвать развитием. Я не могу нести ответственность за кого-либо вне эмудева, это не правильно. Какой смысл от твоего форума? ПВ умерло как и концепция форумов разработчиков, репутация уже как 5 лет не играет никакой роли и будь ты хоть полной мразью, но умеешь предоставлять необходимые услуги - спрос будет, ибо у людей нет выбора. Ничего уникального чтобы люди могли прийти на твое детище ты дать не сможешь, ибо сам ничего не умеешь как и твой покорный слуга Акрополь (каждый раз смеюсь с того, что он всячески отрицает факт того, что является им, это насколько себя нужно не любить :D). Mmorpg игры это не только PW. Мы уже даём то, что не могут другие - это файлы, в большинстве мест они недостопуны, а мы их нашли и храним. По концепции форума в целом согласен, но я планирую переработать сайт так, чтобы он не был похож на типичный форум, где вся информация будет под рукой. И ты ошибаешься, все живёт (mmorpg серверо-эмулирование) и процветает (да не так обильно, но живёт). По поводу того, что я умею или нет: ты не вправе так говорить, ведь ты меня абсолютно не знаешь. ПВ уже давно не площадка для самовыражения и творческих людей - это просто рынок, на котором иногда можно неплохо заработать если поймать нужный момент, все кто тут остались это прекрасно понимают и просто периодически чередуют проект за проектом выжимая из игроков деньги. Мне не важно, чем занимаются старички. Деньги для меня не важное. Я двигаю свою идею, что это должно жить и развиваться. Новые игроки не приходят, играют только старички, а старички имеют свойство уходить в реал или в более интересные игры, в итоге остаются только алчные игроки, которые готовы променять качественный и стабильный проект на месячную фришку просто потому что им там предложили более выгодные условия. Это совершенно нормально в текущих условиях и я никого не критикую, просто говорю картинку, которую наблюдаю поскольку общаюсь с людьми, у которых есть свои популярные проекты и иногда сотрудничаю с ними. Полностью согласен, но мир состоит не только из старичков да и игры новые появляются постоянно. Например Black Desert Online находится на пике славы, а его эмуляторы серверов развиваются каждый день. Снимай розовые очки, это 2020 год и никому ты и твой форум никому не сдался. Я пришел сюда не рекламировать свой проект, а дать знать, что не всё потеряно. Многие меня помнят как хорошего человека, который оступился раз и об этом до сих пор жалеет. Но во всем остальном я как жил идеей, так и живу ею. И если для тебя этот мир умер - это не значит, что он мёртв и для других. --- добавлено: 31 окт 2020 в 19:40 --- Я на этом пожалуй откланиюсь. Начинать войну или чего-либо я не намерен. Каждый идёт своей дорогой. Мой профиль можно забанить, ведь этот мир умер ©Samuel Спасибо за пояснение ситуации, твое мнение услышал, только вот ты мое нет, продолжать марафон срачей мне неинтересно, всего доброго.
    Сообщение от: Samuel, 31 окт 2020 в разделе: PW Сервер
  2. mr.Slink
    Предоставь переписки где человек сообщает о том, что у него нет никаких претензий. Не очень удобно это было делать, но как есть [IMG] [IMG] Развивать форум плагином, который создает пользователей и копирует все их темы с других форумов - это не развитие, а паразитирование на чужом труде. Пользователей не создаём это точно, на счёт копирования - большинство постов скопировал я лично, остальное это обычный парсер rss, который нужно модерировать. Информационный сайт без информации никому не нужен, автора я стараюсь указывать всегда. Пускать своего цепного пса-барыгу, который ищет кого бы наебать тоже нельзя назвать развитием. Я не могу нести ответственность за кого-либо вне эмудева, это не правильно. Какой смысл от твоего форума? ПВ умерло как и концепция форумов разработчиков, репутация уже как 5 лет не играет никакой роли и будь ты хоть полной мразью, но умеешь предоставлять необходимые услуги - спрос будет, ибо у людей нет выбора. Ничего уникального чтобы люди могли прийти на твое детище ты дать не сможешь, ибо сам ничего не умеешь как и твой покорный слуга Акрополь (каждый раз смеюсь с того, что он всячески отрицает факт того, что является им, это насколько себя нужно не любить :D). Mmorpg игры это не только PW. Мы уже даём то, что не могут другие - это файлы, в большинстве мест они недостопуны, а мы их нашли и храним. По концепции форума в целом согласен, но я планирую переработать сайт так, чтобы он не был похож на типичный форум, где вся информация будет под рукой. И ты ошибаешься, все живёт (mmorpg серверо-эмулирование) и процветает (да не так обильно, но живёт). По поводу того, что я умею или нет: ты не вправе так говорить, ведь ты меня абсолютно не знаешь. ПВ уже давно не площадка для самовыражения и творческих людей - это просто рынок, на котором иногда можно неплохо заработать если поймать нужный момент, все кто тут остались это прекрасно понимают и просто периодически чередуют проект за проектом выжимая из игроков деньги. Мне не важно, чем занимаются старички. Деньги для меня не важное. Я двигаю свою идею, что это должно жить и развиваться. Новые игроки не приходят, играют только старички, а старички имеют свойство уходить в реал или в более интересные игры, в итоге остаются только алчные игроки, которые готовы променять качественный и стабильный проект на месячную фришку просто потому что им там предложили более выгодные условия. Это совершенно нормально в текущих условиях и я никого не критикую, просто говорю картинку, которую наблюдаю поскольку общаюсь с людьми, у которых есть свои популярные проекты и иногда сотрудничаю с ними. Полностью согласен, но мир состоит не только из старичков да и игры новые появляются постоянно. Например Black Desert Online находится на пике славы, а его эмуляторы серверов развиваются каждый день. Снимай розовые очки, это 2020 год и никому ты и твой форум никому не сдался. Я пришел сюда не рекламировать свой проект, а дать знать, что не всё потеряно. Многие меня помнят как хорошего человека, который оступился раз и об этом до сих пор жалеет. Но во всем остальном я как жил идеей, так и живу ею. И если для тебя этот мир умер - это не значит, что он мёртв и для других. --- добавлено: 31 окт 2020 в 19:40 --- Я на этом пожалуй откланиюсь. Начинать войну или чего-либо я не намерен. Каждый идёт своей дорогой. Мой профиль можно забанить, ведь этот мир умер ©Samuel
    Сообщение от: mr.Slink, 31 окт 2020 в разделе: PW Сервер
  3. Fituchini
    предыдущая версия Немного наловчившись выкладываю тут "основание" для редактора. "Съев собаку" на c# & mysql код написан для дальнейшего развития программы. Уже написаны классы для работы с программой. Знай только выводи. Учёл все советы которые писали в предыдущей версии. Доделывать буду по мере свободного времени. Сейчас вплотную занялся этим редактором под Android. Скомпилированную версию приложил файл host - содерижт ip файл mysql.ini прост База_Данных:pw Логин:tester Пароль:0000 Порт:3306 Программа делалась для такой базы [IMG] [IMG] Ну и ес-сно создаём пользователя и даём фул привилегии с любым хостом [IMG] в mysql в конфигурационном файле ищем строку bind adress и прописываем нули [IMG] Скомпилированная версия и конечно же исходники прикреплены p.s. Программа не есть ресурсы базы. Создаёт коннект читает или записывает и разрывает соединение. для теста коннекта кнопка TestConnect
    Сообщение от: Fituchini, 21 июл 2019 в разделе: PW Разработки
  4. MorzE
  5. san4e3
  6. int 3
    <Клиент> В папке /element создаём файл dbserver.conf c содержимым: [GameClient] type = tcp isec = 2 iseckey = baxixD0awqydOtrxjxr8uhzaslmnqh osec = 2 oseckey = baxiykbpn3fxLqpsdpiodI4iazqjdl И перезапускаем клиент. <Сервер> В файле glinkd/gamesys.conf в каждой секции GLinkServer* дописываем следующее: isec = 2 iseckey = baxiykbpn3fxLqpsdpiodI4iazqjdl osec = 2 oseckey = baxixD0awqydOtrxjxr8uhzaslmnqh И перезапускаем GLink. *sec + *seckey = тип шифрования + ключ шифрования, где * - это i (input) или o (output) То, что на сервере i, в клиенте - o и наоборот. Ключ можно подкорректировать под себя, я скопипастил откуда-то. Что означает каждая цифра в алгоритмах шифрования - не скажу. Вот когда всех OOG ботов перепишут под этот фикс, тогда и узнаете. Выражаю благодарности: Китайцам (隨機漢字), которые скомпилировали клиент с поддержкой шифрования. Гоше (deadraky), за предположение о наличии шифрования. Себе (int 3), за умение пользоваться IDA. Всем лучи добра! P.S. Использование "в лоб" спасает лишь от шарового софта, не поддерживающего шифрование. Для надежности советую изменить ключи шифрования и упаковать файл с ними получше. И помните - не бывает идеальной защиты.
    Сообщение от: int 3, 9 июн 2018 в разделе: PW Документация
  7. salitypw
    Запилил на досуге Proxy для сервисов сервера. Proxy позволит следить за всеми пакетами, которые передаются между сервисами и (при необходимости) их модифицировать, дропать или же использовать кастомные обработчики для определенных пакетов. Область применения самая разнообразная - от банального мгновенного автобана за мат и до фиксов различных уязвимостей, которые можно решить "валидацией" пакетов (создание оборов/друлей с женским/мужским полом, OOG флуд в чат из-за которого у игроков виснет клиент, и т. д.), что особо актуально для владельцев серверов старых версий. Или же можно использовать для отладки - реализовать обработчик, который бы сохранял последние N пакетов пришедших к GS перед падением, чтобы потом среди них искать "виновника" и потом запилить фикс. Также можно реализовать различные свистоперделки для сервера, начиная от, к примеру, вывода игрового чата на сайте и заканчивая какой-то сложной логикой. К примеру, можно реализовать что-то вроде автоматизированной "викторины" для игроков - в системный чат в рандомное время писать вопросы и ждать ответ в мировой чат. Первому, кто правильно ответил, присылать определенное вознаграждение. Все лишь ограничивается фантазией администратора сервера и возможностью реализации идеи на пакетном уровне. Установка: 1) Сначала на сервер необходимо установить Node.js и NPM https://www.digitalocean.com/community/tutorials/how-to-install-node-js-on-ubuntu-16-04 2) Далее выполняем команды: sudo npm install -g n sudo n latest sudo npm install -g npm sudo npm install -g pm2 3) Далее в любом удобном месте создаем директорию "proxy", где будут лежать все наши файлы. Я бы создал ее прямо в директории с сервером. Переходим в директорию "proxy" и выполняем команды: npm install pw-service-proxy npm install pw-service-proxy-handlers После всех этих действий у вас будет готово окружение для запуска proxy. Пример использования: Для примера сделаем Proxy для gamedbd с выводом в консоль всех пакетов, которых приходят и уходят. 1) Переходим в директорию gamedbd и открываем файл gamesys.conf 2) В секции [GameDBServer] меняем значение для port из 29400 на 39400 3) Переходим в созданную нами директорию proxy 4) Создаем файл gamedbd-proxy.js и копируем в него следующий код: 'use strict'; const PwServiceProxy = require('pw-service-proxy'); const handlers = require('pw-service-proxy-handlers'); let proxy = new PwServiceProxy; proxy.setServerHandlers([ handlers.consolePacketLogger({ title: '------------------- GameDB => Client -------------------' }) ]).setClientHandlers([ handlers.consolePacketLogger({ title: '------------------- Client => GameDB -------------------' }) ]).start({ listen: { host: '127.0.0.1', port: 29400 }, connect: { host: '127.0.0.1', port: 39400 } }); 5) Далее запускаем Proxy командой: node ./gamedbd-proxy.js 6) Запускаем сервер игры. Далее просто наблюдаете за Proxy. В консоли будет что-то подобное: [IMG] (Client - другой сервис, который установил соединение с GameDB) Подобным образом можно поступить и с остальными сервисами (кроме glinkd) Сорцы - https://github.com/mvcbox/node-pw-service-proxy P. S. Хочу еще раз напомнить, что это не какой-то уже готовый античит с фиксом всех багов, а инструмент, на базе которого можно много чего реализовать. Многие могут спросить - зачем это надо, если есть другие подобные решения? Ответ: 1) Это бесплатно. 2) Простота - все написано на JS, что позволит самостоятельно попытаться написать свои обработчики для Proxy, или же найти того, кто сделает это относительно недорого. Инфу о пакетах можно найти здесь - http://pwdev.ru/ Благодарю за внимание :)
    Сообщение от: salitypw, 19 ноя 2017 в разделе: PW Разработки
  8. UNITWAY
    Всем здравствуйте от команды UNITWAY PW. Этой темой мы хотели бы продемонстрировать отсутствие нечестной конкуренции с нашей стороны и черной, некрасивой, лживой конкуренцией со стороны проекта NewDestiny. Здесь публикуется список решений от атак, которые когда-либо использовали администраторы NewDestiny loko9988, TyrikMan (Вчерашняя атака OOG была с IP адреса Йошкар Ола), Killer_Pooh (Так же фиксировалась атака с города Волжский). Помимо атак на нас, до нас дошла информация об атаке на ряд других серверов, которое связали с нашим открытием. Публикацией ряда фиксов от этих атак мы демонстрируем нашу непричастность к атакам на кого-либо, не смотря на ярко озабоченную позицию администратора Zzebra PW (mirthost) по нашему проекту. Мы совершенно не держим зла на всех, кто повелся на желтую статью о нас, у каждого своя голова на плечах. [ATTACH] [ATTACH] И это только часть их аккаунтов. Одной из причин публикации этой темы стали слухи, которые до нас дошли. Суть этих слухов в том, что loko9988 атакует сервера не только из-за конкуренции, но и для того, чтобы предлагать этим серверам защиту через него. Защита от OOG атак на основе iptables: Первым делом мы создаем скрипт-правила фаерволла, назвать можете как пожелаете. iptables -A INPUT -p tcp -m multiport --dports 29000 -m length --length 500:65535 -j LOG --log-prefix "PW" Этим правилом мы записываем все игровые пакеты с порта 29000 размером от 500 до 65535 байтов. iptables -A INPUT -p tcp -m multiport --dports 29000 -m length --length 500:65535 -m recent --name packets --set iptables -A INPUT -p tcp -m multiport --dports 29000 -m length --length 500:65535 -m recent --name packets --update --seconds 1 --hitcount 100 -j REJECT Этими правилами мы блокируем пользователя, если сервер получил от него больше 100 пакетов размером 500 - 65535 байт за 1 секунду на 29000 (игровой) порт. iptables -A INPUT -p tcp -m multiport --dports 29000 -m length --length SIZE -m recent --name packet1 --set iptables -A INPUT -p tcp -m multiport --dports 29000 -m length --length SIZE -m recent --name packet1 --update --seconds 15 --hitcount 3 -j REJECT Этими правилами мы блокируем пользователей, которые отправили больше 3-х пакетов за 15 секунд на порт 29000. SIZE - размер пакета в байтах. Как отследить размер пакета в байтах? После первого правила, где мы логируем все игровые пакеты, Вы сможете увидеть их в файле /var/log/syslog или командой dmesg в консоли сервера. Когда идет атака в syslog будет множество одинаковых пакетов за короткое время. [68003.357231] PW IN=ipip1 OUT= MAC= SRC=USER IP ADRESS DST=*.*.*.* LEN=547 TOS=0x00 PREC=0x00 TTL=241 ID=13328 DF PROTO=TCP SPT=22511 DPT=63947 WINDOW=254 RES=0x00 ACK PSH URGP=0 В примере выше - размером пакета является 'LEN=547'. С OOG защитой разобрались. Перейдем к другим способам конкуренции NewDestiny. Брут аккаунтов. Здесь все совершенно просто: #block brute force login iptables -A INPUT -p tcp -m multiport --dports 29000 -m conntrack --ctstate NEW -m recent --name brute --set iptables -A INPUT -p tcp -m multiport --dports 29000 -m conntrack --ctstate NEW -m recent --name brute --update --seconds 30 --hitcount 3 -j REJECT Этим правилом мы блокируем IP пользователя на 30 секунд, если он сделал больше 3-х запросов на подключение к порту 29000. Рекомендации защиты сервера от взлома: Делайте полное ограничение по портам, кроме игрового через iptables. Делайте подключение к серверу по ssh key (ключи) с кодовым словом. Используйте последние версии mysql, apache2 и других немаловажных пакетов. После нагрузки через OOG используйте logrotate, иначе при резервном копировании логов оперативная память Вашего сервера будет полностью использована. Это может стать последствием для взлома. Не используйте постороннее ПО на игровом сервере. Используйте нестандартный фильтр паролей игроков. За несколько часов на нашей авторизации было свыше 50.000 невалидных попыток авторизаций. У 30% наших игроков совпадали логины из этих пар логин-пароль. Мы предпочитаем честное ведение конкуренции, у нас нет времени и лишних финансов на атаки. Не связывайтесь с этими людьми, это может плохо кончиться.
    Сообщение от: UNITWAY, 27 ноя 2016 в разделе: PW Фиксы
  9. Mr.Fleks
    Игровой магазин в НПС или " Скрытый Шоп " Данная функция насколько я помню появилась в версии 1.5.3. Тестировалась и проверялась на данный версии 1. Открываем " Universal data Editor: GShop " смотрим и видим новый раздел " Активирующие НИП ". Нажимаем на выделенную область [ATTACH] 2. Выбираем требуемого Вам НПС'а, в моем примере это " Сяо Шань " и сохраняем [ATTACH] 3. Далее переходим к данному НПС'у в файле elements.data и нажимаем на выделенную область двойным кликом мыши [ATTACH] 4. Выбираем службу " Торговля за слитки (Магазин) ", которая выделена на скрине ниже [ATTACH] 5. Нажимаем сохранить, заливаем готовые файлы на сервер и перезагружаем Мир Теперь если подойти к НПС " Сяо Шань " мы увидим такую службу " Магазин слитков " и в ней будет продаваться предметы за Голд в которых Вы указали данного НПС как продавца или же " Активирующий НИПы ". [ATTACH] [ATTACH] Примечание! Предметы, который Вы перемещаете в " Скрытый шоп ", пропадают из основного Магазина и продаются только у установленного НПС'а
    Сообщение от: Mr.Fleks, 11 дек 2016 в разделе: PW Документация
  10. BlackFlame
    Всем привет ! По многочисленым запросам я решил сделать гайд по установке сервера Jade Dynasty 3.0.1 (VMWare/Ubuntu) . 1 Для начала скачиваем Сборка 1.2 Ubuntu 10.4 1.3 VMWare 8 . 2 Устанавливаем VMWare (если нету) 2.1 Распаковываем сборку в чистую папку . 2.2 Качаем authd 2.3 Из архива Authd.zip распаковываем только папку MySQL. 2.4 Устанавливаем Ubuntu 10.4 на VMWare . 2.5 После устанавке заходим на пользователя, которого вы создали при установке ОС . 3 Пишем команду sudo passwd root 3.1 Пишем пароль от пользователя, на которого вы зашли . 3.2 Затем нажимаеи ENTER 3.3 В следующих 2-ух строках пишем пароль от root (новый) 3.4 После того как вы поменяли пароль пользователя root, пишем exit 3.5 Снова в строке логин пишем root 3.6 В строке пароля, пароль от root. Когда вы вошли пишем следующие команды: apt-get install apache2 apt-get install mysql-server apt-get install php5 apt-get install php5-mysql apt-get install phpmyadmin apt-get install openjdk-6-jdk 5 После того как вы установили пакеты скачиваем WinSCP 5.1 Коннектимся к OC пишем ип его можно узнать прописав в терминале ifconfig 5.2 В строке логина root в строке пароля, пароль от root. 6 Заливаем файлы ! 6.1 Выйдем из папки root . 6.2 А во левом окне идём в папку сборки. 6.3 Переносим всё /usr /root /etc /lib 7 После переноса начнём редактировать сборку ! 7.1 Перекидываем папку myauthd в папку /root , И файлик myau 7.2 Редактируем файл qd , который тоже в папке /root 7.3 Он должен выглдяить вот так #!/bin/sh cd /usr/rain/gacd ./gacd gamesys.conf & sleep 2 cd /usr/rain/gdeliveryd ./gdeliveryd gamesys.conf & sleep 3 cd /usr/rain/glinkd ./glinkd gamesys.conf 1 & sleep 4 cd /usr/rain/gamedbd ./gamedbd gamesys.conf & sleep 5 cd /usr/rain/uniquenamed ./uniquenamed gamesys.conf & sleep 6 cd /usr/rain/gamed ./gs gs.conf gmserver.conf gsalias15.conf & sleep 7 7.4 Идём в папку /root/myauthd/build 7.5 Отрываем файл table.xml в блокноте. 7.6 Редактируем бд и пароль от MySQL . 7.7 Вот подробнее <connection name="auth0" poolsize="3" url="jdbc:mysql://localhost:3306/БД?useUnicode=true&amp;characterEncoding=utf8" username="root" password="Пароль от MySQL "/> 7.8 Сохраняем и закрываем. (тоже самое делаем в папке /etc ) 8 Cкачиваем 3 data файлов gshop.data element.data gshop1.data 8.1 Закидываем их в папку /usr/rain/gamed/config 8.2 Пропишем папкам разрешение прописав в терминале следующие команды: chmod 777 /root -R chmod 777 /usr/rain -R chmod 777 /usr/java -R chmod 0755 /root/myauthd -R 8.3 Создаём БД 8.4 Идём по ссылке http://ВАШ IP/phpmyadmin 8.5 Посередине есть поле пишем там название вашей БД (любое) и нажимаем Создать 8.6 После вас перебросит на другую страницу. 8.7 Вверху найдите Импорт и нажмите 8.8 Скачайте dbo.sql 8.9 У в PhpMyAdmin укажите до него путь. 8.10 Всё база данных создана ! 9 Скачиваем регу MorzE 9.1 Заливаем её в папку /var/www 9.2 Настраиваем всё под себя в файле config.php 9.3 Заходим на http://ВАШ IP/index.php 9.4 Регистрируем 1 аккаунт (это очень важный аккаунт, никому не давайте от него пароль) (Да и сами лучше на заходите) 9.5 Регаем 2 аккаунт. 9.6 Даём себе GM заходим на http://ВАШ IP/phpmyadmin 9.7 Нажимаем на вашу БД (базу данных) 9.8 И вверху ищем SQL запросы. 9.9 После того как нашли, нажмите. 9.10 В белом поле пишите call addGM (48, 1) Нажимаем ОК. Всё вы GM . 10 Настраиваем клиент 10.1 Все Data файлы, которые вы скачали закидываем в Jade Dyansty 3.0.1/element/data Клиент можно будет скачать на форуме. 10.2 Далее идём в Jade Dyansty 3.0.1/element/userdata/server 10.3 Открываем файл Serverlist.txt И меняем там ип и название тожно можно .Должно выглядеть вот так: Ваше название Ваше название 29000:ваш IP 1 10.4 Отредактировали, сохраняем и закрываем 11 Запускаем сервер ! 11.1 Пишем в терминале cd /root 11.2 После пишим ./myau 11.3 Нажимаем ALT+F2 11.4 Снова заходим в пользователя root 11.5 И пишем ./qd 11.6 Ждём 5 минут.... 11.7 После того как пойдут строки TRACE : (game 15) ....... Сервер заработал !!! Открываем клиент пишем логин и пароль. И вы зашли на сервер ! Если будут ошибки или проблемы пишите сюда или добовляйтесь в скайп (moperi6 Нету базы, будьте добры залейте кто нибудь
    Сообщение от: BlackFlame, 20 ноя 2016 в разделе: JD Сервер
  11. JoLan
  12. Rey35
  13. loko9988
    Оказывается, в момент создания ZFS-пула, файловая система определяет геометрию диска (это очевидно), и в свойства пула прописывается соответствующее значение параметра ashift (по умолчанию ashift=9). 2 в 9-й степени равняется 512 (Байтам), соответственно 4КБ - это 2 в 12-й степени, и, соответственно, правильное значение для диска с 4КБ-сектором: ashift=12 Тут я думал что муки закончаться, но это только начало........ Теперь Начинаем крутить ZFS. Первым делом разделы и создадим метки на наших SSD SERVER# gpart create -s GPT /dev/diskid/DISK-PHDA428200FT2403GN SERVER# gpart create -s GPT /dev/diskid/DISK-PHDA428200JW2403GN SERVER# gpart add -t freebsd-zfs -l ssd-0-PHDA428200FT2403GN -b 2048 -a 4K /dev/diskid/DISK-PHDA428200FT2403GN SERVER# gpart add -t freebsd-zfs -l ssd-1-PHDA428200JW2403GN -b 2048 -a 4K /dev/diskid/DISK-PHDA428200JW2403GN Создаём ZIL устройство из зеркалирования наших ссд, чтобы с случае смерти, ничего не пропало. SERVER# zpool add DrWho log mirror /dev/gpt/ssd-0-PHDA428200FT2403GN /dev/gpt/ssd-1-PHDA428200JW2403GN Проверяем. SERVER# zpool status pool: DrWho state: ONLINE scan: none requested config: NAME STATE READ WRITE CKSUM DrWho ONLINE 0 0 0 raidz2-0 ONLINE 0 0 0 gpt/disk-0-WCC1P1249235.eli ONLINE 0 0 0 gpt/disk-1-WMC1P0387635.eli ONLINE 0 0 0 gpt/disk-10-WMC1P0D2CTS6.eli ONLINE 0 0 0 gpt/disk-11-WMC1P0DK165Z.eli ONLINE 0 0 0 gpt/disk-12-WMC1P0311813.eli ONLINE 0 0 0 gpt/disk-13-WMC1P0D57S6X.eli ONLINE 0 0 0 gpt/disk-14-WMC1P0316872.eli ONLINE 0 0 0 gpt/disk-15-WMC1P0D7CMNK.eli ONLINE 0 0 0 gpt/disk-2-WMC1P0D926VJ.eli ONLINE 0 0 0 gpt/disk-3-WCC1P1249261.eli ONLINE 0 0 0 gpt/disk-4-WMC1P0D03WPC.eli ONLINE 0 0 0 gpt/disk-5-WMC1P0DCK304.eli ONLINE 0 0 0 gpt/disk-6-WCC1P1263622.eli ONLINE 0 0 0 gpt/disk-7-WMC1P0D24E09.eli ONLINE 0 0 0 gpt/disk-8-WMC1P0DENK26.eli ONLINE 0 0 0 gpt/disk-9-WMC1P0283100.eli ONLINE 0 0 0 logs mirror-1 ONLINE 0 0 0 gpt/ssd-0-PHDA428200FT2403GN ONLINE 0 0 0 gpt/ssd-1-PHDA428200JW2403GN ONLINE 0 0 0 errors: No known data errors Все отлично добавилось. Вот мои значения параметров кеша ARC. SERVER# sysctl vfs.zfs.arc_min vfs.zfs.arc_min: 13452182528 SERVER# sysctl vfs.zfs.arc_max vfs.zfs.arc_max: 107617460224 SERVER# sysctl vfs.zfs.arc_meta_limit vfs.zfs.arc_meta_limit: 26904365056 SERVER# reboot И автоматизация и тест. zpool export DrWho geli attach -p -k /keys/master.ad1 /dev/gpt/disk-0-WCC1P1249235 geli attach -p -k /keys/master.ad1 /dev/gpt/disk-12-WMC1P0311813 geli attach -p -k /keys/master.ad1 /dev/gpt/disk-2-WMC1P0D926VJ geli attach -p -k /keys/master.ad1 /dev/gpt/disk-6-WCC1P1263622 geli attach -p -k /keys/master.ad1 /dev/gpt/disk-1-WMC1P0387635 geli attach -p -k /keys/master.ad1 /dev/gpt/disk-13-WMC1P0D57S6X geli attach -p -k /keys/master.ad1 /dev/gpt/disk-3-WCC1P1249261 geli attach -p -k /keys/master.ad1 /dev/gpt/disk-7-WMC1P0D24E09 geli attach -p -k /keys/master.ad1 /dev/gpt/disk-10-WMC1P0D2CTS6 geli attach -p -k /keys/master.ad1 /dev/gpt/disk-14-WMC1P0316872 geli attach -p -k /keys/master.ad1 /dev/gpt/disk-4-WMC1P0D03WPC geli attach -p -k /keys/master.ad1 /dev/gpt/disk-8-WMC1P0DENK26 geli attach -p -k /keys/master.ad1 /dev/gpt/disk-11-WMC1P0DK165Z geli attach -p -k /keys/master.ad1 /dev/gpt/disk-15-WMC1P0D7CMNK geli attach -p -k /keys/master.ad1 /dev/gpt/disk-5-WMC1P0DCK304 geli attach -p -k /keys/master.ad1 /dev/gpt/disk-9-WMC1P0283100 zpool import DrWho ............Неужели прекратилось... теперь перейдём к важному аспекту, это настройка FC и его раздача. В /boot/loader.conf я добавил, что есть загрузка драйвера HBAшки и микрокода к ней и загрузка модуля CAM target layer, который собственно и отвечает за предоставление ресурсов блочных устройств. # AIO module aio_load="YES" # CAM Control ctl_load="YES" В /boot/device.hints можно задать режим работы карточки индивидуально для каждого порта # FC HBA Setup # role 0 - none # role 1 - target # role 2 - initiator # role 3 - both hint.isp.0.role="1" hint.isp.1.role="1" hint.isp.2.role="1" hint.isp.3.role="0" hint.isp.4.role="0" hint.isp.5.role="0" hint.isp.6.role="0" hint.isp.7.role="0" SERVER# reboot Будем считать что карты завелись, переменные драйвера можно посмотреть через sysctl SERVER# sysctl dev.isp. dev.isp.7.topo: 0 dev.isp.7.loopstate: 0 dev.isp.7.fwstate: 0 dev.isp.7.linkstate: 0 dev.isp.7.speed: 0 dev.isp.7.role: 2 dev.isp.7.gone_device_time: 30 dev.isp.7.loop_down_limit: 60 dev.isp.7.wwpn: 2377900762154942309 dev.isp.7.wwnn: 2305843168117014373 dev.isp.7.%parent: pci134 dev.isp.7.%pnpinfo: vendor=0x1077 device=0x2432 subvendor=0x1077 subdevice=0x0146 class=0x0c0400 dev.isp.7.%location: pci0:134:0:1 dev.isp.7.%driver: isp dev.isp.7.%desc: Qlogic ISP 2432 PCI FC-AL Adapter dev.isp.6.topo: 0 dev.isp.6.loopstate: 0 dev.isp.6.fwstate: 0 dev.isp.6.linkstate: 0 dev.isp.6.speed: 0 dev.isp.6.role: 2 dev.isp.6.gone_device_time: 30 dev.isp.6.loop_down_limit: 60 dev.isp.6.wwpn: 2377900762154942308 dev.isp.6.wwnn: 2305843168117014372 dev.isp.6.%parent: pci134 dev.isp.6.%pnpinfo: vendor=0x1077 device=0x2432 subvendor=0x1077 subdevice=0x0146 class=0x0c0400 dev.isp.6.%location: pci0:134:0:0 dev.isp.6.%driver: isp dev.isp.6.%desc: Qlogic ISP 2432 PCI FC-AL Adapter dev.isp.5.topo: 0 dev.isp.5.loopstate: 0 dev.isp.5.fwstate: 0 dev.isp.5.linkstate: 0 dev.isp.5.speed: 0 dev.isp.5.role: 2 dev.isp.5.gone_device_time: 30 dev.isp.5.loop_down_limit: 60 dev.isp.5.wwpn: 2377900762154942311 dev.isp.5.wwnn: 2305843168117014375 dev.isp.5.%parent: pci133 dev.isp.5.%pnpinfo: vendor=0x1077 device=0x2432 subvendor=0x1077 subdevice=0x0146 class=0x0c0400 dev.isp.5.%location: pci0:133:0:1 dev.isp.5.%driver: isp dev.isp.5.%desc: Qlogic ISP 2432 PCI FC-AL Adapter dev.isp.4.topo: 0 dev.isp.4.loopstate: 0 dev.isp.4.fwstate: 0 dev.isp.4.linkstate: 0 dev.isp.4.speed: 0 dev.isp.4.role: 2 dev.isp.4.gone_device_time: 30 dev.isp.4.loop_down_limit: 60 dev.isp.4.wwpn: 2377900762154942310 dev.isp.4.wwnn: 2305843168117014374 dev.isp.4.%parent: pci133 dev.isp.4.%pnpinfo: vendor=0x1077 device=0x2432 subvendor=0x1077 subdevice=0x0146 class=0x0c0400 dev.isp.4.%location: pci0:133:0:0 dev.isp.4.%driver: isp dev.isp.4.%desc: Qlogic ISP 2432 PCI FC-AL Adapter dev.isp.3.topo: 0 dev.isp.3.loopstate: 0 dev.isp.3.fwstate: 0 dev.isp.3.linkstate: 0 dev.isp.3.speed: 0 dev.isp.3.role: 2 dev.isp.3.gone_device_time: 30 dev.isp.3.loop_down_limit: 60 dev.isp.3.wwpn: 2378182195041886750 dev.isp.3.wwnn: 2305843126027248158 dev.isp.3.%parent: pci6 dev.isp.3.%pnpinfo: vendor=0x1077 device=0x2432 subvendor=0x1077 subdevice=0x0146 class=0x0c0400 dev.isp.3.%location: pci0:6:0:1 dev.isp.3.%driver: isp dev.isp.3.%desc: Qlogic ISP 2432 PCI FC-AL Adapter dev.isp.2.topo: 0 dev.isp.2.loopstate: 9 dev.isp.2.fwstate: 3 dev.isp.2.linkstate: 1 dev.isp.2.speed: 4 dev.isp.2.role: 2 dev.isp.2.gone_device_time: 30 dev.isp.2.loop_down_limit: 60 dev.isp.2.wwpn: 2377900720063078942 dev.isp.2.wwnn: 2305843126025151006 dev.isp.2.%parent: pci6 dev.isp.2.%pnpinfo: vendor=0x1077 device=0x2432 subvendor=0x1077 subdevice=0x0146 class=0x0c0400 dev.isp.2.%location: pci0:6:0:0 dev.isp.2.%driver: isp dev.isp.2.%desc: Qlogic ISP 2432 PCI FC-AL Adapter dev.isp.1.topo: 0 dev.isp.1.loopstate: 0 dev.isp.1.fwstate: 0 dev.isp.1.linkstate: 0 dev.isp.1.speed: 0 dev.isp.1.role: 2 dev.isp.1.gone_device_time: 30 dev.isp.1.loop_down_limit: 60 dev.isp.1.wwpn: 2378745144999502366 dev.isp.1.wwnn: 2305843126031442462 dev.isp.1.%parent: pci5 dev.isp.1.%pnpinfo: vendor=0x1077 device=0x2432 subvendor=0x1077 subdevice=0x0146 class=0x0c0400 dev.isp.1.%location: pci0:5:0:1 dev.isp.1.%driver: isp dev.isp.1.%desc: Qlogic ISP 2432 PCI FC-AL Adapter dev.isp.0.topo: 0 dev.isp.0.loopstate: 9 dev.isp.0.fwstate: 3 dev.isp.0.linkstate: 1 dev.isp.0.speed: 4 dev.isp.0.role: 2 dev.isp.0.gone_device_time: 30 dev.isp.0.loop_down_limit: 60 dev.isp.0.wwpn: 2378463670020694558 dev.isp.0.wwnn: 2305843126029345310 dev.isp.0.%parent: pci5 dev.isp.0.%pnpinfo: vendor=0x1077 device=0x2432 subvendor=0x1077 subdevice=0x0146 class=0x0c0400 dev.isp.0.%location: pci0:5:0:0 dev.isp.0.%driver: isp dev.isp.0.%desc: Qlogic ISP 2432 PCI FC-AL Adapter dev.isp.%parent: В качестве блочного тома будет выступать файл и будет отдан как target device SERVER# dd of=/DrWho/LUN5TB if=/dev/zero bs=1M count=5242880 > /file.done &
    Сообщение от: loko9988, 24 апр 2016 в разделе: Администрирование *nix
  14. loko9988
    Скажу сразу, это вторая установка, так как в первой не увиделась плата OCZ Revodrive3 x2, пришлось докупить два Интела 530 по 240GB для ZIL (многие ребята мне посоветовали ZIL в зеркало) FreeBSD FreeBSD FreeBSD Все оказалось проще чем LInux, страшно только на первый взгляд. Установка стандартная, я ставил на 240GB Intel SSD 230 При вводе su, получил $ su su: Sorry SERVER# ee /etc/group Было: wheel:*:0:root Стало: wheel:*:0:root,user Фиксить надо сразу, за терминалом. Можно было в /etc/sshd_config врубить рут вход по паролю, но я буду использовать ключи, и для секурности так плохо. SERVER# uname -a FreeBSD SEVER 10.3-RELEASE FreeBSD 10.3-RELEASE #0 r297264: Fri Mar 25 02:10:02 UTC 2016 [email protected]:/usr/obj/usr/src/sys/GENERIC amd64 Для начала соберём mc и nano, я их полюбил с дебиана, просто удобно. SERVER# cd /usr/ports/misc/mc SERVER# make install all SERVER# cd /usr/ports/editors/nano SERVER# make install all SERVER# cd /usr/src/sys/amd64/conf #Клонируем с новым названием. SERVER# cp GENERIC FC-storage SERVER# nano /usr/src/sys/amd64/conf/FC-storage Редактируем ядро ident FC-storage #Change to new name #В конец файла вписать #My addon device targ #SCSI Target Mode Code device targbh #SCSI Target Mode Blackhole Device options VFS_AIO options ISP_TARGET_MODE options ISP_DEFAULT_ROLES=1 options IPFIREWALL_DEFAULT_TO_ACCEPT # правило на акцесс дефаулт фаервалл options IPFIREWALL # встраиваем поддержку файрволла в ядро options IPFIREWALL_VERBOSE # вывод информации об отброшенных пакетах options IPFIREWALL_VERBOSE_LIMIT=100 # ограничение, чтоб весь /var # логами не засрали options IPDIVERT # поддержка IP-маскарадинга options DUMMYNET # поддержка DUMMYNET (искуственное # ограничение пропускной способности # сети, может быть нужно если есть # необходимость урезать канал одним # и разжать другим компьютерам) device crypto # Криптография options GEOM_ELI # Гели шифр и собираем ядро SERVER# cd /usr/src SERVER# make -j12 buildkernel KERNCONF=FC-storage после того, как ядро будет собрано, устанавливаем его SERVER# make -j12 installkernel KERNCONF=FC-storage SERVER# reboot SERVER# uname -a FreeBSD SEVER 10.3-RELEASE FreeBSD 10.3-RELEASE #0: Sun Apr 24 13:00:57 MSK 2016 user@SEVER :/usr/obj/usr/src/sys/FC-storage amd64 Теперь настроим мониторинг смарта, он нужен как под ССД, так и для мониторинга дисков в массиве хранилища. Поставим smartctl SERVER# whereis smartmontools smartmontools: /usr/ports/sysutils/smartmontools SERVER# make install all SERVER# echo 'smartd_enable="YES"' >> /etc/rc.conf Я обычно тестирую харды мельком. Мне достаточно, смотрю не посыпался ли диск и не умирают ли бошки. SERVER# smartctl -a /dev/da11 | grep Pre-fail Теперь самое интересное и вкусное. Работа с массивом из 16 дисков, я решил делать RAIDZ2. Удаляем метаданные. SERVER# zpool labelclear /dev/da0 SERVER# zpool labelclear /dev/da1 SERVER# zpool labelclear /dev/da2 SERVER# zpool labelclear /dev/da3 SERVER# zpool labelclear /dev/da4 SERVER# zpool labelclear /dev/da5 SERVER# zpool labelclear /dev/da6 SERVER# zpool labelclear /dev/da7 SERVER# zpool labelclear /dev/da8 SERVER# zpool labelclear /dev/da9 SERVER# zpool labelclear /dev/da10 SERVER# zpool labelclear /dev/da11 SERVER# zpool labelclear /dev/da12 SERVER# zpool labelclear /dev/da13 SERVER# zpool labelclear /dev/da14 SERVER# zpool labelclear /dev/da15 Создаём GPT разделы. SERVER# gpart create -s GPT /dev/da0 SERVER# gpart create -s GPT /dev/da1 SERVER# gpart create -s GPT /dev/da2 SERVER# gpart create -s GPT /dev/da3 SERVER# gpart create -s GPT /dev/da4 SERVER# gpart create -s GPT /dev/da5 SERVER# gpart create -s GPT /dev/da6 SERVER# gpart create -s GPT /dev/da7 SERVER# gpart create -s GPT /dev/da8 SERVER# gpart create -s GPT /dev/da9 SERVER# gpart create -s GPT /dev/da10 SERVER# gpart create -s GPT /dev/da11 SERVER# gpart create -s GPT /dev/da12 SERVER# gpart create -s GPT /dev/da13 SERVER# gpart create -s GPT /dev/da14 SERVER# gpart create -s GPT /dev/da15 Перед тем как что-то сделать, нам нужно создать GPT метки на дисках, это необходимо во многих случаях, например смене контроллера или апгрейде системы и вообще так правильнее. И я тут делаю немного по своему, чтобы не запутаться. Делаем по нормальному сектор 4К SERVER# gpart add -t freebsd-zfs -l disk-0-WCC1P1249235 -a 4K /dev/diskid/DISK-%20%20%20%20%20WD-WCC1P1249235 SERVER# gpart add -t freebsd-zfs -l disk-1-WMC1P0387635 -a 4K /dev/diskid/DISK-%20%20%20%20%20WD-WMC1P0387635 SERVER# gpart add -t freebsd-zfs -l disk-2-WMC1P0D926VJ -a 4K /dev/diskid/DISK-%20%20%20%20%20WD-WMC1P0D926VJ SERVER# gpart add -t freebsd-zfs -l disk-3-WCC1P1249261 -a 4K /dev/diskid/DISK-%20%20%20%20%20WD-WCC1P1249261 SERVER# gpart add -t freebsd-zfs -l disk-4-WMC1P0D03WPC -a 4K /dev/diskid/DISK-%20%20%20%20%20WD-WMC1P0D03WPC SERVER# gpart add -t freebsd-zfs -l disk-5-WMC1P0DCK304 -a 4K /dev/diskid/DISK-%20%20%20%20%20WD-WMC1P0DCK304 SERVER# gpart add -t freebsd-zfs -l disk-6-WCC1P1263622 -a 4K /dev/diskid/DISK-%20%20%20%20%20WD-WCC1P1263622 SERVER# gpart add -t freebsd-zfs -l disk-7-WMC1P0D24E09 -a 4K /dev/diskid/DISK-%20%20%20%20%20WD-WMC1P0D24E09 SERVER# gpart add -t freebsd-zfs -l disk-8-WMC1P0DENK26 -a 4K /dev/diskid/DISK-%20%20%20%20%20WD-WMC1P0DENK26 SERVER# gpart add -t freebsd-zfs -l disk-9-WMC1P0283100 -a 4K /dev/diskid/DISK-%20%20%20%20%20WD-WMC1P0283100 SERVER# gpart add -t freebsd-zfs -l disk-10-WMC1P0D2CTS6 -a 4K /dev/diskid/DISK-%20%20%20%20%20WD-WMC1P0D2CTS6 SERVER# gpart add -t freebsd-zfs -l disk-11-WMC1P0DK165Z -a 4K /dev/diskid/DISK-%20%20%20%20%20WD-WMC1P0DK165Z SERVER# gpart add -t freebsd-zfs -l disk-12-WMC1P0311813 -a 4K /dev/diskid/DISK-%20%20%20%20%20WD-WMC1P0311813 SERVER# gpart add -t freebsd-zfs -l disk-13-WMC1P0D57S6X -a 4K /dev/diskid/DISK-%20%20%20%20%20WD-WMC1P0D57S6X SERVER# gpart add -t freebsd-zfs -l disk-14-WMC1P0316872 -a 4K /dev/diskid/DISK-%20%20%20%20%20WD-WMC1P0316872 SERVER# gpart add -t freebsd-zfs -l disk-15-WMC1P0D7CMNK -a 4K /dev/diskid/DISK-%20%20%20%20%20WD-WMC1P0D7CMNK Чекаем, и проверяем все ли идёт по задуманному плану. SERVER# ls /dev/gpt disk-0-WCC1P1249235 disk-12-WMC1P0311813 disk-2-WMC1P0D926VJ disk-6-WCC1P1263622 disk-1-WMC1P0387635 disk-13-WMC1P0D57S6X disk-3-WCC1P1249261 disk-7-WMC1P0D24E09 disk-10-WMC1P0D2CTS6 disk-14-WMC1P0316872 disk-4-WMC1P0D03WPC disk-8-WMC1P0DENK26 disk-11-WMC1P0DK165Z disk-15-WMC1P0D7CMNK disk-5-WMC1P0DCK304 disk-9-WMC1P0283100 Начинаем теперь мутить Шифрование. Как я продумал хранение, это история отдельная, и она простая, но хитрая. Папочки для ключей SERVER# mkdir /private SERVER# mkdir /keys Создаём ключ на 128кб SERVER# dd if=/dev/random of=/keys/master.ad1 bs=128k count=1 Защифруем разделы GELI SERVER# geli init -s 4096 -P -K /keys/master.ad1 /dev/gpt/disk-0-WCC1P1249235 SERVER# geli init -s 4096 -P -K /keys/master.ad1 /dev/gpt/disk-12-WMC1P0311813 SERVER# geli init -s 4096 -P -K /keys/master.ad1 /dev/gpt/disk-2-WMC1P0D926VJ SERVER# geli init -s 4096 -P -K /keys/master.ad1 /dev/gpt/disk-6-WCC1P1263622 SERVER# geli init -s 4096 -P -K /keys/master.ad1 /dev/gpt/disk-1-WMC1P0387635 SERVER# geli init -s 4096 -P -K /keys/master.ad1 /dev/gpt/disk-13-WMC1P0D57S6X SERVER# geli init -s 4096 -P -K /keys/master.ad1 /dev/gpt/disk-3-WCC1P1249261 SERVER# geli init -s 4096 -P -K /keys/master.ad1 /dev/gpt/disk-7-WMC1P0D24E09 SERVER# geli init -s 4096 -P -K /keys/master.ad1 /dev/gpt/disk-10-WMC1P0D2CTS6 SERVER# geli init -s 4096 -P -K /keys/master.ad1 /dev/gpt/disk-14-WMC1P0316872 SERVER# geli init -s 4096 -P -K /keys/master.ad1 /dev/gpt/disk-4-WMC1P0D03WPC SERVER# geli init -s 4096 -P -K /keys/master.ad1 /dev/gpt/disk-8-WMC1P0DENK26 SERVER# geli init -s 4096 -P -K /keys/master.ad1 /dev/gpt/disk-11-WMC1P0DK165Z SERVER# geli init -s 4096 -P -K /keys/master.ad1 /dev/gpt/disk-15-WMC1P0D7CMNK SERVER# geli init -s 4096 -P -K /keys/master.ad1 /dev/gpt/disk-5-WMC1P0DCK304 SERVER# geli init -s 4096 -P -K /keys/master.ad1 /dev/gpt/disk-9-WMC1P0283100 Metadata backup can be found in /var/backups/gpt_disk-9-WMC1P0283100.eli and can be restored with the following command: # geli restore /var/backups/gpt_disk-9-WMC1P0283100.eli /dev/gpt/disk-9-WMC1P0283100 Не забываем почистить данные, я скопировал все бекапы в надежное место. на TrueCrypt....но это другая история....
    Сообщение от: loko9988, 24 апр 2016 в разделе: Администрирование *nix
  15. Joscme
    Доброго времени суток. Сегодня я попытаюсь рассмотреть файл Aipolicy. Нам потребуется: 1. Редакторы 2. Сам файл, который находится в /home/gamed/config/aipolicy.data Начнем с того, что же из себя представляет фаил с таинственным названием "aipolicy.data"? Это "мозги мобов". И так, сделаем моба, при смерти которого будет активироваться/останавливаться триггер. 1. Открываем редактор, который был приложен выше. Выбираем режим Perfect World (Жмем на знак под кнопкой "Help") 2. Создаем новый контролер. Для этого под окошком "Controlles" в поле "Ctrl ID" пишем ID нового контролера (в моем случае 2529) и жмем кнопку "Add Ctrl". 3. Дальше идем в поле "Action Sets". В поле "Action ID" пишем ID нового Действия (в моем случае "1"). В поле "Flags" пишем 100 - это означает, что наше действие активировано. Теперь пишем имя нашему действию в поле "Action Name" и жмем кнопку "Add Action". 4. В поле "Condition" жмем кнопку "Expression Calculator". Выбираем из списка функцию "Is Dead" и жмем кнопку "OK" > "Edit/Save" 5. В поле "Procedurs". Выделяем первую строчку. Выбираем в списке NPG_Generator. 6. Теперь в поле "Trigger ID" пишем GM ID триггера, к которому привязан наш моб в NPCgen. В поле "Ctril Parameter" пишем 0 (0 - активировать триггер, 1 - остановить триггер). В поле "Target" Выбираем "AGGRO_FIST" и жмем "OK". И жмем кнопку "Edit Proc". 7. Идем в elements.data. Ищем поле Aipolicy и пишем ID нашего контролера (В моем случае 2529, но скрин старый, поэтому тут другое значение) [ATTACH] 8. Сохраняем elements.data и aipolicy.data. Заливаем на сервер в папку /home/gamed/config/ . Так же не забываем закинуть в клиент в папку elemenst/data/ Примечания: Редактор (Deluxe Editor) коряво сохраняет условия, поэтому я рекомендую сохранять условия в другом редакторе, который я приложил в архиве. [ATTACH]
    Сообщение от: Joscme, 24 апр 2016 в разделе: PW Документация
  16. kostik21730
    Сообщение

    1.5.1 (101) C P W

    устанавливаем patcher apt-get install patcher (не понял зачем, но помогло какому то парню на жуке) качаем архив с кодплекс распаковываем заливаем базу создаем в папке /patcher/files/CPW папку info и в ней файл pid и в нем пишем 101 ./cpw install все без ошибок патчим клиентские файлы, загружаем обратно в клиент прописываем в серверлисте патчера вместо старого адреса новый http://domain.com/CPW/ создаем недостающие папки для елемента, лаунчера и патчера в cpw и new загружаем файлы даем всему 777 права chmod 777 -R /patcher пишем ./cpw initial все проходит без ошибок саксесы для елемента патчера и лаунчера даем опять 777 права всему в папке CPW перемещаем ее в /var/www/html/ папка доступна, могу в ней из браузера посерфить, файлы врсий везде посоздавались, пид на месте в папке инфо, хоть это вообще тут не при чем запускаю лаунчер ожидание коннекта к серверу, потом феил соездинения, запускается патчер, просит выбрать сервер обновления, я выбираю, вылазит [ATTACH] тыкаю ок и выбираю снова и о5 25. я переделывал сначала уже раз 10, все без ошибок, везде аксесы ЧТО ЭТО БЛ...... БЛИН МОЖЕТ БЫТЬ????
    Сообщение от: kostik21730, 13 дек 2015 в разделе: PW Вопросник
  17. maitreya.online
    И так мы вернулись и готовы к работе. Команда Maitreya объявляет о приеме заказов на реализацию ваших инноваций. Если в ваших планах создать серьезный, качественный и уникальный проект, тогда обращайтесь к нам. Спектр наших услуг: Изменение любых показателей персонажа. Мы способны изменить сами формулы расчета любого из статов и показателей персонажа. (Дух Шаманов, Невидимость ассасинов, Расчет атаки, защиты, ПА, ПЗ...). Так же мы можем ввести новый показатель для персонажей. Создание новых слотов эквипмента персонажа, создание новых типов предметов, наделение предметов особыми свойствами. Допустим, вам нужно создать предмет, который, попадая в инвентарь, творил какие-то чудеса. Создание и написание различных функций игры. Мы можем разработать новые функции для режимов PvP, PvE, для данжей и мира. Изменение полного функционала скиллов. Если вы захотите изменить показатель любого умения - мы с легкостью это реализуем. Изменяем частоту ТВ. Сколько раз в неделю захотите - столько и реализуем. Изменяем Кланы, Группы. Изменяем Искусственный Интеллект монстров. Делаем на заказ крупные редактирования игры на среднем уровне (через редакторы tasks, elements...). Реализуем клиентские и серверные разработки. Создаем защиту клиента, защиту от багоюзерства. Интегрированный ТОП игроков в удобном виде. Система автоматически собирает данные об игроках и записывает их в .txt файл, откуда вы удобно сможете извлекать данные на сайт. Сделать можем много чего. Список будем пополнять. С вас - точное изложение мысли, заказа и сумма на e-mail [email protected] С нас - качественная работа и тех. поддержка разработанных инноваций. Если будут вопросы - можете задавать их в ЛС на этом форуме. --- добавлено: 10 ноя 2015 в 16:48 --- Читайте тему внимательно. Мы реализуем ваши уникальные заказы. Нельзя поставить цену не зная товара или, как в нашем случае, требований заказчика. Мы предложили категории, а вы вольны сами придумывать заказ. Каждая инновация потребует разных ресурсов и времени. Это значит, что и сумма каждого заказа будет уникальной. Но, если требование будет очень маленьким, то, конечно, и стоимость разработки будет не велика. Допустим, просто заменить пару байт, чтобы подредактировать умение персонажа на низком уровне сложности - это будет стоить в районе 399р. Ведь все скиллы имеют шаблонный тип, поэтому редактировать их легко. Roymike, ведите себя прилично и не пытайтесь гадить в чужих торговых темах. Конкуренция - это хорошо. Но здоровая конкуренция - еще лучше. Для удобства, мы постараемся выкладывать список цен на более-менее типичные разработки, такие как Умения, ТВ, Изменение количества рангов Клана и т.д. --- добавлено: 10 ноя 2015 в 16:48 --- Установлены цены на некоторые разработки: ТВ несколько раз в неделю для любых версий игры: 4000 рублей Новый слот эквипмента + новый тип предмета: 10000 рублей Инкаст для версии 1.4.5: 5000 рублей PvP-система репутации: 30000 рублей MID-приложение (новая система статов и прочих функций): 15000 рублей Шипы друидов, работающие в мире: 5000 рублей. --- добавлено: 10 ноя 2015 в 16:51 --- Для того, чтобы все понимали каждый пункт вышеуказанного перечня, мы будем выкладывать описания своих разработок. Описание PvP-системы репутации с дополнениями: При реализации данной разработки, в игру было добавлено много новых функций, которые обеспечивают максимально профессиональную реализацию этой системы. Концепция такой системы заключается в том, чтобы внести остроты в приевшиеся понятия "пустого ПвП". Суть состоит в том, что за победу над другими персонажами в бою, ваш персонаж получает очки репутации, в зависимости от ряда факторов и показателей жертвы. В случае гибели от руки другого персонажа, ваш персонаж теряет репутацию, в зависимости от установленных правил. К правилам, факторам или показателям в этой системе можно отнести: Уровень персонажей Уровень культивации персонажей Фракцию персонажей Карму персонажей (цвет ника) Класс персонажей Клан персонажей... По вашему желанию мы сможем добавить разные факторы, влияющие на получаемую или теряемую в ходе сражения репутацию. В стандартный пакет входят 2 фактора - Уровень персонажа, Уровень культивации персонажа. Чтобы было понятнее, приведем пример. В примере учитываются 2 фактора - Уровень персонажа и Уровень культивации персонажа. Условия: За каждые 10 уровней убитого вами персонажа, вы получите по 2 ед. репутации. При смерти от другого персонажа, вы теряете 2 ед. за каждые 10 уровней собственного персонажа. За каждый уровень противоположной Культивации, убитого вами персонажа, вы получаете +3 ед. репутации. За каждый уровень Культивации, убитого вами персонажа, чья Культивация ровнялась вашей, вы получаете штраф к начисляемой репутации -3 ед. При смерти от персонажа, чья репутация была противоположной вашей, вы теряете -3 ед. за каждый уровень культивации, победившего вас персонажа. При смерти от персонажа, чья культивация была такой же как и ваша, то ваш персонаж не получает штраф. Пример 1: Персонаж-1(Уровень: 80\ Культ. Рай-2) убивает Персонажа-2(Уровень: 90\ Культ. Ад-1); Персонаж-1: получает 21 ед. репутации (18 ед. за уровень + 3 ед. за культивацию); Персонаж-2: теряет 24 ед. репутации (-18 ед. за уровень - 6 ед. за культивацию); Пример 2: Персонаж-1(Уровень: 80\ Культ. Рай-2) убивает Персонажа-2(Уровень: 90\ Культ. Рай-1); Персонаж-1: получает 15 ед. репутации (18 ед. за уровень - 3 ед. за культивацию); Персонаж-2: теряет 18 ед. репутации (-18 ед. за уровень); Чтобы защитить систему от Набивания репутации, существуют фильтры, ограничения и авто-баны репутации. В нашей игре стояли следующие правила для защиты от набивания репутации на Твинках: Ограничение на получение репутации до достижения определенного уровня у Жертвы и Убийцы. Лимит на количество убийств. Если вы будете часто убивать одного и того же персонажа, то вам будет выдан бан на получаемую репутацию. Авто-бан на репутацию не позволит персонажу получать репутацию за победу над другими персонажами в течении определенного времени и не препятствует ее потере при смерти. По желанию заказчика мы можем написать и другие функции защиты, поставить другие условия. При заказе данной разработки вы сможете сами выставлять различные показатели, правила, факторы, влияющие на получение и трату репутации. Чтобы сделать эту систему еще совершеннее, мы создали специальную функцию, благодаря которой персонажи могут покупать предметы в НИПах за репутацию. Администратор такого сервера самостоятельно может устанавливать цены на любые предметы. За покупку, крафт, получение через квест и выкапывание с вашего персонажа будет снята стоимость предмета в Репутации, а в случае нехватки репутации будет выведено соответствующее уведомление. Таким образом Репутация становится уникальным, полноценным игровым ресурсом. Возможность игры, доступная с версии 1.4.5, на требования Репутации к снаряжению, прекрасно дополняет эту разработку. Эта система идеально подойдет для PvP-направленного сервера с онлайном от 100 человек. Стоимость данной разработки: от 30000 рублей.
    Сообщение от: maitreya.online, 10 ноя 2015 в разделе: Архив
  18. gouranga
    Даже во всех пакетах сервисов, связанных с голдом, фигурирует user_id. Как ты предлагаешь сделать связь с role_id, если все завязано на user_id? Это какая-то дичь, ей богу. :) Я не знаю, что ты и как удаляешь, судя по изначальной постановке вопроса — не все. А вообще, тебе уже несколько человек сказали, что удалять бессмысленно. Ты конечно извини! Ну не нада нервничать! Я говорил о Мускул базе, о игровой ничего не говорил! по этому и спрашивал как удалить данные user_id c игровой базы! Если не знаетн то ладно сам как нибудь разберусь! Ну много людей тут говорят что сервер копия оригинала оф или pwi не важно, на офе я пополняю счет налом они приходят на оф лк потом вхожу в лк и выбираю какому персонажу со списка передать голд! Как то так Спасибо канешн, но не я тут нервничаю. А теперь еще раз ответы из твоей темы: 1) Забанить персонажей, чтобы не выполнился вход во время удаления 1.1) Проверить, не является ли какой из персонажей мастером клана. Если да, то распустить и удалить клан 2) Удалить всех персонажей из базы 3) Удалить аккаунт из MySQL А теперь Фокус! Некто наверное еще не слышал! Удаляем все как вы советуете ! Все нет аккаунта! Создаем новый аккаунт , он создается чистый с тем же id например 1056 , вхожу создаю перса, вхожу в мир открываю шоп а там голд например 19,99 Как и было на аккаунте до удаления его! И я просто ушел в осадок! По этому и вопрос возник! Голд не выдаю! Здесь есть вся информация по пакетам, а так же пример работы. Общаться нужно будет с сервисом gamedbd.
    Сообщение от: gouranga, 3 сен 2015 в разделе: PW Вопросник
  19. kolotun
  20. SviT