Думаю это перебор логировать абсолютно всю активность. Да и базы быстро разбухать будут при онлайне ~200 Для версии 1.2.6 как раз не перебор) Уже много чего пофикшено благодаря этим логам) Помогло найти пакет, которым роняли мир и оперативно пофиксить Ну если с этого плана, то да В этой теме я не уточнил, разговор про игровые логи. Взломы больше всего, кражи, нае***во Администрации
Только по необходимости. Просто из любопытства сидеть листать логи и зенькать, что там это не интересно никому. А вот если возникла трабла, то с чего как не с логов начинать копать. Конечно бывают проходимцы на форуме, которые сначала сюда бегут, но потом их носом в логи отправляют обратно. Больше интересно, по какой причине такой очевидный опрос? Было бы логичнее там опрос - какая сборка самая устанавливающая и т.п. Актуальность парсеров логов прямо с сервера, а собственно: [IMG] --- добавлено: 13 янв 2018 в 19:48 --- Логирую всю активность игроков) [IMG] Думаю это перебор логировать абсолютно всю активность. Да и базы быстро разбухать будут при онлайне ~200
Здравствуйте, Интересует такой вопрос: Как часто Вы пользуетесь логами сервера? Не важно по какой причине, важен сам факт и актуально ли это
Ну так не подскажите где такое взять? FW в смысле ? В смысле скачиваешь клиент Forsaken World и адаптируешь интерфейс в PW
Ну так не подскажите где такое взять? FW
Раз подняли тему ))) [ATTACH]
Вероятно подлаги самого сервака. Игроки на откиды не жаловались на кривом сервере? Нет Логи вообще не ругаются?
Единственное так это то что гм права слетают, а иногда держит акк в сети, не могу понять почему ГМ права слетают после того как перезапускаешь auth После перезагрузки сервера они возвращаются
Максимальную Это какая?) Типа по защитам? Лицензию максимальную 360 дней - 8400 р.
Не отказался бы от исходников
Что мешает скачать клиент FW и перенести данный интерфейс к себе в клиент?
grasses.pck - не рискну предположить(mox,mod,dds) Текстура травы, да да я некропостер textures.pck\maps и некоторые элементы с building.pck
Принимаю заказы на разработку именных салютов!!! [IMG]
Debug commands d_cameramode – Свободное использование камеры d_boundbox – Границы объектов d_rtdebug d_npcid – Отображение Id для NPC d_runspeed – Встроенный «спид хак», максимальное значение 4,6 d_goto d_gotoline d_fly – Взлететь, если есть такая возможность (d_fly 1) d_c2scmd d_viewradius d_relogin d_skill d_render_water d_render_grass d_render_forest d_render_shadow d_render_outline d_turnaround d_testdist – Показывает расстояние до указанного объекта d_gfx d_showpos – Отображение координат d_trnlayer d_a3dstat – Параметры текущей 3D сцены (кол-во спрайтов и т.д.) d_gamestat – Состояние игры (кол-во игроков, используемая память и т.д.) d_treelod d_fps – Отображение текущего FPS d_playerradius d_showid d_skipframe d_modelupdate d_minidump – Создает дамп d_settimeofday d_getservertime – Получить время сервера d_task d_mipmapbias d_updatelua d_trncull d_gscmd d_delcmd d_fixedcamera – Фиксация камеры 2.5D (d_fixedcamera 1, отключение 0) d_towerdefense d_camturnspeed – По идеи, команда должна изменять скорость вращения камеры Практический все эти команды будут работать и без активации debug_command_mode = 1
Было время когда со StAlKeR7779 писали скрипт для очищения голда, но к сожалению у меня жесткий потух вместе с файлами. Написал Сталкеру, если у него остались файлы, то поделюсь
Еще про пакет, который карту владений запрашивает, забыли.. Так уже для шары все просто вери гуд, и пойдут лесом те кто по 40к просит за это.. Сериализатор аka ковыряться в содержимом пакете пилить придется, хотя бы для фикса создания оборов женского пола BattleGetMap | 0x352
Можно объединить сразу: TradeStart | 0xFA1 AddFriend | 0xCA 1) Дропает все пакеты TradeStart 'use strict'; // Какой-то код ... const handlers = require('pw-service-proxy-handlers'); let handler = handlers.validatePacketTradeStart({ mode: 'drop' }); // Какой-то код ... 2) Дропает пакаты TradeStart, если их количество за единицу времени превышает допустимое значение (задается в конфиге). 'use strict'; // Какой-то код ... const handlers = require('pw-service-proxy-handlers'); let handler = handlers.validatePacketTradeStart({ mode: 'limit', limitModeOptions: { // Максимальное количество пакетов в секунду frequency: 10 } }); // Какой-то код ... --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- 3) Дропает все пакеты AddFriend 'use strict'; // Какой-то код ... const handlers = require('pw-service-proxy-handlers'); let handler = handlers.validatePacketAddFriend({ mode: 'drop' }); // Какой-то код ... 4) Дропает пакаты AddFriend, если их количество за единицу времени превышает допустимое значение (задается в конфиге). 'use strict'; // Какой-то код ... const handlers = require('pw-service-proxy-handlers'); let handler = handlers.validatePacketAddFriend({ mode: 'limit', limitModeOptions: { // Максимальное количество пакетов в секунду frequency: 10 } }); // Какой-то код ...
Ну немного праздничного говнокода Вот еще говнокодистей include("packets.php"); $arDeleteItems = array(1111, 2222, 3333, 4444); //для удаления группы предметов $arItemsLocs = array( array('pocket','items'), array('equipment','inv'), array('storehouse','items'), ); $mysql = mysql_connect($mysqlconf["host"], $mysqlconf["user"], $mysqlconf["password"]); $selectdb = mysql_select_db($mysqlconf["db"], $mysql); $query = mysql_query("select * from `users`"); while ($array = mysql_fetch_array($query)) { $roles = GetUserRoles($array['ID']); if ($roles == null) continue; foreach ($roles as $role) { $data = GetRoleData($role['ID']); foreach($arItemsLocs as $itemLoc){ foreach ($data[$itemLoc[0]][$itemLoc[1]] as &$value){ if (in_array($value['id'], $arDeleteItems){ $value['id'] = 0; } } unset($value); } PutRoleData($role['ID'], $data); } } include("packets.php"); $arDeleteItems = array(1111, 2222, 3333, 4444); //для удаления группы предметов $arItemsLocs = array( array('pocket','items'), array('equipment','inv'), array('storehouse','items'), ); $mysql = mysql_connect($mysqlconf["host"], $mysqlconf["user"], $mysqlconf["password"]); $selectdb = mysql_select_db($mysqlconf["db"], $mysql); $query = mysql_query("select * from `users`"); while ($array = mysql_fetch_array($query)) { $roles = GetUserRoles($array['ID']); if ($roles == null) continue; foreach ($roles as $role) { $data = GetRoleData($role['ID']); foreach($arItemsLocs as $itemLoc){ foreach ($data[$itemLoc[0]][$itemLoc[1]] as &$value){ if (in_array($value['id'], $arDeleteItems)){ $value['id'] = 0; } } unset($value); } PutRoleData($role['ID'], $data); } }
Насколько помню, там раньше, вроде бы где то в базе, id квеста передавалось в short, из за чего при использовании в id чисел больше максимального значения short начинались проблемы. Потом китайцы это дело пофиксили, но вряд ли они это сделали в версии 1.4.6 v85. Использовалось на время v80 версии сервера Зачем делать столько разных итемов, активаторов и т.д? Делаем 2 квеста: 1 будет давать в награду рай, 2 ад. Для активации обоих квестов в требования прописываем один и тот же итем, который при активации будет забираться. И все, там уже не важно повторяются или нет квесты на уважуху. Все равно без требуемого итема эти квесты уже будет взять нельзя. А сам требуемый итем можно в стартовых персонажей прописать, чтобы уж точно его нельзя было еще раз получить.. В моем примере берутся задания, которые запускаются с помощью предметов, которые в свою очередь прописываются в стартовых персонажей со 100% привязкой. Разговоры с NPC исключаться полностью. В итоге получаются взаимоисключающие задания, которые уже не повторить так как нет уже требуемых предметов. На свой вкус и цвет как говорится
1. id квеста слишком большой. Неиспользуемый id выше 32000. 2. Квест на рай блокирует сам себя же. [IMG] [ATTACH] Все исправно работает. Хоть ID - 943001, скорее всего дело в неправильном задании А лучше сделай задания так: Чтобы Взять Ад 3: Требуется предмет для выдачи задания - Взять Рай 3 (Например id этого предмета - 111111 с 74 листа) Тип завершения - Автозавершение Награда - Ад 3, далее на твоё усмотрение Чтобы Взять рай 3: Требуется предмет для выдачи задания - Взять Ад 3 ( Например id этого предмета - 222222 с 74 листа) Тип завершения - Автозавершение Награда - Рай 3, далее на твоё усмотрение В итоге мы получаем взаимоисключающие задания, который будут выдавать предметы из 74 листа (Активаторы квестов) при нажатии на него ПКМ Чтобы получить Ад 3 нужно иметь в инвентаре предмет Взять Рай 3 с id 111111 Чтобы получить Рай 3 нужно иметь в инвентаре предмет Взять Ад 3 с id 222222 При активации одного из предметов, оба пропадают из инвентаря. Так как без друг друга они работать не могут Если объяснил не досконально, напиши в ЛС скину готовые задания Попробуй - https://yadi.sk/d/l2TtjIg13Mbtdi Но не обещаю, что будет исправно работать
Имена участников (разделяйте запятой).