diff --git a/L2J_Mobius_07.0_PreludeOfWar/.classpath b/L2J_Mobius_07.0_PreludeOfWar/.classpath index 0e8f659ab1..6914cd3b60 100644 --- a/L2J_Mobius_07.0_PreludeOfWar/.classpath +++ b/L2J_Mobius_07.0_PreludeOfWar/.classpath @@ -7,11 +7,6 @@ - - - - - diff --git a/L2J_Mobius_07.0_PreludeOfWar/dist/game/config/Server.ini b/L2J_Mobius_07.0_PreludeOfWar/dist/game/config/Server.ini index 8d1874d0c6..7bba8107ef 100644 --- a/L2J_Mobius_07.0_PreludeOfWar/dist/game/config/Server.ini +++ b/L2J_Mobius_07.0_PreludeOfWar/dist/game/config/Server.ini @@ -31,6 +31,49 @@ GameserverHostname = 0.0.0.0 # Default: 7777 GameserverPort = 7777 +# Client pool size for reading client packets. +# Each pool is executed on a separate thread. +# Default: 100 +ClientReadPoolSize = 100 + +# Client pool size for executing client packets. +# Each pool is executed on a separate thread. +# Default: 50 +ClientExecutePoolSize = 50 + +# Expected client packet count queued by the server. +# Default: 80 +PacketQueueLimit = 80 + +# Disconnect client when queue has reached the queue packet limit. +# Default: False +PacketFloodDisconnect = False + +# Drop packets when queue has reached the queue packet limit. +# Default: False +PacketFloodDrop = False + +# Log message when queue has reached the queue packet limit. +# Default: True +PacketFloodLogged = True + +# Nagle's algorithm tries to conserve bandwidth by minimizing the number of segments that are sent. +# When applications wish to decrease network latency, they can disable Nagle's algorithm (by enabling TcpNoDelay). +# Data will be sent earlier, at the cost of an increase in bandwidth consumption. +# Default: True (disabled) +TcpNoDelay = True + +# Connection timeout in milliseconds. +# Default 800 +ConnectionTimeout = 800 + +# Packet encryption. +# By default packets sent or received are encrypted using the Blowfish algorithm. +# Disabling this reduces the resources needed to process any packets transfered, +# also broadcasted packets do not need to be re-encrypted for each client sent. +# Retail: True +PacketEncryption = False + # --------------------------------------------------------------------------- # Database @@ -138,8 +181,11 @@ InstantThreadPoolCount = -1 # Specifies how many threads will be in a single instant pool. ThreadsPerInstantThreadPool = 2 -# Urgent packet thread core size. -UrgentPacketThreadCoreSize = -1 +# Use threads to run client packets individually. +# Less lag when using threads, but more CPU consumption. +# Can try disabling it when server is highly populated and CPU is high. +# Default: True +ThreadsForClientPackets = True # Use threads to decrease startup time. # Default: False diff --git a/L2J_Mobius_07.0_PreludeOfWar/dist/game/config/Telnet.ini b/L2J_Mobius_07.0_PreludeOfWar/dist/game/config/Telnet.ini deleted file mode 100644 index 318e972c69..0000000000 --- a/L2J_Mobius_07.0_PreludeOfWar/dist/game/config/Telnet.ini +++ /dev/null @@ -1,31 +0,0 @@ -# --------------------------------------------------------------------------- -# Telnet Settings -# --------------------------------------------------------------------------- -# The defaults are set to be retail-like. If you modify any of these settings your server will deviate from being retail-like. -# Warning: -# Please take extreme caution when changing anything. Also please understand what you are changing before you do so on a live server. -# --------------------------------------------------------------------------- -# Allows text based monitoring and administration of L2J GS -# by using a telnet client. Communication protocol is insecure -# and you should use SSL tunnels, VPN, etc. if you plan to connect -# over non-trusted channels. -# Default: False -EnableTelnet = False - -# This is the hostname address on which telnet server will be listening. -# Note for all adapters use: * -# Default: 127.0.0.1 -BindAddress = 127.0.0.1 - -# This is the port L2J should listen to for incoming telnet -# requests. -# Default: 54321 -Port = 54321 - -# If the following is not set, a random password is generated on server startup. -Password = somepassword - -# This list can contain IPs or Hosts of clients you wish to allow. Hostnames must be resolvable to an IP. -# Example: 0.0.0.0,host,0.0.0.1,host2,host3,host4,0.0.0.3 -# Default: 127.0.0.1,localhost,::1 -ListOfHosts = 127.0.0.1,localhost,::1 \ No newline at end of file diff --git a/L2J_Mobius_07.0_PreludeOfWar/dist/game/data/scripts/ai/bosses/Frintezza/LastImperialTomb.java b/L2J_Mobius_07.0_PreludeOfWar/dist/game/data/scripts/ai/bosses/Frintezza/LastImperialTomb.java index 059012f684..818174d1ce 100644 --- a/L2J_Mobius_07.0_PreludeOfWar/dist/game/data/scripts/ai/bosses/Frintezza/LastImperialTomb.java +++ b/L2J_Mobius_07.0_PreludeOfWar/dist/game/data/scripts/ai/bosses/Frintezza/LastImperialTomb.java @@ -33,10 +33,10 @@ import org.l2jmobius.gameserver.model.skill.Skill; import org.l2jmobius.gameserver.network.NpcStringId; import org.l2jmobius.gameserver.network.serverpackets.Earthquake; import org.l2jmobius.gameserver.network.serverpackets.ExShowScreenMessage; -import org.l2jmobius.gameserver.network.serverpackets.IClientOutgoingPacket; import org.l2jmobius.gameserver.network.serverpackets.MagicSkillCanceld; import org.l2jmobius.gameserver.network.serverpackets.MagicSkillUse; import org.l2jmobius.gameserver.network.serverpackets.NpcInfo; +import org.l2jmobius.gameserver.network.serverpackets.ServerPacket; import org.l2jmobius.gameserver.network.serverpackets.SocialAction; import org.l2jmobius.gameserver.network.serverpackets.SpecialCamera; @@ -879,7 +879,7 @@ public class LastImperialTomb extends AbstractInstance } } - void broadcastPacket(Instance world, IClientOutgoingPacket packet) + void broadcastPacket(Instance world, ServerPacket packet) { for (Player player : world.getPlayers()) { @@ -890,7 +890,7 @@ public class LastImperialTomb extends AbstractInstance } } - private void sendPacketX(Instance world, IClientOutgoingPacket packet1, IClientOutgoingPacket packet2, int x) + private void sendPacketX(Instance world, ServerPacket packet1, ServerPacket packet2, int x) { for (Player player : world.getPlayers()) { diff --git a/L2J_Mobius_07.0_PreludeOfWar/dist/game/data/scripts/ai/bosses/Lindvior/Lindvior.java b/L2J_Mobius_07.0_PreludeOfWar/dist/game/data/scripts/ai/bosses/Lindvior/Lindvior.java index 32dc16c33f..82e030314e 100644 --- a/L2J_Mobius_07.0_PreludeOfWar/dist/game/data/scripts/ai/bosses/Lindvior/Lindvior.java +++ b/L2J_Mobius_07.0_PreludeOfWar/dist/game/data/scripts/ai/bosses/Lindvior/Lindvior.java @@ -52,8 +52,8 @@ import org.l2jmobius.gameserver.network.NpcStringId; import org.l2jmobius.gameserver.network.serverpackets.Earthquake; import org.l2jmobius.gameserver.network.serverpackets.ExSendUIEvent; import org.l2jmobius.gameserver.network.serverpackets.ExShowScreenMessage; -import org.l2jmobius.gameserver.network.serverpackets.IClientOutgoingPacket; import org.l2jmobius.gameserver.network.serverpackets.OnEventTrigger; +import org.l2jmobius.gameserver.network.serverpackets.ServerPacket; import org.l2jmobius.gameserver.network.serverpackets.SocialAction; import org.l2jmobius.gameserver.network.serverpackets.SpecialCamera; import org.l2jmobius.gameserver.util.Broadcast; @@ -910,12 +910,12 @@ public class Lindvior extends AbstractNpcAI private void sendEventTrigger(boolean status, int... triggers) { - IClientOutgoingPacket[] pakets = new IClientOutgoingPacket[triggers.length]; + final ServerPacket[] packets = new ServerPacket[triggers.length]; for (int i = 0; i < triggers.length; i++) { - pakets[i] = new OnEventTrigger(triggers[i], status); + packets[i] = new OnEventTrigger(triggers[i], status); } - for (IClientOutgoingPacket packet : pakets) + for (ServerPacket packet : packets) { _zoneLair.broadcastPacket(packet); } diff --git a/L2J_Mobius_07.0_PreludeOfWar/dist/game/data/scripts/handlers/MasterHandler.java b/L2J_Mobius_07.0_PreludeOfWar/dist/game/data/scripts/handlers/MasterHandler.java index bf491fe60e..1cad4aba72 100644 --- a/L2J_Mobius_07.0_PreludeOfWar/dist/game/data/scripts/handlers/MasterHandler.java +++ b/L2J_Mobius_07.0_PreludeOfWar/dist/game/data/scripts/handlers/MasterHandler.java @@ -39,7 +39,6 @@ import org.l2jmobius.gameserver.handler.PunishmentHandler; import org.l2jmobius.gameserver.handler.TargetHandler; import org.l2jmobius.gameserver.handler.UserCommandHandler; import org.l2jmobius.gameserver.handler.VoicedCommandHandler; -import org.l2jmobius.gameserver.network.telnet.TelnetServer; import handlers.actionhandlers.ArtefactAction; import handlers.actionhandlers.DecoyAction; @@ -292,30 +291,6 @@ import handlers.targethandlers.affectscope.Square; import handlers.targethandlers.affectscope.SquarePB; import handlers.targethandlers.affectscope.StaticObjectScope; import handlers.targethandlers.affectscope.SummonExceptMaster; -import handlers.telnethandlers.chat.Announce; -import handlers.telnethandlers.chat.GMChat; -import handlers.telnethandlers.chat.Msg; -import handlers.telnethandlers.player.AccessLevel; -import handlers.telnethandlers.player.Ban; -import handlers.telnethandlers.player.BanChat; -import handlers.telnethandlers.player.Enchant; -import handlers.telnethandlers.player.GMList; -import handlers.telnethandlers.player.Give; -import handlers.telnethandlers.player.Jail; -import handlers.telnethandlers.player.Kick; -import handlers.telnethandlers.player.SendMail; -import handlers.telnethandlers.player.Unban; -import handlers.telnethandlers.player.UnbanChat; -import handlers.telnethandlers.player.Unjail; -import handlers.telnethandlers.server.ForceGC; -import handlers.telnethandlers.server.Memusage; -import handlers.telnethandlers.server.Performance; -import handlers.telnethandlers.server.Purge; -import handlers.telnethandlers.server.Reload; -import handlers.telnethandlers.server.ServerAbort; -import handlers.telnethandlers.server.ServerRestart; -import handlers.telnethandlers.server.ServerShutdown; -import handlers.telnethandlers.server.Status; import handlers.usercommandhandlers.ChannelDelete; import handlers.usercommandhandlers.ChannelInfo; import handlers.usercommandhandlers.ChannelLeave; @@ -735,35 +710,6 @@ public class MasterHandler } } - if (Config.TELNET_ENABLED) - { - TelnetServer.getInstance().addHandler(new Announce()); - TelnetServer.getInstance().addHandler(new GMChat()); - TelnetServer.getInstance().addHandler(new Msg()); - TelnetServer.getInstance().addHandler(new AccessLevel()); - TelnetServer.getInstance().addHandler(new Ban()); - TelnetServer.getInstance().addHandler(new BanChat()); - TelnetServer.getInstance().addHandler(new Enchant()); - TelnetServer.getInstance().addHandler(new Give()); - TelnetServer.getInstance().addHandler(new GMList()); - TelnetServer.getInstance().addHandler(new Jail()); - TelnetServer.getInstance().addHandler(new Kick()); - TelnetServer.getInstance().addHandler(new Unban()); - TelnetServer.getInstance().addHandler(new UnbanChat()); - TelnetServer.getInstance().addHandler(new Unjail()); - TelnetServer.getInstance().addHandler(new ForceGC()); - TelnetServer.getInstance().addHandler(new Memusage()); - TelnetServer.getInstance().addHandler(new Performance()); - TelnetServer.getInstance().addHandler(new Purge()); - TelnetServer.getInstance().addHandler(new Reload()); - TelnetServer.getInstance().addHandler(new SendMail()); - TelnetServer.getInstance().addHandler(new ServerAbort()); - TelnetServer.getInstance().addHandler(new ServerRestart()); - TelnetServer.getInstance().addHandler(new ServerShutdown()); - TelnetServer.getInstance().addHandler(new Status()); - TelnetServer.getInstance().addHandler(new handlers.telnethandlers.server.Debug()); - } - for (IHandler loadInstance : LOAD_INSTANCES) { LOGGER.info(loadInstance.getClass().getSimpleName() + ": Loaded " + loadInstance.size() + " handlers."); diff --git a/L2J_Mobius_07.0_PreludeOfWar/dist/game/data/scripts/handlers/admincommandhandlers/AdminEditChar.java b/L2J_Mobius_07.0_PreludeOfWar/dist/game/data/scripts/handlers/admincommandhandlers/AdminEditChar.java index 3145055c22..fe84f8cfe1 100644 --- a/L2J_Mobius_07.0_PreludeOfWar/dist/game/data/scripts/handlers/admincommandhandlers/AdminEditChar.java +++ b/L2J_Mobius_07.0_PreludeOfWar/dist/game/data/scripts/handlers/admincommandhandlers/AdminEditChar.java @@ -1162,7 +1162,7 @@ public class AdminEditChar implements IAdminCommandHandler } else { - ip = client.getConnectionAddress().getHostAddress(); + ip = client.getIp(); } final NpcHtmlMessage adminReply = new NpcHtmlMessage(0, 1); @@ -1372,7 +1372,7 @@ public class AdminEditChar implements IAdminCommandHandler continue; } - ip = client.getConnectionAddress().getHostAddress(); + ip = client.getIp(); if (!ip.equals(ipAdress)) { continue; @@ -1466,7 +1466,7 @@ public class AdminEditChar implements IAdminCommandHandler continue; } - ip = client.getConnectionAddress().getHostAddress(); + ip = client.getIp(); if (ipMap.get(ip) == null) { ipMap.put(ip, new ArrayList<>()); @@ -1519,7 +1519,7 @@ public class AdminEditChar implements IAdminCommandHandler continue; } - final IpPack pack = new IpPack(client.getConnectionAddress().getHostAddress(), client.getTrace()); + final IpPack pack = new IpPack(client.getIp(), client.getTrace()); if (ipMap.get(pack) == null) { ipMap.put(pack, new ArrayList<>()); diff --git a/L2J_Mobius_07.0_PreludeOfWar/dist/game/data/scripts/handlers/admincommandhandlers/AdminEffects.java b/L2J_Mobius_07.0_PreludeOfWar/dist/game/data/scripts/handlers/admincommandhandlers/AdminEffects.java index 91038bc7e6..2ae1b5abfe 100644 --- a/L2J_Mobius_07.0_PreludeOfWar/dist/game/data/scripts/handlers/admincommandhandlers/AdminEffects.java +++ b/L2J_Mobius_07.0_PreludeOfWar/dist/game/data/scripts/handlers/admincommandhandlers/AdminEffects.java @@ -38,11 +38,11 @@ import org.l2jmobius.gameserver.network.SystemMessageId; import org.l2jmobius.gameserver.network.serverpackets.Earthquake; import org.l2jmobius.gameserver.network.serverpackets.ExRedSky; import org.l2jmobius.gameserver.network.serverpackets.ExUserInfoAbnormalVisualEffect; -import org.l2jmobius.gameserver.network.serverpackets.IClientOutgoingPacket; import org.l2jmobius.gameserver.network.serverpackets.MagicSkillUse; import org.l2jmobius.gameserver.network.serverpackets.NpcHtmlMessage; import org.l2jmobius.gameserver.network.serverpackets.OnEventTrigger; import org.l2jmobius.gameserver.network.serverpackets.PlaySound; +import org.l2jmobius.gameserver.network.serverpackets.ServerPacket; import org.l2jmobius.gameserver.network.serverpackets.SocialAction; import org.l2jmobius.gameserver.network.serverpackets.SunRise; import org.l2jmobius.gameserver.network.serverpackets.SunSet; @@ -717,7 +717,7 @@ public class AdminEffects implements IAdminCommandHandler */ private void adminAtmosphere(String type, String state, int duration, Player activeChar) { - IClientOutgoingPacket packet = null; + ServerPacket packet = null; if (type.equals("sky")) { if (state.equals("night")) diff --git a/L2J_Mobius_07.0_PreludeOfWar/dist/game/data/scripts/handlers/telnethandlers/chat/Announce.java b/L2J_Mobius_07.0_PreludeOfWar/dist/game/data/scripts/handlers/telnethandlers/chat/Announce.java deleted file mode 100644 index 4fd4996298..0000000000 --- a/L2J_Mobius_07.0_PreludeOfWar/dist/game/data/scripts/handlers/telnethandlers/chat/Announce.java +++ /dev/null @@ -1,56 +0,0 @@ -/* - * This file is part of the L2J Mobius project. - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -package handlers.telnethandlers.chat; - -import org.l2jmobius.gameserver.network.telnet.ITelnetCommand; -import org.l2jmobius.gameserver.util.Broadcast; - -import io.netty.channel.ChannelHandlerContext; - -/** - * @author UnAfraid - */ -public class Announce implements ITelnetCommand -{ - @Override - public String getCommand() - { - return "announce"; - } - - @Override - public String getUsage() - { - return "Announce "; - } - - @Override - public String handle(ChannelHandlerContext ctx, String[] args) - { - if ((args.length == 0) || args[0].isEmpty()) - { - return null; - } - final StringBuilder sb = new StringBuilder(); - for (String str : args) - { - sb.append(str + " "); - } - Broadcast.toAllOnlinePlayers(sb.toString()); - return "Announcement sent!"; - } -} diff --git a/L2J_Mobius_07.0_PreludeOfWar/dist/game/data/scripts/handlers/telnethandlers/chat/GMChat.java b/L2J_Mobius_07.0_PreludeOfWar/dist/game/data/scripts/handlers/telnethandlers/chat/GMChat.java deleted file mode 100644 index 0961785c94..0000000000 --- a/L2J_Mobius_07.0_PreludeOfWar/dist/game/data/scripts/handlers/telnethandlers/chat/GMChat.java +++ /dev/null @@ -1,58 +0,0 @@ -/* - * This file is part of the L2J Mobius project. - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -package handlers.telnethandlers.chat; - -import org.l2jmobius.gameserver.data.xml.AdminData; -import org.l2jmobius.gameserver.enums.ChatType; -import org.l2jmobius.gameserver.network.serverpackets.CreatureSay; -import org.l2jmobius.gameserver.network.telnet.ITelnetCommand; - -import io.netty.channel.ChannelHandlerContext; - -/** - * @author UnAfraid - */ -public class GMChat implements ITelnetCommand -{ - @Override - public String getCommand() - { - return "gmchat"; - } - - @Override - public String getUsage() - { - return "Gmchat "; - } - - @Override - public String handle(ChannelHandlerContext ctx, String[] args) - { - if ((args.length == 0) || args[0].isEmpty()) - { - return null; - } - final StringBuilder sb = new StringBuilder(); - for (String str : args) - { - sb.append(str + " "); - } - AdminData.getInstance().broadcastToGMs(new CreatureSay(null, ChatType.ALLIANCE, "Telnet GM Broadcast", sb.toString())); - return "GMChat sent!"; - } -} diff --git a/L2J_Mobius_07.0_PreludeOfWar/dist/game/data/scripts/handlers/telnethandlers/chat/Msg.java b/L2J_Mobius_07.0_PreludeOfWar/dist/game/data/scripts/handlers/telnethandlers/chat/Msg.java deleted file mode 100644 index 8caa7d04e1..0000000000 --- a/L2J_Mobius_07.0_PreludeOfWar/dist/game/data/scripts/handlers/telnethandlers/chat/Msg.java +++ /dev/null @@ -1,64 +0,0 @@ -/* - * This file is part of the L2J Mobius project. - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -package handlers.telnethandlers.chat; - -import org.l2jmobius.gameserver.enums.ChatType; -import org.l2jmobius.gameserver.model.World; -import org.l2jmobius.gameserver.model.actor.Player; -import org.l2jmobius.gameserver.network.serverpackets.CreatureSay; -import org.l2jmobius.gameserver.network.telnet.ITelnetCommand; - -import io.netty.channel.ChannelHandlerContext; - -/** - * @author UnAfraid - */ -public class Msg implements ITelnetCommand -{ - @Override - public String getCommand() - { - return "msg"; - } - - @Override - public String getUsage() - { - return "Msg "; - } - - @Override - public String handle(ChannelHandlerContext ctx, String[] args) - { - if ((args.length < 2) || args[0].isEmpty()) - { - return null; - } - final Player player = World.getInstance().getPlayer(args[0]); - if (player != null) - { - final StringBuilder sb = new StringBuilder(); - for (int i = 1; i < args.length; i++) - { - sb.append(args[i] + " "); - } - player.sendPacket(new CreatureSay(null, ChatType.WHISPER, "Telnet Priv", sb.toString())); - return "Announcement sent!"; - } - return "Couldn't find player with such name."; - } -} diff --git a/L2J_Mobius_07.0_PreludeOfWar/dist/game/data/scripts/handlers/telnethandlers/player/AccessLevel.java b/L2J_Mobius_07.0_PreludeOfWar/dist/game/data/scripts/handlers/telnethandlers/player/AccessLevel.java deleted file mode 100644 index 1a433b1d5b..0000000000 --- a/L2J_Mobius_07.0_PreludeOfWar/dist/game/data/scripts/handlers/telnethandlers/player/AccessLevel.java +++ /dev/null @@ -1,59 +0,0 @@ -/* - * This file is part of the L2J Mobius project. - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -package handlers.telnethandlers.player; - -import org.l2jmobius.gameserver.model.World; -import org.l2jmobius.gameserver.model.actor.Player; -import org.l2jmobius.gameserver.network.telnet.ITelnetCommand; -import org.l2jmobius.gameserver.util.Util; - -import io.netty.channel.ChannelHandlerContext; - -/** - * @author UnAfraid - */ -public class AccessLevel implements ITelnetCommand -{ - @Override - public String getCommand() - { - return "accesslevel"; - } - - @Override - public String getUsage() - { - return "AccessLevel "; - } - - @Override - public String handle(ChannelHandlerContext ctx, String[] args) - { - if ((args.length < 2) || args[0].isEmpty() || !Util.isDigit(args[1])) - { - return null; - } - final Player player = World.getInstance().getPlayer(args[0]); - if (player != null) - { - final int level = Integer.parseInt(args[1]); - player.setAccessLevel(level, true, true); - return "Player " + player.getName() + "'s access level has been changed to: " + level; - } - return "Couldn't find player with such name."; - } -} diff --git a/L2J_Mobius_07.0_PreludeOfWar/dist/game/data/scripts/handlers/telnethandlers/player/Ban.java b/L2J_Mobius_07.0_PreludeOfWar/dist/game/data/scripts/handlers/telnethandlers/player/Ban.java deleted file mode 100644 index 3dd1cdc97d..0000000000 --- a/L2J_Mobius_07.0_PreludeOfWar/dist/game/data/scripts/handlers/telnethandlers/player/Ban.java +++ /dev/null @@ -1,84 +0,0 @@ -/* - * This file is part of the L2J Mobius project. - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -package handlers.telnethandlers.player; - -import org.l2jmobius.gameserver.data.sql.CharNameTable; -import org.l2jmobius.gameserver.instancemanager.PunishmentManager; -import org.l2jmobius.gameserver.model.punishment.PunishmentAffect; -import org.l2jmobius.gameserver.model.punishment.PunishmentTask; -import org.l2jmobius.gameserver.model.punishment.PunishmentType; -import org.l2jmobius.gameserver.network.telnet.ITelnetCommand; -import org.l2jmobius.gameserver.util.Util; - -import io.netty.channel.ChannelHandlerContext; - -/** - * @author UnAfraid - */ -public class Ban implements ITelnetCommand -{ - @Override - public String getCommand() - { - return "ban"; - } - - @Override - public String getUsage() - { - return "Ban [time in minutes]"; - } - - @Override - public String handle(ChannelHandlerContext ctx, String[] args) - { - if ((args.length == 0) || args[0].isEmpty()) - { - return null; - } - final int objectId = CharNameTable.getInstance().getIdByName(args[0]); - if (objectId > 0) - { - if (PunishmentManager.getInstance().hasPunishment(objectId, PunishmentAffect.CHARACTER, PunishmentType.BAN)) - { - return "Player is already banned."; - } - long time = -1; - String reason = "You have been banned by telnet admin."; - if (args.length > 1) - { - final String token = args[1]; - if (Util.isDigit(token)) - { - time = Integer.parseInt(token) * 60 * 1000; - time += System.currentTimeMillis(); - } - if (args.length > 2) - { - reason = args[2]; - for (int i = 3; i < args.length; i++) - { - reason += " " + args[i]; - } - } - } - PunishmentManager.getInstance().startPunishment(new PunishmentTask(objectId, PunishmentAffect.CHARACTER, PunishmentType.BAN, time, reason, "Telnet Admin")); - return "Player has been successfully banned."; - } - return "Couldn't find player with such name."; - } -} diff --git a/L2J_Mobius_07.0_PreludeOfWar/dist/game/data/scripts/handlers/telnethandlers/player/BanChat.java b/L2J_Mobius_07.0_PreludeOfWar/dist/game/data/scripts/handlers/telnethandlers/player/BanChat.java deleted file mode 100644 index f653561c0d..0000000000 --- a/L2J_Mobius_07.0_PreludeOfWar/dist/game/data/scripts/handlers/telnethandlers/player/BanChat.java +++ /dev/null @@ -1,84 +0,0 @@ -/* - * This file is part of the L2J Mobius project. - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -package handlers.telnethandlers.player; - -import org.l2jmobius.gameserver.data.sql.CharNameTable; -import org.l2jmobius.gameserver.instancemanager.PunishmentManager; -import org.l2jmobius.gameserver.model.punishment.PunishmentAffect; -import org.l2jmobius.gameserver.model.punishment.PunishmentTask; -import org.l2jmobius.gameserver.model.punishment.PunishmentType; -import org.l2jmobius.gameserver.network.telnet.ITelnetCommand; -import org.l2jmobius.gameserver.util.Util; - -import io.netty.channel.ChannelHandlerContext; - -/** - * @author lion - */ -public class BanChat implements ITelnetCommand -{ - @Override - public String getCommand() - { - return "ban_chat"; - } - - @Override - public String getUsage() - { - return "ban_chat [time in minutes]"; - } - - @Override - public String handle(ChannelHandlerContext ctx, String[] args) - { - if ((args.length == 0) || args[0].isEmpty()) - { - return null; - } - final int objectId = CharNameTable.getInstance().getIdByName(args[0]); - if (objectId > 0) - { - if (PunishmentManager.getInstance().hasPunishment(objectId, PunishmentAffect.CHARACTER, PunishmentType.CHAT_BAN)) - { - return "Player is already chat banned."; - } - long time = -1; - String reason = "Your chat have been banned by telnet admin."; - if (args.length > 1) - { - final String token = args[1]; - if (Util.isDigit(token)) - { - time = Integer.parseInt(token) * 60 * 1000; - time += System.currentTimeMillis(); - } - if (args.length > 2) - { - reason = args[2]; - for (int i = 3; i < args.length; i++) - { - reason += " " + args[i]; - } - } - } - PunishmentManager.getInstance().startPunishment(new PunishmentTask(objectId, PunishmentAffect.CHARACTER, PunishmentType.CHAT_BAN, time, reason, "Telnet Admin")); - return "Player has been successfully banned."; - } - return "Couldn't find player with such name."; - } -} diff --git a/L2J_Mobius_07.0_PreludeOfWar/dist/game/data/scripts/handlers/telnethandlers/player/Enchant.java b/L2J_Mobius_07.0_PreludeOfWar/dist/game/data/scripts/handlers/telnethandlers/player/Enchant.java deleted file mode 100644 index 066891e2dd..0000000000 --- a/L2J_Mobius_07.0_PreludeOfWar/dist/game/data/scripts/handlers/telnethandlers/player/Enchant.java +++ /dev/null @@ -1,198 +0,0 @@ -/* - * This file is part of the L2J Mobius project. - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -package handlers.telnethandlers.player; - -import org.l2jmobius.gameserver.model.World; -import org.l2jmobius.gameserver.model.actor.Player; -import org.l2jmobius.gameserver.model.item.instance.Item; -import org.l2jmobius.gameserver.model.itemcontainer.Inventory; -import org.l2jmobius.gameserver.network.serverpackets.InventoryUpdate; -import org.l2jmobius.gameserver.network.telnet.ITelnetCommand; -import org.l2jmobius.gameserver.util.GMAudit; -import org.l2jmobius.gameserver.util.Util; - -import io.netty.channel.ChannelHandlerContext; - -/** - * @author UnAfraid - */ -public class Enchant implements ITelnetCommand -{ - @Override - public String getCommand() - { - return "enchant"; - } - - @Override - public String getUsage() - { - return "Enchant [item amount] [item enchant]"; - } - - @Override - public String handle(ChannelHandlerContext ctx, String[] args) - { - if ((args.length < 3) || args[0].isEmpty() || !Util.isDigit(args[1]) || !Util.isDigit(args[2])) - { - return null; - } - final Player player = World.getInstance().getPlayer(args[0]); - if (player != null) - { - int itemType = Integer.parseInt(args[1]); - int enchant = Integer.parseInt(args[2]); - enchant = Math.min(enchant, 127); - enchant = Math.max(enchant, 0); - - switch (itemType) - { - case 1: - { - itemType = Inventory.PAPERDOLL_HEAD; - break; - } - case 2: - { - itemType = Inventory.PAPERDOLL_CHEST; - break; - } - case 3: - { - itemType = Inventory.PAPERDOLL_GLOVES; - break; - } - case 4: - { - itemType = Inventory.PAPERDOLL_FEET; - break; - } - case 5: - { - itemType = Inventory.PAPERDOLL_LEGS; - break; - } - case 6: - { - itemType = Inventory.PAPERDOLL_RHAND; - break; - } - case 7: - { - itemType = Inventory.PAPERDOLL_LHAND; - break; - } - case 8: - { - itemType = Inventory.PAPERDOLL_LEAR; - break; - } - case 9: - { - itemType = Inventory.PAPERDOLL_REAR; - break; - } - case 10: - { - itemType = Inventory.PAPERDOLL_LFINGER; - break; - } - case 11: - { - itemType = Inventory.PAPERDOLL_RFINGER; - break; - } - case 12: - { - itemType = Inventory.PAPERDOLL_NECK; - break; - } - case 13: - { - itemType = Inventory.PAPERDOLL_UNDER; - break; - } - case 14: - { - itemType = Inventory.PAPERDOLL_CLOAK; - break; - } - case 15: - { - itemType = Inventory.PAPERDOLL_BELT; - break; - } - default: - { - itemType = 0; - break; - } - } - final boolean success = setEnchant(player, enchant, itemType); - return success ? "Item has been successfully enchanted." : "Failed to enchant player's item!"; - } - return "Couldn't find player with such name."; - } - - private boolean setEnchant(Player player, int ench, int armorType) - { - // now we need to find the equipped weapon of the targeted character... - int curEnchant = 0; // display purposes only - Item itemInstance = null; - - // only attempt to enchant if there is a weapon equipped - Item parmorInstance = player.getInventory().getPaperdollItem(armorType); - if ((parmorInstance != null) && (parmorInstance.getLocationSlot() == armorType)) - { - itemInstance = parmorInstance; - } - else - { - // for bows/crossbows and double handed weapons - parmorInstance = player.getInventory().getPaperdollItem(Inventory.PAPERDOLL_RHAND); - if ((parmorInstance != null) && (parmorInstance.getLocationSlot() == Inventory.PAPERDOLL_RHAND)) - { - itemInstance = parmorInstance; - } - } - - if (itemInstance != null) - { - curEnchant = itemInstance.getEnchantLevel(); - - // set enchant value - player.getInventory().unEquipItemInSlot(armorType); - itemInstance.setEnchantLevel(ench); - player.getInventory().equipItem(itemInstance); - - // send packets - final InventoryUpdate iu = new InventoryUpdate(); - iu.addModifiedItem(itemInstance); - player.sendPacket(iu); - player.broadcastUserInfo(); - - // informations - player.sendMessage("Changed enchantment of " + player.getName() + "'s " + itemInstance.getTemplate().getName() + " from " + curEnchant + " to " + ench + "."); - player.sendMessage("Admin has changed the enchantment of your " + itemInstance.getTemplate().getName() + " from " + curEnchant + " to " + ench + "."); - - // log - GMAudit.auditGMAction("TelnetAdmin", "enchant", player.getName(), itemInstance.getTemplate().getName() + "(" + itemInstance.getObjectId() + ") from " + curEnchant + " to " + ench); - return true; - } - return false; - } -} diff --git a/L2J_Mobius_07.0_PreludeOfWar/dist/game/data/scripts/handlers/telnethandlers/player/GMList.java b/L2J_Mobius_07.0_PreludeOfWar/dist/game/data/scripts/handlers/telnethandlers/player/GMList.java deleted file mode 100644 index 33b535ae23..0000000000 --- a/L2J_Mobius_07.0_PreludeOfWar/dist/game/data/scripts/handlers/telnethandlers/player/GMList.java +++ /dev/null @@ -1,58 +0,0 @@ -/* - * This file is part of the L2J Mobius project. - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -package handlers.telnethandlers.player; - -import org.l2jmobius.Config; -import org.l2jmobius.gameserver.data.xml.AdminData; -import org.l2jmobius.gameserver.network.telnet.ITelnetCommand; - -import io.netty.channel.ChannelHandlerContext; - -/** - * @author UnAfraid - */ -public class GMList implements ITelnetCommand -{ - @Override - public String getCommand() - { - return "gmlist"; - } - - @Override - public String getUsage() - { - return "GMList"; - } - - @Override - public String handle(ChannelHandlerContext ctx, String[] args) - { - int i = 0; - String gms = ""; - for (String player : AdminData.getInstance().getAllGmNames(true)) - { - gms += player + ", "; - i++; - } - if (!gms.isEmpty()) - { - gms = gms.substring(0, gms.length() - 2) + "."; - } - return "There are currently " + i + " GM(s) online..." + Config.EOL + gms; - } -} diff --git a/L2J_Mobius_07.0_PreludeOfWar/dist/game/data/scripts/handlers/telnethandlers/player/Give.java b/L2J_Mobius_07.0_PreludeOfWar/dist/game/data/scripts/handlers/telnethandlers/player/Give.java deleted file mode 100644 index 5cc5d2c39b..0000000000 --- a/L2J_Mobius_07.0_PreludeOfWar/dist/game/data/scripts/handlers/telnethandlers/player/Give.java +++ /dev/null @@ -1,85 +0,0 @@ -/* - * This file is part of the L2J Mobius project. - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -package handlers.telnethandlers.player; - -import org.l2jmobius.gameserver.data.ItemTable; -import org.l2jmobius.gameserver.model.World; -import org.l2jmobius.gameserver.model.actor.Player; -import org.l2jmobius.gameserver.model.item.instance.Item; -import org.l2jmobius.gameserver.network.telnet.ITelnetCommand; -import org.l2jmobius.gameserver.util.Util; - -import io.netty.channel.ChannelHandlerContext; - -/** - * @author UnAfraid - */ -public class Give implements ITelnetCommand -{ - @Override - public String getCommand() - { - return "give"; - } - - @Override - public String getUsage() - { - return "Give [item amount] [item enchant] [donators]"; - } - - @Override - public String handle(ChannelHandlerContext ctx, String[] args) - { - if ((args.length < 2) || args[0].isEmpty() || !Util.isDigit(args[1])) - { - return null; - } - final Player player = World.getInstance().getPlayer(args[0]); - if (player != null) - { - final int itemId = Integer.parseInt(args[1]); - long amount = 1; - int enchanted = 0; - if (args.length > 2) - { - String token = args[2]; - if (Util.isDigit(token)) - { - amount = Long.parseLong(token); - } - if (args.length > 3) - { - token = args[3]; - if (Util.isDigit(token)) - { - enchanted = Integer.parseInt(token); - } - } - } - - final Item item = ItemTable.getInstance().createItem("Telnet-Admin", itemId, amount, player, null); - if (enchanted > 0) - { - item.setEnchantLevel(enchanted); - } - player.addItem("Telnet-Admin", item, null, true); - return "Item has been successfully given to the player."; - } - return "Couldn't find player with such name."; - } -} diff --git a/L2J_Mobius_07.0_PreludeOfWar/dist/game/data/scripts/handlers/telnethandlers/player/Jail.java b/L2J_Mobius_07.0_PreludeOfWar/dist/game/data/scripts/handlers/telnethandlers/player/Jail.java deleted file mode 100644 index cf3736fc0e..0000000000 --- a/L2J_Mobius_07.0_PreludeOfWar/dist/game/data/scripts/handlers/telnethandlers/player/Jail.java +++ /dev/null @@ -1,84 +0,0 @@ -/* - * This file is part of the L2J Mobius project. - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -package handlers.telnethandlers.player; - -import org.l2jmobius.gameserver.data.sql.CharNameTable; -import org.l2jmobius.gameserver.instancemanager.PunishmentManager; -import org.l2jmobius.gameserver.model.punishment.PunishmentAffect; -import org.l2jmobius.gameserver.model.punishment.PunishmentTask; -import org.l2jmobius.gameserver.model.punishment.PunishmentType; -import org.l2jmobius.gameserver.network.telnet.ITelnetCommand; -import org.l2jmobius.gameserver.util.Util; - -import io.netty.channel.ChannelHandlerContext; - -/** - * @author UnAfraid - */ -public class Jail implements ITelnetCommand -{ - @Override - public String getCommand() - { - return "jail"; - } - - @Override - public String getUsage() - { - return "Jail [time in minutes]"; - } - - @Override - public String handle(ChannelHandlerContext ctx, String[] args) - { - if ((args.length == 0) || args[0].isEmpty()) - { - return null; - } - final int objectId = CharNameTable.getInstance().getIdByName(args[0]); - if (objectId > 0) - { - if (PunishmentManager.getInstance().hasPunishment(objectId, PunishmentAffect.CHARACTER, PunishmentType.JAIL)) - { - return "Player is already jailed."; - } - String reason = "You have been jailed by telnet admin."; - long time = -1; - if (args.length > 1) - { - final String token = args[1]; - if (Util.isDigit(token)) - { - time = Integer.parseInt(token) * 60 * 1000; - time += System.currentTimeMillis(); - } - if (args.length > 2) - { - reason = args[2]; - for (int i = 3; i < args.length; i++) - { - reason += " " + args[i]; - } - } - } - PunishmentManager.getInstance().startPunishment(new PunishmentTask(objectId, PunishmentAffect.CHARACTER, PunishmentType.JAIL, time, reason, "Telnet Admin")); - return "Player has been successfully jailed."; - } - return "Couldn't find player with such name."; - } -} diff --git a/L2J_Mobius_07.0_PreludeOfWar/dist/game/data/scripts/handlers/telnethandlers/player/Kick.java b/L2J_Mobius_07.0_PreludeOfWar/dist/game/data/scripts/handlers/telnethandlers/player/Kick.java deleted file mode 100644 index 030fc63b22..0000000000 --- a/L2J_Mobius_07.0_PreludeOfWar/dist/game/data/scripts/handlers/telnethandlers/player/Kick.java +++ /dev/null @@ -1,59 +0,0 @@ -/* - * This file is part of the L2J Mobius project. - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -package handlers.telnethandlers.player; - -import org.l2jmobius.gameserver.model.World; -import org.l2jmobius.gameserver.model.actor.Player; -import org.l2jmobius.gameserver.network.Disconnection; -import org.l2jmobius.gameserver.network.serverpackets.LeaveWorld; -import org.l2jmobius.gameserver.network.telnet.ITelnetCommand; - -import io.netty.channel.ChannelHandlerContext; - -/** - * @author UnAfraid - */ -public class Kick implements ITelnetCommand -{ - @Override - public String getCommand() - { - return "kick"; - } - - @Override - public String getUsage() - { - return "Kick "; - } - - @Override - public String handle(ChannelHandlerContext ctx, String[] args) - { - if ((args.length == 0) || args[0].isEmpty()) - { - return null; - } - final Player player = World.getInstance().getPlayer(args[0]); - if (player != null) - { - Disconnection.of(player).defaultSequence(LeaveWorld.STATIC_PACKET); - return "Player has been successfully kicked."; - } - return "Couldn't find player with such name."; - } -} diff --git a/L2J_Mobius_07.0_PreludeOfWar/dist/game/data/scripts/handlers/telnethandlers/player/SendMail.java b/L2J_Mobius_07.0_PreludeOfWar/dist/game/data/scripts/handlers/telnethandlers/player/SendMail.java deleted file mode 100644 index b906d68f89..0000000000 --- a/L2J_Mobius_07.0_PreludeOfWar/dist/game/data/scripts/handlers/telnethandlers/player/SendMail.java +++ /dev/null @@ -1,97 +0,0 @@ -/* - * This file is part of the L2J Mobius project. - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -package handlers.telnethandlers.player; - -import java.util.ArrayList; -import java.util.List; - -import org.l2jmobius.gameserver.data.sql.CharNameTable; -import org.l2jmobius.gameserver.enums.MailType; -import org.l2jmobius.gameserver.instancemanager.MailManager; -import org.l2jmobius.gameserver.model.Message; -import org.l2jmobius.gameserver.model.holders.ItemHolder; -import org.l2jmobius.gameserver.model.itemcontainer.Mail; -import org.l2jmobius.gameserver.network.telnet.ITelnetCommand; -import org.l2jmobius.gameserver.util.Util; - -import io.netty.channel.ChannelHandlerContext; - -/** - * @author Mobius - */ -public class SendMail implements ITelnetCommand -{ - @Override - public String getCommand() - { - return "sendmail"; - } - - @Override - public String getUsage() - { - return "sendmail "; - } - - @Override - public String handle(ChannelHandlerContext ctx, String[] args) - { - if ((args.length < 3) || args[0].isEmpty()) - { - return null; - } - final int objectId = CharNameTable.getInstance().getIdByName(args[0]); - if (objectId > 0) - { - final Message msg = new Message(objectId, args[1].replace("_", " "), args[2].replace("_", " "), args.length > 3 ? MailType.PRIME_SHOP_GIFT : MailType.REGULAR); - final List itemHolders = new ArrayList<>(); - int counter = -1; - for (String str : args) - { - counter++; - if (counter < 3) - { - continue; - } - if (str.toLowerCase().contains("x")) - { - final String itemId = str.toLowerCase().split("x")[0]; - final String itemCount = str.toLowerCase().split("x")[1]; - if (Util.isDigit(itemId) && Util.isDigit(itemCount)) - { - itemHolders.add(new ItemHolder(Integer.parseInt(itemId), Long.parseLong(itemCount))); - } - } - else if (Util.isDigit(str)) - { - itemHolders.add(new ItemHolder(Integer.parseInt(str), 1)); - } - } - if (!itemHolders.isEmpty()) - { - final Mail attachments = msg.createAttachments(); - for (ItemHolder itemHolder : itemHolders) - { - attachments.addItem("Telnet-Mail", itemHolder.getId(), itemHolder.getCount(), null, null); - } - } - MailManager.getInstance().sendMessage(msg); - return "An ingame mail has been sent to " + args[0] + "."; - } - return "Couldn't find player with such name."; - } -} diff --git a/L2J_Mobius_07.0_PreludeOfWar/dist/game/data/scripts/handlers/telnethandlers/player/Unban.java b/L2J_Mobius_07.0_PreludeOfWar/dist/game/data/scripts/handlers/telnethandlers/player/Unban.java deleted file mode 100644 index 5635913361..0000000000 --- a/L2J_Mobius_07.0_PreludeOfWar/dist/game/data/scripts/handlers/telnethandlers/player/Unban.java +++ /dev/null @@ -1,63 +0,0 @@ -/* - * This file is part of the L2J Mobius project. - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -package handlers.telnethandlers.player; - -import org.l2jmobius.gameserver.data.sql.CharNameTable; -import org.l2jmobius.gameserver.instancemanager.PunishmentManager; -import org.l2jmobius.gameserver.model.punishment.PunishmentAffect; -import org.l2jmobius.gameserver.model.punishment.PunishmentType; -import org.l2jmobius.gameserver.network.telnet.ITelnetCommand; - -import io.netty.channel.ChannelHandlerContext; - -/** - * @author UnAfraid - */ -public class Unban implements ITelnetCommand -{ - @Override - public String getCommand() - { - return "unban"; - } - - @Override - public String getUsage() - { - return "Unban "; - } - - @Override - public String handle(ChannelHandlerContext ctx, String[] args) - { - if ((args.length == 0) || args[0].isEmpty()) - { - return null; - } - final int objectId = CharNameTable.getInstance().getIdByName(args[0]); - if (objectId > 0) - { - if (!PunishmentManager.getInstance().hasPunishment(objectId, PunishmentAffect.CHARACTER, PunishmentType.BAN)) - { - return "Player is not banned at all."; - } - PunishmentManager.getInstance().stopPunishment(objectId, PunishmentAffect.CHARACTER, PunishmentType.BAN); - return "Player has been successfully unbanned."; - } - return "Couldn't find player with such name."; - } -} diff --git a/L2J_Mobius_07.0_PreludeOfWar/dist/game/data/scripts/handlers/telnethandlers/player/UnbanChat.java b/L2J_Mobius_07.0_PreludeOfWar/dist/game/data/scripts/handlers/telnethandlers/player/UnbanChat.java deleted file mode 100644 index 2e128c949b..0000000000 --- a/L2J_Mobius_07.0_PreludeOfWar/dist/game/data/scripts/handlers/telnethandlers/player/UnbanChat.java +++ /dev/null @@ -1,63 +0,0 @@ -/* - * This file is part of the L2J Mobius project. - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -package handlers.telnethandlers.player; - -import org.l2jmobius.gameserver.data.sql.CharNameTable; -import org.l2jmobius.gameserver.instancemanager.PunishmentManager; -import org.l2jmobius.gameserver.model.punishment.PunishmentAffect; -import org.l2jmobius.gameserver.model.punishment.PunishmentType; -import org.l2jmobius.gameserver.network.telnet.ITelnetCommand; - -import io.netty.channel.ChannelHandlerContext; - -/** - * @author UnAfraid - */ -public class UnbanChat implements ITelnetCommand -{ - @Override - public String getCommand() - { - return "unban_chat"; - } - - @Override - public String getUsage() - { - return "unban_chat "; - } - - @Override - public String handle(ChannelHandlerContext ctx, String[] args) - { - if ((args.length == 0) || args[0].isEmpty()) - { - return null; - } - final int objectId = CharNameTable.getInstance().getIdByName(args[0]); - if (objectId > 0) - { - if (!PunishmentManager.getInstance().hasPunishment(objectId, PunishmentAffect.CHARACTER, PunishmentType.CHAT_BAN)) - { - return "Player is not banned at all."; - } - PunishmentManager.getInstance().stopPunishment(objectId, PunishmentAffect.CHARACTER, PunishmentType.CHAT_BAN); - return "Player chat has been successfully unbanned."; - } - return "Couldn't find player with such name."; - } -} diff --git a/L2J_Mobius_07.0_PreludeOfWar/dist/game/data/scripts/handlers/telnethandlers/player/Unjail.java b/L2J_Mobius_07.0_PreludeOfWar/dist/game/data/scripts/handlers/telnethandlers/player/Unjail.java deleted file mode 100644 index efcf5bcefa..0000000000 --- a/L2J_Mobius_07.0_PreludeOfWar/dist/game/data/scripts/handlers/telnethandlers/player/Unjail.java +++ /dev/null @@ -1,63 +0,0 @@ -/* - * This file is part of the L2J Mobius project. - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -package handlers.telnethandlers.player; - -import org.l2jmobius.gameserver.data.sql.CharNameTable; -import org.l2jmobius.gameserver.instancemanager.PunishmentManager; -import org.l2jmobius.gameserver.model.punishment.PunishmentAffect; -import org.l2jmobius.gameserver.model.punishment.PunishmentType; -import org.l2jmobius.gameserver.network.telnet.ITelnetCommand; - -import io.netty.channel.ChannelHandlerContext; - -/** - * @author UnAfraid - */ -public class Unjail implements ITelnetCommand -{ - @Override - public String getCommand() - { - return "unjail"; - } - - @Override - public String getUsage() - { - return "Unjail "; - } - - @Override - public String handle(ChannelHandlerContext ctx, String[] args) - { - if ((args.length == 0) || args[0].isEmpty()) - { - return null; - } - final int objectId = CharNameTable.getInstance().getIdByName(args[0]); - if (objectId > 0) - { - if (!PunishmentManager.getInstance().hasPunishment(objectId, PunishmentAffect.CHARACTER, PunishmentType.JAIL)) - { - return "Player is not jailed at all."; - } - PunishmentManager.getInstance().stopPunishment(objectId, PunishmentAffect.CHARACTER, PunishmentType.JAIL); - return "Player has been successfully unjailed."; - } - return "Couldn't find player with such name."; - } -} diff --git a/L2J_Mobius_07.0_PreludeOfWar/dist/game/data/scripts/handlers/telnethandlers/server/Debug.java b/L2J_Mobius_07.0_PreludeOfWar/dist/game/data/scripts/handlers/telnethandlers/server/Debug.java deleted file mode 100644 index 920eadb0b6..0000000000 --- a/L2J_Mobius_07.0_PreludeOfWar/dist/game/data/scripts/handlers/telnethandlers/server/Debug.java +++ /dev/null @@ -1,366 +0,0 @@ -/* - * This file is part of the L2J Mobius project. - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -package handlers.telnethandlers.server; - -import java.io.File; -import java.io.IOException; -import java.lang.management.ManagementFactory; -import java.lang.management.ThreadInfo; -import java.lang.management.ThreadMXBean; -import java.nio.charset.StandardCharsets; -import java.nio.file.Files; -import java.nio.file.StandardOpenOption; -import java.text.SimpleDateFormat; -import java.util.ArrayList; -import java.util.Calendar; -import java.util.Collections; -import java.util.List; -import java.util.Map; -import java.util.Map.Entry; -import java.util.logging.Level; -import java.util.logging.Logger; - -import org.l2jmobius.commons.threads.ThreadPool; -import org.l2jmobius.gameserver.GameServer; -import org.l2jmobius.gameserver.LoginServerThread; -import org.l2jmobius.gameserver.data.xml.AdminData; -import org.l2jmobius.gameserver.enums.ItemLocation; -import org.l2jmobius.gameserver.model.World; -import org.l2jmobius.gameserver.model.WorldObject; -import org.l2jmobius.gameserver.model.actor.Creature; -import org.l2jmobius.gameserver.model.actor.Player; -import org.l2jmobius.gameserver.model.actor.instance.Monster; -import org.l2jmobius.gameserver.model.item.instance.Item; -import org.l2jmobius.gameserver.network.serverpackets.AdminForgePacket; -import org.l2jmobius.gameserver.network.telnet.ITelnetCommand; -import org.l2jmobius.gameserver.taskmanager.DecayTaskManager; -import org.l2jmobius.gameserver.taskmanager.GameTimeTaskManager; - -import io.netty.channel.ChannelHandlerContext; - -/** - * @author UnAfraid - */ -public class Debug implements ITelnetCommand -{ - private static final Logger LOGGER = Logger.getLogger(Debug.class.getName()); - - @Override - public String getCommand() - { - return "debug"; - } - - @Override - public String getUsage() - { - return "Debug "; - } - - @Override - public String handle(ChannelHandlerContext ctx, String[] args) - { - if ((args.length == 0) || args[0].isEmpty()) - { - return null; - } - switch (args[0]) - { - case "decay": - { - return DecayTaskManager.getInstance().toString(); - } - case "packetsend": - { - if (args.length < 4) - { - return "Usage: debug packetsend "; - } - final Player player = World.getInstance().getPlayer(args[1]); - if (player == null) - { - return "Couldn't find player with such name."; - } - - final AdminForgePacket sp = new AdminForgePacket(); - for (int i = 2; i < args.length; i++) - { - final String b = args[i]; - if (!b.isEmpty()) - { - sp.addPart("C".getBytes()[0], "0x" + b); - } - } - player.sendPacket(sp); - return "Packet has been sent!"; - } - case "full": - { - final Calendar cal = Calendar.getInstance(); - final SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss Z"); - final StringBuilder sb = new StringBuilder(); - sb.append(sdf.format(cal.getTime())); - sb.append("\r\nServer"); - sb.append("\r\n"); - sb.append(getServerStatus()); - sb.append("\r\n"); - sb.append("\r\n## Java Platform Information ##"); - sb.append("\r\nJava Runtime Name: " + System.getProperty("java.runtime.name")); - sb.append("\r\nJava Version: " + System.getProperty("java.version")); - sb.append("\r\nJava Class Version: " + System.getProperty("java.class.version")); - sb.append("\r\n"); - sb.append("\r\n## Virtual Machine Information ##"); - sb.append("\r\nVM Name: " + System.getProperty("java.vm.name")); - sb.append("\r\nVM Version: " + System.getProperty("java.vm.version")); - sb.append("\r\nVM Vendor: " + System.getProperty("java.vm.vendor")); - sb.append("\r\nVM Info: " + System.getProperty("java.vm.info")); - sb.append("\r\n"); - sb.append("\r\n## OS Information ##"); - sb.append("\r\nName: " + System.getProperty("os.name")); - sb.append("\r\nArchiteture: " + System.getProperty("os.arch")); - sb.append("\r\nVersion: " + System.getProperty("os.version")); - sb.append("\r\n"); - sb.append("\r\n## Runtime Information ##"); - sb.append("\r\nCPU Count: " + Runtime.getRuntime().availableProcessors()); - sb.append("\r\nCurrent Free Heap Size: " + (Runtime.getRuntime().freeMemory() / 1024 / 1024) + " mb"); - sb.append("\r\nCurrent Heap Size: " + (Runtime.getRuntime().totalMemory() / 1024 / 1024) + " mb"); - sb.append("\r\nMaximum Heap Size: " + (Runtime.getRuntime().maxMemory() / 1024 / 1024) + " mb"); - sb.append("\r\n"); - sb.append("\r\n## Class Path Information ##\r\n"); - final String cp = System.getProperty("java.class.path"); - final String[] libs = cp.split(File.pathSeparator); - for (String lib : libs) - { - sb.append(lib); - sb.append("\r\n"); - } - - sb.append("\r\n"); - sb.append("## Threads Information ##\r\n"); - final Map allThread = Thread.getAllStackTraces(); - final List> entries = new ArrayList<>(allThread.entrySet()); - Collections.sort(entries, (e1, e2) -> e1.getKey().getName().compareTo(e2.getKey().getName())); - for (Entry entry : entries) - { - final StackTraceElement[] stes = entry.getValue(); - final Thread t = entry.getKey(); - sb.append("--------------\r\n"); - sb.append(t + " (" + t.getId() + ")\r\n"); - sb.append("State: " + t.getState() + "\r\n"); - sb.append("isAlive: " + t.isAlive() + " | isDaemon: " + t.isDaemon() + " | isInterrupted: " + t.isInterrupted() + "\r\n"); - sb.append("\r\n"); - for (StackTraceElement ste : stes) - { - sb.append(ste.toString()); - sb.append("\r\n"); - } - sb.append("\r\n"); - } - - sb.append("\r\n"); - final ThreadMXBean mbean = ManagementFactory.getThreadMXBean(); - final long[] ids = findDeadlockedThreads(mbean); - if ((ids != null) && (ids.length > 0)) - { - final Thread[] threads = new Thread[ids.length]; - for (int i = 0; i < threads.length; i++) - { - threads[i] = findMatchingThread(mbean.getThreadInfo(ids[i])); - } - sb.append("Deadlocked Threads:\r\n"); - sb.append("-------------------\r\n"); - for (Thread thread : threads) - { - System.out.println(thread); - for (StackTraceElement ste : thread.getStackTrace()) - { - sb.append("\t" + ste); - sb.append("\r\n"); - } - } - } - - sb.append("\r\n## Thread Pool Manager Statistics ##\r\n"); - for (String line : ThreadPool.getStats()) - { - sb.append(line); - sb.append("\r\n"); - } - - int i = 0; - File f = new File("./log/Debug-" + i + ".txt"); - while (f.exists()) - { - i++; - f = new File("./log/Debug-" + i + ".txt"); - } - f.getParentFile().mkdirs(); - - try - { - Files.write(f.toPath(), sb.toString().getBytes(StandardCharsets.UTF_8), StandardOpenOption.CREATE_NEW, StandardOpenOption.WRITE); - } - catch (IOException e) - { - LOGGER.log(Level.WARNING, "Couldn't write packet tp.", e); - } - return "Debug output saved to log/" + f.getName(); - } - } - return null; - } - - private long[] findDeadlockedThreads(ThreadMXBean mbean) - { - // JDK 1.5 only supports the findMonitorDeadlockedThreads() - // method, so you need to comment out the following three lines - if (mbean.isSynchronizerUsageSupported()) - { - return mbean.findDeadlockedThreads(); - } - return mbean.findMonitorDeadlockedThreads(); - } - - private Thread findMatchingThread(ThreadInfo inf) - { - for (Thread thread : Thread.getAllStackTraces().keySet()) - { - if (thread.getId() == inf.getThreadId()) - { - return thread; - } - } - throw new IllegalStateException("Deadlocked Thread not found"); - } - - static String getServerStatus() - { - int playerCount = 0; - int objectCount = 0; - final int max = LoginServerThread.getInstance().getMaxPlayer(); - playerCount = World.getInstance().getPlayers().size(); - objectCount = World.getInstance().getVisibleObjectsCount(); - int itemCount = 0; - int itemVoidCount = 0; - int monsterCount = 0; - int minionCount = 0; - int minionsGroupCount = 0; - int npcCount = 0; - int charCount = 0; - int pcCount = 0; - int detachedCount = 0; - int doorCount = 0; - int summonCount = 0; - int aiCount = 0; - for (WorldObject obj : World.getInstance().getVisibleObjects()) - { - if (obj == null) - { - continue; - } - if (obj.isCreature() && ((Creature) obj).hasAI()) - { - aiCount++; - } - if (obj.isItem()) - { - if (((Item) obj).getItemLocation() == ItemLocation.VOID) - { - itemVoidCount++; - } - else - { - itemCount++; - } - } - else if (obj.isMonster()) - { - monsterCount++; - if (((Monster) obj).hasMinions()) - { - minionCount += ((Monster) obj).getMinionList().countSpawnedMinions(); - minionsGroupCount += ((Monster) obj).getMinionList().lazyCountSpawnedMinionsGroups(); - } - } - else if (obj.isNpc()) - { - npcCount++; - } - else if (obj.isPlayer()) - { - pcCount++; - if ((((Player) obj).getClient() != null) && ((Player) obj).getClient().isDetached()) - { - detachedCount++; - } - } - else if (obj.isSummon()) - { - summonCount++; - } - else if (obj.isDoor()) - { - doorCount++; - } - else if (obj.isCreature()) - { - charCount++; - } - } - final StringBuilder sb = new StringBuilder(); - sb.append("Server Status: "); - sb.append("\r\n ---> Player Count: " + playerCount + "/" + max); - sb.append("\r\n ---> Offline Count: " + detachedCount + "/" + playerCount); - sb.append("\r\n +--> Object Count: " + objectCount); - sb.append("\r\n +--> AI Count: " + aiCount); - sb.append("\r\n +.... Item(Void): " + itemVoidCount); - sb.append("\r\n +.......... Item: " + itemCount); - sb.append("\r\n +....... Monster: " + monsterCount); - sb.append("\r\n +......... Minions: " + minionCount); - sb.append("\r\n +.. Minions Groups: " + minionsGroupCount); - sb.append("\r\n +........... Npc: " + npcCount); - sb.append("\r\n +............ Player: " + pcCount); - sb.append("\r\n +........ Summon: " + summonCount); - sb.append("\r\n +.......... Door: " + doorCount); - sb.append("\r\n +.......... Creature: " + charCount); - sb.append("\r\n ---> Ingame Time: " + gameTime()); - sb.append("\r\n ---> Server Uptime: " + GameServer.getInstance().getUptime()); - sb.append("\r\n ---> GM Count: " + getOnlineGMS()); - sb.append("\r\n ---> Threads: " + Thread.activeCount()); - sb.append("\r\n RAM Used: " + ((Runtime.getRuntime().totalMemory() - Runtime.getRuntime().freeMemory()) / 1048576)); // 1024 * 1024 = 1048576 - sb.append("\r\n"); - - return sb.toString(); - } - - private static int getOnlineGMS() - { - return AdminData.getInstance().getAllGms(true).size(); - } - - private static String gameTime() - { - final int t = GameTimeTaskManager.getInstance().getGameTime(); - final int h = t / 60; - final int m = t % 60; - final SimpleDateFormat format = new SimpleDateFormat("H:mm"); - final Calendar cal = Calendar.getInstance(); - cal.set(Calendar.HOUR_OF_DAY, h); - cal.set(Calendar.MINUTE, m); - return format.format(cal.getTime()); - } -} diff --git a/L2J_Mobius_07.0_PreludeOfWar/dist/game/data/scripts/handlers/telnethandlers/server/ForceGC.java b/L2J_Mobius_07.0_PreludeOfWar/dist/game/data/scripts/handlers/telnethandlers/server/ForceGC.java deleted file mode 100644 index 508b268c3d..0000000000 --- a/L2J_Mobius_07.0_PreludeOfWar/dist/game/data/scripts/handlers/telnethandlers/server/ForceGC.java +++ /dev/null @@ -1,46 +0,0 @@ -/* - * This file is part of the L2J Mobius project. - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -package handlers.telnethandlers.server; - -import org.l2jmobius.gameserver.network.telnet.ITelnetCommand; - -import io.netty.channel.ChannelHandlerContext; - -/** - * @author UnAfraid - */ -public class ForceGC implements ITelnetCommand -{ - @Override - public String getCommand() - { - return "forcegc"; - } - - @Override - public String getUsage() - { - return "ForceGC"; - } - - @Override - public String handle(ChannelHandlerContext ctx, String[] args) - { - System.gc(); - return "RAM Used: " + ((Runtime.getRuntime().totalMemory() - Runtime.getRuntime().freeMemory()) / 1048576); - } -} diff --git a/L2J_Mobius_07.0_PreludeOfWar/dist/game/data/scripts/handlers/telnethandlers/server/Memusage.java b/L2J_Mobius_07.0_PreludeOfWar/dist/game/data/scripts/handlers/telnethandlers/server/Memusage.java deleted file mode 100644 index 529a173eef..0000000000 --- a/L2J_Mobius_07.0_PreludeOfWar/dist/game/data/scripts/handlers/telnethandlers/server/Memusage.java +++ /dev/null @@ -1,69 +0,0 @@ -/* - * This file is part of the L2J Mobius project. - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -package handlers.telnethandlers.server; - -import java.text.DecimalFormat; - -import org.l2jmobius.Config; -import org.l2jmobius.gameserver.network.telnet.ITelnetCommand; - -import io.netty.channel.ChannelHandlerContext; - -/** - * @author UnAfraid - */ -public class Memusage implements ITelnetCommand -{ - @Override - public String getCommand() - { - return "memusage"; - } - - @Override - public String getUsage() - { - return "MemUsage"; - } - - @Override - public String handle(ChannelHandlerContext ctx, String[] args) - { - final double max = Runtime.getRuntime().maxMemory() / 1024; // maxMemory is the upper - // limit the jvm can use - final double allocated = Runtime.getRuntime().totalMemory() / 1024; // totalMemory the - // size of the current allocation pool - final double nonAllocated = max - allocated; // non allocated memory till jvm limit - final double cached = Runtime.getRuntime().freeMemory() / 1024; // freeMemory the - // unused memory in the allocation pool - final double used = allocated - cached; // really used memory - final double useable = max - used; // allocated, but non-used and non-allocated memory - final StringBuilder sb = new StringBuilder(); - final DecimalFormat df = new DecimalFormat(" (0.0000'%')"); - final DecimalFormat df2 = new DecimalFormat(" # 'KB'"); - sb.append("+----" + Config.EOL); // ... - sb.append("| Allowed Memory:" + df2.format(max) + Config.EOL); - sb.append("| |= Allocated Memory:" + df2.format(allocated) + df.format((allocated / max) * 100) + Config.EOL); - sb.append("| |= Non-Allocated Memory:" + df2.format(nonAllocated) + df.format((nonAllocated / max) * 100) + Config.EOL); - sb.append("| Allocated Memory:" + df2.format(allocated) + Config.EOL); - sb.append("| |= Used Memory:" + df2.format(used) + df.format((used / max) * 100) + Config.EOL); - sb.append("| |= Unused (cached) Memory:" + df2.format(cached) + df.format((cached / max) * 100) + Config.EOL); - sb.append("| Useable Memory:" + df2.format(useable) + df.format((useable / max) * 100) + Config.EOL); // ... - sb.append("+----" + Config.EOL); - return sb.toString(); - } -} diff --git a/L2J_Mobius_07.0_PreludeOfWar/dist/game/data/scripts/handlers/telnethandlers/server/Performance.java b/L2J_Mobius_07.0_PreludeOfWar/dist/game/data/scripts/handlers/telnethandlers/server/Performance.java deleted file mode 100644 index 8c632dfa0b..0000000000 --- a/L2J_Mobius_07.0_PreludeOfWar/dist/game/data/scripts/handlers/telnethandlers/server/Performance.java +++ /dev/null @@ -1,53 +0,0 @@ -/* - * This file is part of the L2J Mobius project. - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -package handlers.telnethandlers.server; - -import org.l2jmobius.Config; -import org.l2jmobius.commons.threads.ThreadPool; -import org.l2jmobius.gameserver.network.telnet.ITelnetCommand; - -import io.netty.channel.ChannelHandlerContext; - -/** - * @author UnAfraid - */ -public class Performance implements ITelnetCommand -{ - @Override - public String getCommand() - { - return "performance"; - } - - @Override - public String getUsage() - { - return "Performance"; - } - - @Override - public String handle(ChannelHandlerContext ctx, String[] args) - { - // ThreadPoolManager.purge(); - final StringBuilder sb = new StringBuilder(); - for (String line : ThreadPool.getStats()) - { - sb.append(line + Config.EOL); - } - return sb.toString(); - } -} diff --git a/L2J_Mobius_07.0_PreludeOfWar/dist/game/data/scripts/handlers/telnethandlers/server/Purge.java b/L2J_Mobius_07.0_PreludeOfWar/dist/game/data/scripts/handlers/telnethandlers/server/Purge.java deleted file mode 100644 index 72aab3d598..0000000000 --- a/L2J_Mobius_07.0_PreludeOfWar/dist/game/data/scripts/handlers/telnethandlers/server/Purge.java +++ /dev/null @@ -1,53 +0,0 @@ -/* - * This file is part of the L2J Mobius project. - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -package handlers.telnethandlers.server; - -import org.l2jmobius.Config; -import org.l2jmobius.commons.threads.ThreadPool; -import org.l2jmobius.gameserver.network.telnet.ITelnetCommand; - -import io.netty.channel.ChannelHandlerContext; - -/** - * @author UnAfraid - */ -public class Purge implements ITelnetCommand -{ - @Override - public String getCommand() - { - return "purge"; - } - - @Override - public String getUsage() - { - return "Purge"; - } - - @Override - public String handle(ChannelHandlerContext ctx, String[] args) - { - ThreadPool.purge(); - final StringBuilder sb = new StringBuilder("STATUS OF THREAD POOLS AFTER PURGE COMMAND:" + Config.EOL); - for (String line : ThreadPool.getStats()) - { - sb.append(line + Config.EOL); - } - return sb.toString(); - } -} diff --git a/L2J_Mobius_07.0_PreludeOfWar/dist/game/data/scripts/handlers/telnethandlers/server/Reload.java b/L2J_Mobius_07.0_PreludeOfWar/dist/game/data/scripts/handlers/telnethandlers/server/Reload.java deleted file mode 100644 index a7cf41db75..0000000000 --- a/L2J_Mobius_07.0_PreludeOfWar/dist/game/data/scripts/handlers/telnethandlers/server/Reload.java +++ /dev/null @@ -1,257 +0,0 @@ -/* - * This file is part of the L2J Mobius project. - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -package handlers.telnethandlers.server; - -import java.io.File; -import java.nio.file.Paths; -import java.util.logging.Level; -import java.util.logging.Logger; - -import org.l2jmobius.Config; -import org.l2jmobius.commons.enums.ServerMode; -import org.l2jmobius.gameserver.cache.HtmCache; -import org.l2jmobius.gameserver.data.ItemTable; -import org.l2jmobius.gameserver.data.sql.CrestTable; -import org.l2jmobius.gameserver.data.xml.AdminData; -import org.l2jmobius.gameserver.data.xml.AppearanceItemData; -import org.l2jmobius.gameserver.data.xml.ArmorSetData; -import org.l2jmobius.gameserver.data.xml.BuyListData; -import org.l2jmobius.gameserver.data.xml.DoorData; -import org.l2jmobius.gameserver.data.xml.EnchantItemData; -import org.l2jmobius.gameserver.data.xml.EnchantItemGroupsData; -import org.l2jmobius.gameserver.data.xml.ItemCrystallizationData; -import org.l2jmobius.gameserver.data.xml.MultisellData; -import org.l2jmobius.gameserver.data.xml.NpcData; -import org.l2jmobius.gameserver.data.xml.SayuneData; -import org.l2jmobius.gameserver.data.xml.SkillData; -import org.l2jmobius.gameserver.data.xml.TeleporterData; -import org.l2jmobius.gameserver.data.xml.TransformData; -import org.l2jmobius.gameserver.instancemanager.CursedWeaponsManager; -import org.l2jmobius.gameserver.instancemanager.QuestManager; -import org.l2jmobius.gameserver.instancemanager.WalkingManager; -import org.l2jmobius.gameserver.instancemanager.ZoneManager; -import org.l2jmobius.gameserver.network.telnet.ITelnetCommand; -import org.l2jmobius.gameserver.scripting.ScriptEngineManager; -import org.l2jmobius.gameserver.util.Util; - -import io.netty.channel.ChannelHandlerContext; - -/** - * @author UnAfraid - */ -public class Reload implements ITelnetCommand -{ - private static final Logger LOGGER = Logger.getLogger(Reload.class.getName()); - - @Override - public String getCommand() - { - return "reload"; - } - - @Override - public String getUsage() - { - return "Reload "; - } - - @Override - public String handle(ChannelHandlerContext ctx, String[] args) - { - if ((args.length == 0) || args[0].isEmpty()) - { - return null; - } - switch (args[0]) - { - case "config": - { - Config.load(ServerMode.GAME); - return AdminData.getInstance().broadcastMessageToGMs("Telnet Admin: Reloaded Configs."); - } - case "access": - { - AdminData.getInstance().load(); - return AdminData.getInstance().broadcastMessageToGMs("Telnet Admin: Reloaded Access."); - } - case "npc": - { - NpcData.getInstance().load(); - return AdminData.getInstance().broadcastMessageToGMs("Telnet Admin: Reloaded Npcs."); - } - case "quest": - { - if (args.length > 1) - { - final String value = args[1]; - if (!Util.isDigit(value)) - { - QuestManager.getInstance().reload(value); - return AdminData.getInstance().broadcastMessageToGMs("Telnet Admin: Reloaded Quest Name:" + value + "."); - } - final int questId = Integer.parseInt(value); - QuestManager.getInstance().reload(questId); - return AdminData.getInstance().broadcastMessageToGMs("Telnet Admin: Reloaded Quest ID:" + questId + "."); - } - QuestManager.getInstance().reloadAllScripts(); - return AdminData.getInstance().broadcastMessageToGMs("Telnet Admin: Reloaded Quests."); - } - case "walker": - { - WalkingManager.getInstance().load(); - return AdminData.getInstance().broadcastMessageToGMs("Telnet Admin: Reloaded Walkers."); - } - case "htm": - case "html": - { - if (args.length > 1) - { - final String path = args[1]; - final File file = new File(Config.DATAPACK_ROOT, "data/html/" + path); - if (file.exists()) - { - HtmCache.getInstance().reload(file); - return AdminData.getInstance().broadcastMessageToGMs("Telnet Admin: Reloaded Htm File:" + file.getName() + "."); - } - return "File or Directory does not exist."; - } - HtmCache.getInstance().reload(); - AdminData.getInstance().broadcastMessageToGMs("Telnet Admin: Reloaded Htms."); - return "Cache[HTML]: " + HtmCache.getInstance().getMemoryUsage() + " megabytes on " + HtmCache.getInstance().getLoadedFiles() + " files loaded"; - } - case "multisell": - { - MultisellData.getInstance().load(); - return AdminData.getInstance().broadcastMessageToGMs("Telnet Admin: Reloaded Multisells."); - } - case "buylist": - { - BuyListData.getInstance().load(); - return AdminData.getInstance().broadcastMessageToGMs("Telnet Admin: Reloaded Buylists."); - } - case "teleport": - { - TeleporterData.getInstance().load(); - return AdminData.getInstance().broadcastMessageToGMs("Telnet Admin: Reloaded Teleports."); - } - case "skill": - { - SkillData.getInstance().reload(); - return AdminData.getInstance().broadcastMessageToGMs("Telnet Admin: Reloaded Skills."); - } - case "item": - { - ItemTable.getInstance().reload(); - return AdminData.getInstance().broadcastMessageToGMs("Telnet Admin: Reloaded Items."); - } - case "door": - { - DoorData.getInstance().load(); - return AdminData.getInstance().broadcastMessageToGMs("Telnet Admin: Reloaded Doors."); - } - case "zone": - { - ZoneManager.getInstance().reload(); - return AdminData.getInstance().broadcastMessageToGMs("Telnet Admin: Reloaded Zones."); - } - case "cw": - { - CursedWeaponsManager.getInstance().load(); - return AdminData.getInstance().broadcastMessageToGMs("Telnet Admin: Reloaded Cursed Weapons."); - } - case "crest": - { - CrestTable.getInstance().load(); - return AdminData.getInstance().broadcastMessageToGMs("Telnet Admin: Reloaded Crests."); - } - case "effect": - { - try - { - ScriptEngineManager.getInstance().executeScript(ScriptEngineManager.EFFECT_MASTER_HANDLER_FILE); - return AdminData.getInstance().broadcastMessageToGMs("Telnet Admin: Reloaded effect master handler."); - } - catch (Exception e) - { - LOGGER.log(Level.WARNING, "Failed executing effect master handler!", e); - return "Error reloading effect master handler: " + e.getMessage(); - } - } - case "handler": - { - try - { - ScriptEngineManager.getInstance().executeScript(ScriptEngineManager.MASTER_HANDLER_FILE); - return AdminData.getInstance().broadcastMessageToGMs("Telnet Admin: Reloaded master handler."); - } - catch (Exception e) - { - LOGGER.log(Level.WARNING, "Failed executing master handler!", e); - return "Error reloading master handler: " + e.getMessage(); - } - } - case "enchant": - { - EnchantItemGroupsData.getInstance().load(); - EnchantItemData.getInstance().load(); - return AdminData.getInstance().broadcastMessageToGMs("Telnet Admin: Reloaded item enchanting data."); - } - case "transform": - { - TransformData.getInstance().load(); - return AdminData.getInstance().broadcastMessageToGMs("Telnet Admin: Reloaded transform data."); - } - case "crystalizable": - { - ItemCrystallizationData.getInstance().load(); - return AdminData.getInstance().broadcastMessageToGMs("Telnet Admin: Reloaded item crystalization data."); - } - case "appearance": - { - AppearanceItemData.getInstance().load(); - return AdminData.getInstance().broadcastMessageToGMs("Telnet Admin: Reloaded appearance item data."); - } - case "sayune": - { - SayuneData.getInstance().load(); - return AdminData.getInstance().broadcastMessageToGMs("Telnet Admin: Reloaded Sayune data."); - } - case "sets": - { - ArmorSetData.getInstance().load(); - return AdminData.getInstance().broadcastMessageToGMs("Telnet Admin: Reloaded Armor sets data."); - } - case "script": - { - if (args.length < 2) - { - return "Syntax: reload script "; - } - try - { - ScriptEngineManager.getInstance().executeScript(Paths.get(args[1])); - return "Script " + args[1] + " has been reloaded successfuly."; - } - catch (Exception e) - { - return "Couldn't reload script: " + args[1] + " err: " + e.getMessage(); - } - } - } - return null; - } -} diff --git a/L2J_Mobius_07.0_PreludeOfWar/dist/game/data/scripts/handlers/telnethandlers/server/ServerAbort.java b/L2J_Mobius_07.0_PreludeOfWar/dist/game/data/scripts/handlers/telnethandlers/server/ServerAbort.java deleted file mode 100644 index e29c3afb1d..0000000000 --- a/L2J_Mobius_07.0_PreludeOfWar/dist/game/data/scripts/handlers/telnethandlers/server/ServerAbort.java +++ /dev/null @@ -1,47 +0,0 @@ -/* - * This file is part of the L2J Mobius project. - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -package handlers.telnethandlers.server; - -import org.l2jmobius.gameserver.Shutdown; -import org.l2jmobius.gameserver.network.telnet.ITelnetCommand; - -import io.netty.channel.ChannelHandlerContext; - -/** - * @author UnAfraid - */ -public class ServerAbort implements ITelnetCommand -{ - @Override - public String getCommand() - { - return "abort"; - } - - @Override - public String getUsage() - { - return "Abort"; - } - - @Override - public String handle(ChannelHandlerContext ctx, String[] args) - { - Shutdown.getInstance().abort(null); - return "Server shutdown/restart aborted!"; - } -} diff --git a/L2J_Mobius_07.0_PreludeOfWar/dist/game/data/scripts/handlers/telnethandlers/server/ServerRestart.java b/L2J_Mobius_07.0_PreludeOfWar/dist/game/data/scripts/handlers/telnethandlers/server/ServerRestart.java deleted file mode 100644 index e9a57010a0..0000000000 --- a/L2J_Mobius_07.0_PreludeOfWar/dist/game/data/scripts/handlers/telnethandlers/server/ServerRestart.java +++ /dev/null @@ -1,53 +0,0 @@ -/* - * This file is part of the L2J Mobius project. - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -package handlers.telnethandlers.server; - -import org.l2jmobius.gameserver.Shutdown; -import org.l2jmobius.gameserver.network.telnet.ITelnetCommand; -import org.l2jmobius.gameserver.util.Util; - -import io.netty.channel.ChannelHandlerContext; - -/** - * @author UnAfraid - */ -public class ServerRestart implements ITelnetCommand -{ - @Override - public String getCommand() - { - return "restart"; - } - - @Override - public String getUsage() - { - return "Restart