// Вижу тут и так весело, но раз пошла такая пьянка mmo-shield - это довольно простое, но вроде как довольно эффективное решение для защиты от базового DDOS (l4) и ряда пакетных атак, которые нацелены на эксплуатацию уязвимостейигрового сервере (тут вы это все называете громким OOG). (Читай [История]) // Мой любимый префикс [Simple] заняли, поэтому прийшлось выдумать другое название :( Возможности: Защита от L4 (tcp,udp) - на основе проксирования Защита от OOG флуда (лимитирование) Возможность настраивать собственные пакетные фильтры (фильтры есть двух типов - strict - проверка в момент получения пакета; statistic - статистический фильтр) Установка: Не требует изменений или установки дополнительного софта на сервере, за исключением tinc\haproxy Требует изменения на стороне клиентов (дополнительный .exe файл) VT файла - https://www.virustotal.com/gui/file/554f151fb953e974fb27ea6096aee8e228c4b7c704a227e93304ba79ea45a98d/detection Условия предоставления: На данный момент я не могу быть до конца уверен в надежности данного подхода к защите, поэтому в первую очередь цель — проверить эффективность данного инструмента. Детали - смотри раздел [История] Онлайн 100+ (Приоритет - если вы на данный момент находитесь под атакой Цена: Модель предоставления - подписка (ежемесячная плата) Смотри пункт Условия предоставления [1]. В случае успешного прохождение тестирования, цена будет зависеть от ожидаемого онлайна, и обсуждаться, на данный момент будет лично. Саксесс стори: Uniplay (version 0.1) (09.08.2020) - защита была запущена на следующий день после старта :) Rpl (Summer 2) (version 1-2) - защита была запущена примерно через месяц после старта :) Гарантии: До окончания тестирования - гарантий в принципе никаких, мы в любой момент можем сказать друг другу - пока После окончания тестирования и получения месячной оплаты, в случае недоступности проксирующего сервера (SLA < 99%) либо в случае невозможности отразить атаку (ddos\oog) - гарантирую возврат средств за неиспользованный период, но прокся, до истечения оплаченного периода продолжит работу. Нюанс, SLA именно проксирующего сервера, те если дропнули ваш сервер на прямую (вы кому-то спалили реальный ип) - решать эти вопросы прийдется вам. Связь: Discord : skydev#7777 Лс на форуме История: Для тех кто дочитал :) Давно я ушел из пвешки, но благодаря карантину появилось немного времени и надо было его чем-то занять. В этот же момент пересекся с давним знакомым, который предложил поднять пвешку, моя задача настроить сервачок и базовая защита (в рамка крайне скромного бюджета :D), поэтому решено было поностальгировать. Ок, сервак куплен, 5 проксирующих впскок куплены у известных вендоров, общий бюджет защиты составил $35 - из которых $20 - это CF на пару с их новым Spectrum (который оказался дорогой дыркой, а не него были основные надежды :(). Написана простенькая прокся на golang, которая парсила пакеты от клиентов, разбирала и дропала то, что по ее мнению не имеет смысла, так как старые итосчники сказали что нынче в моде оог, и шлют всякую дикую хрень, этим эксплуатируя ряд уязвимостей сервисов. За сутки до этого, стоя в пробке, мне пришла довольно интересная мысль, как мне показалась на тот момент, а почему б не завернуть трафик в вебсокет, это ж дешево и снимает сразу много головняка. Обратно к открытию юника, да, прокси поочередно дропали, видимо у того кто игрался стрессер, был максимум на 4 конкурентных атак, поэтому 1 из 5 линков жил :D. Так как желания вынимать $100+ с собственного кармана ради ностальгии у меня не было, вспомнил об идеи с вебсокетами, долго думать не пришлось, так как на тот момент уже был свой проксирующий сервер, просто подпилил к нему поддержку вебсокетов. Результат не заставил себя ждать - атаки ушли, но как результат появилось много других нюансов связанных со стабильностью самого прокси клиента, задержками и тд и тп. Собственно за пару дней, первая версия была доведена до +- стабильного существования и игроки спокойно играли, на этом версия 0.1 закончилась, да и юник со временем тоже закончился и код лежал в сторонке. Потом, меня пинганул еще один знакомый, он же SkyTek, с рпл, где его ежедневно дропали на время бонуса 20:00 кажется, было на тот момент немного времени, поэтому поставил ему 0.1, но чет мне захотелось отполировать и клиент и сервер, улучшить производительность и тд, кароч так появилась версия 1, а следом за ней и версия 2, на данный момент, лол из 1 приложения это уже 3 с собственной шиной данных и апи управления и статистики. На данный момент, по возможности, я подпиливаю этот проект в свободное время, так что по факту сейчас пилится 3 версия данного софта, uni, rpl на данный момент закрились (ну бывает такое в этой сфере :)), поэтому защита по факту сейчас крутится на 2х збтешних серверах, которые рано или поздно пойдут в мир, так как мне на данный момент это по фану, время позволяет, да и весело тут у вас, хочется во всем этом принять какое-то участие :D Всем кто дочитал - спасибо, давно я вас всех уже не слышал :)
С днем рождения Андрей, счастья, здоровя, удачи и адекватных заказчиков :) using (var con = Db.CreateConnection()) { using (var command = con.CreateCommand()) { command.CommandText = "UPDATE `users` SET `age`= `age` + 1 WHERE `user_name` = @name"; command.Prepare(); command.Parameters.AddWithValue("@name", "Beast"); command.ExecuteNonQuery(); } }
Небольшой редактор для файла region.sev :) Подробнее : Язык : C# Несколько слов : Небольшой и достаточно удобный редактор для файла region.sev Фичи : Захват координат из игры (спасибо алексу за предоставленные адреса) Отображение изменений на карте Конвертация в region.clt (делалось под целевую версию клиента 1.5.1) Скриншоты : [IMG] [IMG] Спасибо Beast :) Скомпилированная версия : https://github.com/skynet2/tools/releases Исходник : https://github.com/skynet2/tools/tree/master/PW/RegionEditor [IMG]
Небольшой редактор для файла element.data :) Подробнее : Язык : C# Конфиги : подойдет любой конфигурационный файл от sElementEditor Цель написания : Сдача курсовой работы ;D Несколько слов : Является в некотором роде клоном редактора sElementEditor (roddy), но добавлены несколько фич : Массовое редактирование ( Изменение значений, клонирование, удаление ) Массовый экспорт и импорт предметов Добавление итема со поиском свободного ID Связи Кастомная страница 55 листа Ну и еще несколько фич [IMG] [IMG] [IMG] [IMG] При возникновении ошибок, просьба скинуть код ошибки, написать номер листа, айди итема и приложить ваш файл elements.data (character_combo & proc_type пока не доделал, лень было возиться с масками, возможно позже сделаю ) Скомпилированная версия : https://github.com/skynet2/tools/releases Исходник : https://github.com/skynet2/tools/tree/master/PW/editor [IMG]
Небольшая утила для выдергивания файлов :) ( аналог утилы от Du10 и утилы от Morze ) Аналог написан из-за отказа работы тулзы du10 :( Скриншот : [IMG] Работает в 2х режимах. 1. Задание точного пути к .ecm\gfx файлу ( в этом случае программа скопирует заданные .ecm файлы и все зависимости для них ( пример пути Models\Weapons\人物\刀剑\单手单剑\淬铁剑\淬铁剑.ecm ) 2. Задание папки ( ( например models\players\装备\男\心手相依男装裤子 ) в этом случае программа скопирует саму папку + если в ней находятся ecm\gfx также будут скопированы зависимости для них ) Интерфейс довольно простой и понятен. Утила писалась по принципу "работай быстрее, я спать хочу". Несколько тестов показали что работает она адекватно, если будут проблемы\баги пишите их тут. Исходный код https://github.com/skynet2/tools/tree/master/PW/ecmCopy
Небольшой порт моего api для работы с дата файлами клиента\сервера perfect world. Ссылка - https://github.com/skynet2/pwAPI На данный момент поддерживается работа с : elements.data ( Используя конфиги для редактора ronny ) tasks.data ( Классы взяты с редактора Joslin`а ) gshop.data ( Орентировался на поддержку версии 1.5.1 ( клиент ) ) precinct ( Классы взяты с редактора Joslin`а ) В планах (domain.data\sev,npcgen) API написано на языке С#. Структура достаточно простая, Readers отвечают за чтение определенных типов файлов, а Structures* соотвественно вмещают в себе структуры. Пример использования : Импорт стилей в шоп Добавление новых полетов\стилей с конвертированием версии var rus = new ElementReader(@"C:\work\PW_1.5.1_v101.cfg", @"C:\work\elements.data"); var china = new ElementReader(@"C:\work\PW_1.5.2_v127.cfg", @"C:\chinaPW\element\data\elements.data"); Utils.ElementUtils.AddUniqFly(rus, china,out flyPaths); Utils.ElementUtils.AddUniqStyles(rus, china, out stylesPaths,out weaponsPaths); rus.Save(@"C:\work\elements+china.data"); GShopReader shop = new GShopReader (@"/home/iren/work/gshop.data"); // Чтение GShop,data ElementReader element = new ElementReader(@"/home/iren/work/PW_1.5.1_v101.cfg", @"/home/iren/work/elements.data"); // Чтение конфига + елемента GShopUtils.ClenUP (shop, element); // Очистка gshop.data от старых стилей GShopUtils.AddStyles (shop, element); // Добавление новых shop.Save ("path"); // Сохранение Перевод element.data ElementReader rus = new ElementReader (@"/home/iren/work/PW_1.5.1_v101.cfg", @"/home/iren/work/elements.data"); ElementReader eng = new ElementReader (@"/home/iren/work/PW_1.5.2_v123.cfg", "/home/iren/work/elements_new.data"); ElementUtils.Translate (eng, rus); rus.Save("elements.data"); Позже добавлю еще несколько примеров ( по мере портирования с явы ) :) Отдельное спасибо бисту :D
Небольшая утила для редактирования конфигов для редактора ронни + тестер. ( в связи с участившимся желанием киатйцев добавить несколько байт в совершенно случайный лист ) Пример рабочего конфига : [IMG] Пример не рабочего конфига : [IMG] [IMG] https://github.com/skynet2/tools/tree/master/PW/ConfigEditor
Хотя б что-то тут будет ;D Небольшая тулза для работы(чтение\запись) с файлом domain2.data на быструю руку портирована с c# ( поэтому не нужно удивляться откуда в яве BinaryReader\Writer ;D ) [IMG] Реализовывал только нужный мне функционал, так что добавлять придется самим :) https://github.com/skynet2/tools/tree/master/PW/DomainDataReader
Собственно сабж, С++ & Delphi видают такое : [IMG] Нужно привести вот к такому виду : [IMG] Язык реализации подойдет любой, кроме c# Мой метод реализации - сделать форму прозрачной и поверх налепить картинку как видите не работает.
Суть такова, модели jd\fw работали на 1.4.5 v69. После перехода на 1.4.6 v80 перестали работать, кол-во моделей 37. Предложения в скайп x_log1k
КУ=)))
用逗号分隔用户名