Перейти к содержанию

Jumper

VIP
  • Публикаций

    1533
  • Зарегистрирован

  • Посещение

  • Победитель дней

    5
  • Отзывы

    0%

Весь контент Jumper

  1. AdminkO заходишь к нему на сайт, зовешь друзей, человек 30-40 и F5 жмите у него на сайте
  2. Jumper

    Заливика Sql

    скиньте пример из армор, а то я в пв не лазил)
  3. Jumper

    Svn

    не мой svn это что уж за работу ставите) просто наткнулся огибая просторы интернета)
  4. Jumper

    Svn

    Большая часть форума конечно знает про это svn, но всё же некоторые спрашивают... На нем исходные коды команд, разных хроник от С4 до HF SVN пароль на все архивы: l2j
  5. Jumper

    Сборка Interlude

    это моё мнение, когда для себя я поставлю, а так я рад за вас)
  6. Jumper

    Сборка Interlude

    silentium рано еще брать 104 ревы, но скажу хорошо работают, смотрел исходы, аи баюма на высоте) месяцов через 5 можно и на проект их ставить) а так RT возьми, поработай немного) Link тоже сойдут)
  7. tcpdump - это мощнейшая утилита UNIX, позволяющая перехватывать и анализировать сетевой трафик, проходящий через сетевые интерфейсы. Об установке читайте на сайте разработчика, в FreeBSD она есть в портах, в Debian Linux в репозиториях. Приведу пример как можно использовать tcpdump. Например, на сервере отключены логи, идет легкая ddos атака, происходит что-то не ладное, вы хотите быстро посмотреть масштабность или убедиться, что это DDoS-атака, а не DoS или может это вообще никак не связано с внешним миром? Давайте посмотрим tcpdump -v -i eth0 dst port 80 После выше набранной команды вы сможете наблюдать список подключений к 80-у порту, чем больше повторных подключений с одинаковых хостов тем вероятнее мы столкнулись с DoS или DDoS атакой. Как вы уже наверное догадались, изменив порт можно проверить есть ли атака на FTP, SSH или другие сервисы которые крутятся на сервере. Добавив ключ -n имена хостов преобразуются в IP адреса. Глазами все не уследить, при атаке на веб-сервер вывод tcpdump-a сумасшедшей скоростью будет двигаться вдоль окна вывода терминала Поэтому, мы сначала запишем вывод tcpdump-a в файл. Пакетов 200-300 хватит. tcpdump -v -n -w attack.log dst port 80 -c 250 -v - самый простой уровень логирования, без изысканности. -n - преобразуем имена хостов в IP адреса -w - записываем анализ трафика в файл -c - количество захваченных пакетов Приступим к анализу полученных данных через tcpdump, отпарсим лог следующей командой tcpdump -nr attack.log |awk '{print $3}' |grep -oE '[0-9]{1,}\.[0-9]{1,}\.[0-9]{1,}\.[0-9]{1,}' |sort |uniq -c |sort -rn Результат будет - 2 столбца, в первом количество подключений, во втором IP. Чем больше подключений для одного IP тем вероятнее что это бот. Если список очень длинный можно ограничить его указав нужное количество выводимых строк tcpdump -nr attack.log |awk '{print $3}' |grep -oE '[0-9]{1,}\.[0-9]{1,}\.[0-9]{1,}\.[0-9]{1,}' |sort |uniq -c |sort -rn | head -20 Мы добавили head -20 Что бы получить только IP адреса, без первого столбца, нужно убрать ключ -c после uniq Вывод парсинга можно перенаправить в файл, а затем простым bash-скриптом, заблокировать все IP со списка. #!/bin/bash BLOCKDB="ips.txt" IPS=$(grep -Ev "^#" $BLOCKDB) for i in $IPS do iptables -A INPUT -s $i -j DROP
  8. Добавляем новый тип оружия на сервер Расскажу как это делается на примере исходников l2jFrozen. Запускаем Eclipse. Открываем com\l2jfrozen\gameserver\datatables\SkillTable.java и находим: private static final L2WeaponType weaponDbMasks = { L2WeaponType.ETC, L2WeaponType.BOW, L2WeaponType.POLE, L2WeaponType.DUALFIST, L2WeaponType.DUAL, L2WeaponType.BLUNT, L2WeaponType.SWORD, L2WeaponType.DAGGER, L2WeaponType.BIGSWORD, L2WeaponType.ROD, L2WeaponType.BIGBLUNT }; Добавляем после L2WeaponType.BIGBLUNT L2WeaponType.LANCE и сохраняем. Заходим в com\l2jfrozen\gameserver\datatables\sql\ItemTable Находим: _weaponTypes.put("bigblunt", L2WeaponType.BIGBLUNT); //Two handed blunt После добавляем: _weaponTypes.put("lance", L2WeaponType.LANCE); //Lance Заходим в com\l2jfrozen\gameserver\model\L2Skill Находим: public final static int COMBAT_MOD_DARK = 223; После добавляем public final static int COMBAT_MOD_LANCE = 224; Заходим в com\l2jfrozen\gameserver\skills\Formulas Находим: case POLE: stat = Stats.POLE_WPN_VULN; break; После добавляем: case LANCE: stat = Stats.LANCE_WPN_VULN; break; Заходим в com\l2jfrozen\gameserver\skills\Stats Находим: POLE_WPN_VULN("poleWpnVuln"), После добавляем: LANCE_WPN_VULN("lanceWpnVuln"), Заходим в com\l2jfrozen\gameserver\templates\L2WeaponType Находим: BIGBLUNT(14, "Big Blunt"); // Two handed blunt Заменяем на: BIGBLUNT(14, "Big Blunt"), // Two handed blunt LANCE(15, "Lance"); При создании оружия в базе в поле "weaponType " списываем Lance Lance можно заменить чем угодно. Это все проделано для того что бы можно делать резисты от нового типа оружия, что бы скилы работали только с этим типом оружия. и т.д.
  9. Jumper

    Создание Своего Рецепта

    Создание своего рецепта Я думаю устанавливать сервер научились все, раз принялись за прочтение данного урока, по этому можно начать: 1. Идем в папку gameserver\data\ и ищем там файл recipes.csv 2. Открываем его и видем что-то странное, честно говоря сам не понял что=), но нам на это пох, мы идем в самый низ. 3. В самый конец вписываем вот это : dwarven;mk_new_item;844;9991;9;[9650(1)],[5553(1)];57;20000000;[9650(1)],[57(540000)];225;100; Сейчас сделаем лиричиское отступление, и я расскажу какое значение за что отвечает: -dwarven - означает то, что рецепт могу открыть только гнумы, можно поставить значение common, в таком случаем рецепт откроют все. -mk_new_item - название итема. Состоит из : mk_ - обязательный префикс, значение для крафта, и new_item, ваш предмет, можно без низжней черы, если одно слово. - 844 - ID рецепта в скрипте, в моей сборке последним был рецепт с идом 843, по этому я взял 844. - 9991 - ID рецепта по базе данных MySQL, тоесть тот ID, который мы будем спавнить как итем или кидать в мультиселл. - 9 - необходимый уровень крафт скила(не забываем, если ставить возможность всем открывать и крафтить рецепт, то ставим уровень 1). - [9650(1)],[5553(1)];57;20000000;[9650(1)] - вещи необходимые для крафта итема ([iD предмета(количество)],...) - [57(100000000)] - то, что мы собираемся крафтить, в нашем случае 100кк аден. - 225 - это значение регулирует сколько маны мы угробим... - 100 - шанс того, что крафт пройдет успешен. 4. На основе вышенаписанного создаем свой рецепт. 5. Теперь нужно добавить наш запрос в сервер, тоесть делаем запрос в базу данных MySQL: -Первая строчка является пояснением к значениям, темболее некоторые их них мы разбирали чуток выше, по этому останавливаться не будем. 6. Запускаем File Edit и открываем файл itemname-e.dat который лежит в папка клиента/system/ 7. В самый конец добовляем: 9991 Recipe: 100kk Adena. Требуется 9 уровень создания вещей. Шанс создания вещи - 100%. -1 0 0 0 -Изменяем все под себя и не забываем в конце остваить одну пустую строчку. 8. Открываем etcitemgrp.dat, находим любой рецепт, вставляем его в самый конец, меняем ID, название и в конце оставляем одну пустую строчку. 9. Но и этого не достаточно. Идем в файл recipe-c.dat. 10. Точно так же копируем любую строку и вставляем в конце, но вот тут то и вся муть - надо соблюдать все пропорции,ничего лишнего ненаудалять и непонаписать, иначе он просто обратно не закодирует - будет ошибку выдавать. - Вот мы нашли нашли рецепт, подробно разбирем что для чего: mk_eye_of_soul_ii(имя рецетпа, лучше указывать в соответсвии с пунктом 3.2) 805(id рецепта по файлу рецептов) 8313(id рецепта по бд) 7(лвл крафта) 7894(что производиться) 1(сколько) 192(сколько маны надо) 100(шанс) 10(сколько вещей учавсвует в крафте) 8313(что надо для крафта) 1(сколько) 8341(что надо для крафта) 13(сколько) 5554(и так далее) 2 1890 122 1888 122 1885 61 4042 61 5550 244 1460 415 2132 143 - К нашему рецепту выйдет вот такая вот штукенция: mk_new_item 844 9991 9 57 100000000 225 100 2 5553 1 9650 1 Если вы все сделали правильно, то после рестарта(лучше делать при выключенном сервере), или при его включении, появится ваш собственный рецепт.
  10. Jumper

    Заточенные Вещи В Мультиселах

    Мануал для тех кому нужны заточенные вещи в мультиселах! - Идем: gameserver\head-src\com\l2jfrozen\config.java - После данных строк : public static String FARM1_CUSTOM_MESSAGE; public static String FARM2_CUSTOM_MESSAGE; public static String PVP1_CUSTOM_MESSAGE; public static String PVP2_CUSTOM_MESSAGE; - Добавим: public static boolean ENABLE_MODIFY_ENCHANT_MULTISELL; public static Map<Integer, Integer> ENCHANT_MULTISELL_LIST; - Далее ищем такие строки: /** Server Name **/ ALT_SERVER_NAME_ENABLED = Boolean.parseBoolean(L2JFrozenSettings.getProperty("ServerNameEnabled", "false")); ANNOUNCE_TO_ALL_SPAWN_RB = Boolean.parseBoolean(L2JFrozenSettings.getProperty("AnnounceToAllSpawnRb", "false")); ANNOUNCE_TRY_BANNED_ACCOUNT = Boolean.parseBoolean(L2JFrozenSettings.getProperty("AnnounceTryBannedAccount", "false")); ALT_Server_Name = String.valueOf(L2JFrozenSettings.getProperty("ServerName")); DIFFERENT_Z_CHANGE_OBJECT = Integer.parseInt(L2JFrozenSettings.getProperty("DifferentZchangeObject", "650")); DIFFERENT_Z_NEW_MOVIE = Integer.parseInt(L2JFrozenSettings.getProperty("DifferentZnewmovie", "1000")); - И добавляем после них: ENABLE_MODIFY_ENCHANT_MULTISELL = Boolean.parseBoolean(L2JFrozenSettings.getProperty("EnableModifyEnchantMultisell", "False")); if (ENABLE_MODIFY_ENCHANT_MULTISELL) { ENCHANT_MULTISELL_LIST = new FastMap<Integer, Integer>(); String[] propertySplit; propertySplit = L2JFrozenSettings.getProperty("EnchantMultisellList", "").split(";"); for (String enchant : propertySplit) { String[] enchantSplit = enchant.split(","); if (enchantSplit.length != 2) { System.out.println("[EnchantMultisellList]: invalid config property -> EnchantMultisellList \"" + enchant + "\""); } else { try { ENCHANT_MULTISELL_LIST.put(Integer.parseInt(enchantSplit[0]), Integer.parseInt(enchantSplit[1])); } catch (NumberFormatException nfe) { if (!enchant.equals("")) { System.out.println("[EnchantMultisellList]: invalid config property -> EnchantMultisellList \"" + enchantSplit[0] + "\"" + enchantSplit[1]); } } } } } - Далее идем в MultiSellChoose.java: gameserver\head-src\com\l2jfrozen\gameserver\network\clientpackets\MultiSellChoose.java - И после таких строк: // Generate the appropriate items for (MultiSellIngredient e : entry.getProducts()) { if (ItemTable.getInstance().createDummyItem(e.getItemId()).isStackable()) { inv.addItem("Multisell["+_listId+"]" , e.getItemId(), (e.getItemCount() * _amount), player, player.getTarget()); } else { L2ItemInstance product = null; for (int i = 0; i < e.getItemCount() * _amount; i++) { product = inv.addItem("Multisell["+_listId+"]", e.getItemId(), 1, player, player.getTarget()); - Добавляем: if (Config.ENABLE_MODIFY_ENCHANT_MULTISELL) { if (Config.ENCHANT_MULTISELL_LIST.containsKey(_listId)) { product.setEnchantLevel(Config.ENCHANT_MULTISELL_LIST.get(_listId)); } } - Также добавляем в конфиг l2jfrozen.properties: gameserver\config\functions\l2jfrozen.properties - Такие строки: # Продавать заточенные вещи через мультиселлы EnableModifyEnchantMultisell = True # Номера мультиселлов в которых будут затачиваться вещи при продаже # Например: EnchantMultisellList=1001,10;1002,5 # Означает что в мультиселле 1001.xml все вещи при продаже будут точиться на 10 # и в мультиселле 1002.xml соответственно точиться на 5 # ВНИМАНИЕ! Не ставьте точку с запятой в самом конце и пишите все без пробелов! EnchantMultisellList=40002,30;
  11. Jumper

    Hot Springs Дебафы

    <skill id="4551" name="Hot Springs Rheumatism"> <skill id="4552" name="Hot Springs Cholera"> <skill id="4553" name="Hot Springs Flu"> <skill id="4554" name="Hot Springs Malaria">
  12. забудьте про открытые порты, если модем
  13. Jumper

    Копирайты

    http://subversion.assembla.com/svn/L2jFrozenInterlude/trunk/
  14. Jumper

    Копирайты

    ну а поискать сначала, ребят ну что такое http://forummaxi.ru/index.php?showtopic=15337
  15. Jumper

    Desperion Armor For Interlude

    темный эльф в лайте, по любому косячный, поэтому и не показали!
  16. html переделать всего то)
  17. Jumper

    Евенты

    customs таблицы залейте!
  18. держи, не мучайся http://rghost.ru/40561260
  19. Jumper

    Услуги От Jumper

    Мой скромный список услуг - HTML Правка имеющихся HTML - 1 рубль (1 шт) Создание новых - от 1 до 4 рублей, зависит от сложности (1 шт) - XML Сюда входят статы, мультиселлы, скиллы Правка имеющихся XML - 2 рубля (1 шт) Создание новых - от 4 до 9 рублей, зависит от их объема (1 шт) - SQL Правка имеющихся SQL - 1 рубль (один запрос) Перенос и адаптация SQL с одной сборки на другую - от 10 рублей! (зависит от кол-ва) Создание SQL под ваши пушки, крылья и прочее - 1 рубль (1 шт) - Помощь в установке MySQL, Java, Navicat(имеется свой с ключами), самой сборки - 12 рублей CSM (WordPress, StressWeb, GHTWeb, DLE) - 8 рублей Форума (IPB, PhpBB, SFM, VBulletin) - 9 рублей - Также Внесу в патч ваши Крылья, Арморы, Пухи, Итемы - 10 рублей Помощь в чтение логов Сервера, Логина - 2 рубля Помощь и советы по CMS WordPress, Форум IPB - беслпатно Создание Блога на основе CMS WordPress - 7 рублей Также обучу работе в Eclipse (создание проекта, основные моменты в работе, компиляция) - 5 рублей Что касается работы по ява, скажу сразу писать вам эвенты, бафферов и прочее я не буду, на это мне нужно время, которого у меня сейчас очень мало! Поэтому, если у вас какие-то проблемы в ява коде, ошибка при компиляции то милости прошу! Цена договорная, если по мелочи залатаю бесплатно! Работаю исключительно с Interlude, Epilogue, GoD! UP: с клиентскими дополнениями не работаю, то есть не перекрашиваю шмотки, не создаю нпс, не адаптирую! Что-то не нашли в списке, спросите! Помогаю в основном от степени занятости! Контакты: ICQ: 2751476 SOFT: Notepad TeamViewer
  20. идем gameserver\config\functions открываем physics..properties ищим MaxPAtkSpeed = 1500 (скорость атаки) MaxMAtkSpeed = 1999 (скорость каста)
  21. не поняли вы суть, этот раздел откроется, как только наберет нужное кол-во материала
  22. обидно чуваку ноги обрубать) а с блоки хз, посоветуйте шрифты какие нибудь
×
×
  • Создать...