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

texport

Пользователи
  • Публикаций

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

  • Посещение

  • Отзывы

    0%

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

  1. Извините, прочитал не внимательно. А на форуме не закрываются темы после того как решение было предоставлено?
  2. Предлагаю вам помочь человеку, а не указывать на то, как я разговариваю и как "ввожу" в заблуждение. Спасибо.
  3. Спасибо за помощь, тогда процедура для сборки от команды JTS будет такая как я указал выше, не считая манипуляций с hexid файлом.
  4. Повторюсь, это минимальные системные требования для работоспособности сборки от этой команды, эти требования заявлены на их сайте. Все вопросы по реализации к ним. Можете сами ознакомится с ними, на их сайте.
  5. Ну либо вот таким образом можно еще. В любом случае, прежде чем открывать доступ игрокам к площадке нужно проверить применились изменения или нет. Я думаю что с блокированием трафика оптимальная штука на время тех. работ (если конечно же нет идентичной тестовой площадки).
  6. Здравствуйте. Если вопрос заключается только в том, что бы игроки 2 раза не наблюдали перезагрузку сервера, то: 1. отключаем отображения статуса логина(по необходимости)/гейм сервера, теперь у они в статусе оффлайн; на веб сайте 2. выключаем сервер логин/гейм сервер; 3. на уровне роутера закрываем доступ к портам логин/гейм сервера всем ip адресам кроме своего; 4. производим процедуру чистки баз данных; 5. проверяем все настройки и запускам сервера; 6. создаем своего персонажа и берем его objid из базы данных; 7. даем права администратора и перезапускаем гейм сервер; 8. снимаем все ограничения на роутере; 9. подключаем отображение статусов на веб сайте. 10. готово-)) Касательно отображения статусов на веб сайте, по желанию конечно-)
  7. Здравствуйте. На сайте этой команды заявленные минимальные требования для работоспособности сборки: CPU: 4 core RAM: 5 GB HDD: 20 GB. SAS/SSD it's desirable Теперь что касается самого онлайна, ниже привел требования для "свободного" онлайна 2500 - 3000 тысячи игроков: CPU: Intel® Xeon® E5-2620 RAM: 24 GB HDD: SAS/SSD, 80 GB, RAID-1 (можно рейд и производительней, если хватает кол-ва дисков) Ethernet: 200 Mb/s При запуске обращайте внимание на кол-во RAM, тип HDD, Ethernet. А так же не маловажный факт, на какой ОС все это будет работать и как настроена JVM, MySQL. Рекомендую вам использовать ОС Linux. Удачи в запуске)
  8. Привет, по сути нет разницы, ПО используется везде одно, только разные версии. Что касается именно JTS, нужно использовать jdk 1.8, mysql server в принципе последний актуальный. Сама процедура предстарта тоже идентичная с другими хрониками java эмуляторов. Подключаем сборку логин/гейм сервера к БД, загружаем sql таблицы, делаем hexid, запускаем.
  9. Привет, какой команды используете исходники?
  10. texport

    Патч Эпилог

    Здравствуйте уважаемы форумочане. Перерыл весь интернет, не могу найти рабочий чисты патч клиента Эпилог с фиксами для Win 10. Можете поделиться этим чудом?)
  11. texport

    L2Device

    +1 за возрождение!
  12. texport

    Enterthelair Antaras

    Задача CheckPlayerIsInCommandChannel запускается при входе на проверку, действительно ли персонаж в СС. А setAntharasSpawnTask спавнит Антараса. private static class CheckPlayerIsInCommandChannel extends RunnableImpl { private int _task = 0; private List<Player> _players = getPlayersInside(); @Override public void runImpl() { for(Player pc : _players) { // Если игрок не в группе и не в Командном Канале if(pc.getParty() == null || (pc.getParty() != null && pc.getParty().getCommandChannel() == null)) // То телепортируем в ближайший город pc.teleToClosestTown(); } } } public synchronized static void setAntharasSpawnTask() { if(_monsterSpawnTask == null) _monsterSpawnTask = ThreadPoolManager.getInstance().schedule(new AntharasSpawn(1), FWA_APPTIMEOFANTHARAS); //_entryLocked = true; }
  13. texport

    Enterthelair Antaras

    Ну тут я понимаю что проверяется на максимальное количество персонажей где getMemberCount() больше 200 говорит что много игроков, а getPlayersInside().size() проверяет сколько игроков уже внутри. А проверки на минимальное количество игроков я не вижу. Попробовал добавить следующее for(Player p : cc) { if (cc.getMemberCount() >= 4) { p.teleToLocation(TELEPORT_POSITION); _checkPlayer = ThreadPoolManager.getInstance().scheduleAtFixedDelay(new CheckPlayerIsInCommandChannel(), 1000, 1000); setAntharasSpawnTask(); } Как думаете, так норм?
  14. texport

    Enterthelair Antaras

    <set name="type" value="HeartOfWarding" /> Это тип этого NPC в папке sripts/npc/model/NpcTypeInstance.java где NpcTypeInstance = HeartOfWardingUnstance следующий код package npc.model; import l2ft.gameserver.model.Player; import l2ft.gameserver.model.instances.NpcInstance; import l2ft.gameserver.templates.npc.NpcTemplate; import bosses.AntharasManager; /** * @author pchayka */ public final class HeartOfWardingInstance extends NpcInstance { public HeartOfWardingInstance(int objectId, NpcTemplate template) { super(objectId, template); } @Override public void onBypassFeedback(Player player, String command) { if(!canBypassCheck(player, this)) return; if(command.equalsIgnoreCase("enter_lair")) { AntharasManager.enterTheLair(player); return; } else super.onBypassFeedback(player, command); } } где ясно сказано что выполнять нужно if(command.equalsIgnoreCase("enter_lair")) { AntharasManager.enterTheLair(player); return; } идём дальше, в AntharasManager, а именно в enterTheLair(player) public static void enterTheLair(Player player) { if(player == null) return; // Телепортироваться могут только ЦЦ, не знаю нужно ли но оставлю. if(player.getParty() == null || !player.getParty().isInCommandChannel()) { player.sendPacket(Msg.YOU_CANNOT_ENTER_BECAUSE_YOU_ARE_NOT_IN_A_CURRENT_COMMAND_CHANNEL); return; } CommandChannel cc = player.getParty().getCommandChannel(); if(cc.getChannelLeader() != player) { player.sendPacket(Msg.ONLY_THE_ALLIANCE_CHANNEL_LEADER_CAN_ATTEMPT_ENTRY); return; } if(cc.getMemberCount() > 200) { player.sendMessage("The maximum of 200 players can invade the Antharas Nest"); return; } if(getPlayersInside().size() > 200) { player.sendMessage("The maximum of 200 players can invade the Antharas Nest"); return; } if(_state.getState() != EpicBossState.State.NOTSPAWN) { player.sendMessage("Antharas is still reborning. You cannot invade the nest now"); return; } if(_entryLocked || _state.getState() == EpicBossState.State.ALIVE) { player.sendMessage("Antharas has already been reborned and is being attacked. The entrance is sealed."); return; } // checking every member of CC for the proper conditions for(Player p : cc) if(p.isDead() || p.isFlying() || p.isCursedWeaponEquipped() || p.getInventory().getCountOf(PORTAL_STONE) < 1 || !p.isInRange(player, 500)) { player.sendMessage("Command Channel member " + p.getName() + " doesn't meet the requirements to enter the nest"); return; } for(Player p : cc) p.teleToLocation(TELEPORT_POSITION); _checkPlayer = ThreadPoolManager.getInstance().scheduleAtFixedDelay(new CheckPlayerIsInCommandChannel(), 1000, 1000); setAntharasSpawnTask(); } Но я не вижу там где показано требуемое количество игроков или СС каналов для входа.
  15. texport

    Enterthelair Antaras

    !Heart of Warding: Доносится очень громкий голос, от которого дрожит все тело: <font color="LEVEL">Он был брошен с самого рождения.%% Его мать была обманута детьми.%% Он спустился на землю,%% Чтобы умерить ее гнев.Паломник Земли Тьмы!%% Как Вы смеете бросать вызов Антарасу?</font> (Бросить вызов Антарасу могут максимум 200 игроков.) [npc_%objectId%_enter_lair|Переместиться в Гнездо Антараса] вот что в HTML диалоге... Куда дальше следовать я не знаю...
  16. texport

    Enterthelair Antaras

    Появилась необходимость вывести в конфиг количество персонажей для входа к Тарасу и других Боссов. Но при попытке найти, нашёл только проверку на СС. Исходники Firts-Team, м.б. кто подскажет куда копать?
  17. спасибо за ответ, а можно ссылку дать на новый релиз?
  18. Здравствуйте. Решил проверить в действии защиту ftGuard. Начал поиски её исходного кода на форумах, нашёл... Вот ссылка. Далее, прилепил эту защиту к сборке Ftirst-Team, скомпилировал клиентскую часть, настроил конфиг FirstGuard.ini. При запуске игры все поля с пингом и т.д. отображаются, ошибок в ГС нет. Но возник следующий вопрос, что защита не полная. # Действия при обнаружении взлома клиента # 1 = kick, 2 = ban на указанное время, 3 - бан пожизненно "Тут пусто" Далее я пошёл в файл ftConfig.java { try { Properties guardSettings = new Properties(); InputStream is = new FileInputStream(fp); guardSettings.load(is); is.close(); _log.info("Loading First Guard configuration..."); GUARD_USE_DEFAULT_ENCODER = getBooleanProperty(guardSettings, "UseDefaultEncoder", false); SHOW_PROTECTION_INFO_IN_CLIENT = getBooleanProperty(guardSettings, "ShowProtectionInfoInClient", false); SHOW_NAME_SERVER_IN_CLIENT = getBooleanProperty(guardSettings, "ShowNameServerInfoInClient", false); SHOW_ONLINE_IN_CLIENT = getBooleanProperty(guardSettings, "ShowOnlineInClient", false); SHOW_SERVER_TIME_IN_CLIENT = getBooleanProperty(guardSettings, "ShowServerTimeInClient", false); SHOW_REAL_TIME_IN_CLIENT = getBooleanProperty(guardSettings, "ShowRealTimeInClient", false); SHOW_PING_IN_CLIENT = getBooleanProperty(guardSettings, "ShowPingInClient", false); TIME_REFRESH_SPECIAL_STRING = getLongProperty(guardSettings, "TimeRefreshStringToClient", 1000); NameServerInfoInClient = getProperty(guardSettings, "NameServerInfoInClient", "Test"); PositionXProtectionInfoInClient = getIntProperty(guardSettings, "PositionXProtectionInfoInClient", 320); PositionYProtectionInfoInClient = getIntProperty(guardSettings, "PositionYProtectionInfoInClient", 10); PositionXNameServerInfoInClient = getIntProperty(guardSettings, "PositionXNameServerInfoInClient", 320); PositionYNameServerInfoInClient = getIntProperty(guardSettings, "PositionYNameServerInfoInClient", 25); PositionXOnlineInClient = getIntProperty(guardSettings, "PositionXOnlineInClient", 320); PositionYOnlineInClient = getIntProperty(guardSettings, "PositionYOnlineInClient", 40); PositionXServerTimeInClient = getIntProperty(guardSettings, "PositionXServerTimeInClient", 320); PositionYServerTimeInClient = getIntProperty(guardSettings, "PositionYServerTimeInClient", 55); PositionXRealTimeInClient = getIntProperty(guardSettings, "PositionXRealTimeInClient", 320); PositionYRealTimeInClient = getIntProperty(guardSettings, "PositionYRealTimeInClient", 70); PositionXPingInClient = getIntProperty(guardSettings, "PositionXPingInClient", 320); PositionYPingInClient = getIntProperty(guardSettings, "PositionYPingInClient", 85); ColorProtectionInfoInClient = getIntHexProperty(guardSettings, "ColorProtectionInfoInClient", 0xFF00FF00); ColorNameServerInfoInClient = getIntHexProperty(guardSettings, "ColorNameServerInfoInClient", 0xFF00FF00); ColorOnlineInClient = getIntHexProperty(guardSettings, "ColorOnlineInClient", 0xFF00FF00); ColorServerTimeInClient = getIntHexProperty(guardSettings, "ColorServerTimeInClient", 0xFF00FF00); ColorRealTimeInClient = getIntHexProperty(guardSettings, "ColorRealTimeInClient", 0xFF00FF00); ColorPingInClient = getIntHexProperty(guardSettings, "ColorPingInClient", 0xFF00FF00); GET_CLIENT_HWID = getIntProperty(guardSettings, "UseClientHWID", 2); ALLOW_SEND_GG_REPLY = getBooleanProperty(guardSettings, "AllowSendGGReply", false); TIME_SEND_GG_REPLY = getLongProperty(guardSettings, "TimeSendGGReply", 10000); String key_client = "GOGX2_RB(]Slnjt15~EgyqTv%[$YR]!1E~ayK?$9[R%%m4{zoMF$D?f:zvS2q&>~"; String key_server = "b*qR43<9J1pD>Q4Uns6FsKao~VbU0H]y`A0ytTveiWn)SuSYsM?m*eblL!pwza!t"; byte[] key = key_client.getBytes(); byte[] tmp = new byte[32]; System.arraycopy(key, 0, tmp, 0, 32); GUARD_CLIENT_CRYPT_KEY = FirstKey.expandKey(tmp, 32); System.arraycopy(key, 32, tmp, 0, 32); GUARD_CLIENT_CRYPT = FirstKey.expandKey(tmp, 32); } catch(Exception e) { e.printStackTrace(); } } В этом файле ни одного слова про бан небыло. Далее решил посмотреть в файле ftGuard.java public static void Init() { ftConfig.load(); if(isProtectionOn()) {_log.info("************[ Protection System: Start Loading ]*************"); // HwidBan.getInstance(); // HwidManager.getInstance(); // ProtectManager.getInstance(); // AdminCommandHandler.getInstance().registerAdminCommandHandler(new AdminHWID()); _log.info("************[ Protection System: Finish Loading ]*************"); _log.info("************[ Protection System: First Guard ON ]*************");} } Обнаружил закомментированные строки. Теперь вопрос, есть ли у населения этого форума полные исходники этой защиты? Или, помогите пожалуйста с добавлением бана.
×
×
  • Создать...