Stop logging with System.out.println, start using slf4j

This commit is contained in:
P0nk
2022-02-10 21:31:33 +01:00
parent c879e36a9c
commit 2bbfd46105
37 changed files with 227 additions and 160 deletions

View File

@@ -97,6 +97,7 @@ import java.util.concurrent.atomic.AtomicBoolean;
import java.util.concurrent.atomic.AtomicInteger; import java.util.concurrent.atomic.AtomicInteger;
import java.util.concurrent.locks.Lock; import java.util.concurrent.locks.Lock;
import java.util.regex.Pattern; import java.util.regex.Pattern;
import java.util.stream.Collectors;
import static java.util.concurrent.TimeUnit.*; import static java.util.concurrent.TimeUnit.*;
@@ -3587,26 +3588,25 @@ public class Character extends AbstractCharacterObject {
effLock.lock(); effLock.lock();
chrLock.lock(); chrLock.lock();
try { try {
System.out.println("-------------------"); log.debug("-------------------");
System.out.println("CACHED BUFF COUNT: "); log.debug("CACHED BUFF COUNT: {}", buffEffectsCount.entrySet().stream()
for (Entry<BuffStat, Byte> bpl : buffEffectsCount.entrySet()) { .map(entry -> entry.getKey() + ": " + entry.getValue())
System.out.println(bpl.getKey() + ": " + bpl.getValue()); .collect(Collectors.joining(", "))
} );
System.out.println("-------------------");
System.out.println("CACHED BUFFS: ");
for (Entry<Integer, Map<BuffStat, BuffStatValueHolder>> bpl : buffEffects.entrySet()) {
System.out.print(bpl.getKey() + ": ");
for (Entry<BuffStat, BuffStatValueHolder> pble : bpl.getValue().entrySet()) {
System.out.print(pble.getKey().name() + pble.getValue().value + ", ");
}
System.out.println();
}
System.out.println("-------------------");
System.out.println("IN ACTION:"); log.debug("-------------------");
for (Entry<BuffStat, BuffStatValueHolder> bpl : effects.entrySet()) { log.debug("CACHED BUFFS: {}", buffEffects.entrySet().stream()
System.out.println(bpl.getKey().name() + " -> " + ItemInformationProvider.getInstance().getName(bpl.getValue().effect.getSourceId())); .map(entry -> entry.getKey() + ": (" + entry.getValue().entrySet().stream()
} .map(innerEntry -> innerEntry.getKey().name() + innerEntry.getValue().value)
.collect(Collectors.joining(", ")) + ")")
.collect(Collectors.joining(", "))
);
log.debug("-------------------");
log.debug("IN ACTION: {}", effects.entrySet().stream()
.map(entry -> entry.getKey().name() + " -> " + ItemInformationProvider.getInstance().getName(entry.getValue().effect.getSourceId()))
.collect(Collectors.joining(", "))
);
} finally { } finally {
chrLock.unlock(); chrLock.unlock();
effLock.unlock(); effLock.unlock();
@@ -3617,9 +3617,10 @@ public class Character extends AbstractCharacterObject {
effLock.lock(); effLock.lock();
chrLock.lock(); chrLock.lock();
try { try {
for (Entry<BuffStat, Byte> mbsl : buffEffectsCount.entrySet()) { log.debug("ALL BUFFS COUNT: {}", buffEffectsCount.entrySet().stream()
System.out.println(mbsl.getKey().name() + " -> " + mbsl.getValue()); .map(entry -> entry.getKey().name() + " -> " + entry.getValue())
} .collect(Collectors.joining(", "))
);
} finally { } finally {
chrLock.unlock(); chrLock.unlock();
effLock.unlock(); effLock.unlock();

View File

@@ -153,7 +153,7 @@ public class CommandsExecutor {
private void addCommand(String syntax, int rank, Class<? extends Command> commandClass) { private void addCommand(String syntax, int rank, Class<? extends Command> commandClass) {
if (registeredCommands.containsKey(syntax.toLowerCase())) { if (registeredCommands.containsKey(syntax.toLowerCase())) {
System.out.println("Error on register command with name: " + syntax + ". Already exists."); log.warn("Error on register command with name: {}. Already exists.", syntax);
return; return;
} }

View File

@@ -25,6 +25,8 @@ import client.Client;
import config.YamlConfig; import config.YamlConfig;
import constants.game.ExpTable; import constants.game.ExpTable;
import constants.inventory.ItemConstants; import constants.inventory.ItemConstants;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import server.ItemInformationProvider; import server.ItemInformationProvider;
import tools.PacketCreator; import tools.PacketCreator;
import tools.Pair; import tools.Pair;
@@ -36,6 +38,7 @@ import java.util.List;
import java.util.Map; import java.util.Map;
public class Equip extends Item { public class Equip extends Item {
private static final Logger log = LoggerFactory.getLogger(Equip.class);
public enum ScrollResult { public enum ScrollResult {
@@ -110,7 +113,7 @@ public class Equip extends Item {
ret.itemLevel = itemLevel; ret.itemLevel = itemLevel;
ret.itemExp = itemExp; ret.itemExp = itemExp;
ret.level = level; ret.level = level;
ret.log = new LinkedList<>(log); ret.itemLog = new LinkedList<>(itemLog);
ret.setOwner(getOwner()); ret.setOwner(getOwner());
ret.setQuantity(getQuantity()); ret.setQuantity(getQuantity());
ret.setExpiration(getExpiration()); ret.setExpiration(getExpiration());
@@ -647,7 +650,8 @@ public class Equip extends Item {
int expNeeded = ExpTable.getEquipExpNeededForLevel(itemLevel); int expNeeded = ExpTable.getEquipExpNeededForLevel(itemLevel);
if (YamlConfig.config.server.USE_DEBUG_SHOW_INFO_EQPEXP) { if (YamlConfig.config.server.USE_DEBUG_SHOW_INFO_EQPEXP) {
System.out.println("'" + ii.getName(this.getItemId()) + "' -> EXP Gain: " + gain + " Mastery: " + masteryModifier + " Base gain: " + baseExpGain + " exp: " + itemExp + " / " + expNeeded + ", Kills TNL: " + expNeeded / (baseExpGain / c.getPlayer().getExpRate())); log.debug("{} -> EXP Gain: {}, Mastery: {}, Base gain: {}, exp: {} / {}, Kills TNL: {}", ii.getName(getItemId()),
gain, masteryModifier, baseExpGain, itemExp, expNeeded, expNeeded / (baseExpGain / c.getPlayer().getExpRate()));
} }
if (itemExp >= expNeeded) { if (itemExp >= expNeeded) {

View File

@@ -42,7 +42,7 @@ public class Item implements Comparable<Item> {
private int petid = -1; private int petid = -1;
private Pet pet = null; private Pet pet = null;
private String owner = ""; private String owner = "";
protected List<String> log; protected List<String> itemLog;
private short flag; private short flag;
private long expiration = -1; private long expiration = -1;
private String giftFrom = ""; private String giftFrom = "";
@@ -51,7 +51,7 @@ public class Item implements Comparable<Item> {
this.id = id; this.id = id;
this.position = position; this.position = position;
this.quantity = quantity; this.quantity = quantity;
this.log = new LinkedList<>(); this.itemLog = new LinkedList<>();
this.flag = 0; this.flag = 0;
} }
@@ -67,7 +67,7 @@ public class Item implements Comparable<Item> {
} }
this.petid = petid; this.petid = petid;
this.flag = 0; this.flag = 0;
this.log = new LinkedList<>(); this.itemLog = new LinkedList<>();
} }
public Item copy() { public Item copy() {
@@ -75,7 +75,7 @@ public class Item implements Comparable<Item> {
ret.flag = flag; ret.flag = flag;
ret.owner = owner; ret.owner = owner;
ret.expiration = expiration; ret.expiration = expiration;
ret.log = new LinkedList<>(log); ret.itemLog = new LinkedList<>(itemLog);
return ret; return ret;
} }
@@ -147,8 +147,8 @@ public class Item implements Comparable<Item> {
return "Item: " + id + " quantity: " + quantity; return "Item: " + id + " quantity: " + quantity;
} }
public List<String> getLog() { public List<String> getItemLog() {
return Collections.unmodifiableList(log); return Collections.unmodifiableList(itemLog);
} }
public short getFlag() { public short getFlag() {

View File

@@ -28,13 +28,15 @@ import net.server.handlers.CustomPacketHandler;
import net.server.handlers.KeepAliveHandler; import net.server.handlers.KeepAliveHandler;
import net.server.handlers.LoginRequiringNoOpHandler; import net.server.handlers.LoginRequiringNoOpHandler;
import net.server.handlers.login.*; import net.server.handlers.login.*;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.util.LinkedHashMap; import java.util.LinkedHashMap;
import java.util.Map; import java.util.Map;
public final class PacketProcessor { public final class PacketProcessor {
private static final Logger log = LoggerFactory.getLogger(PacketProcessor.class);
private final static Map<String, PacketProcessor> instances = new LinkedHashMap<>(); private static final Map<String, PacketProcessor> instances = new LinkedHashMap<>();
private PacketHandler[] handlers; private PacketHandler[] handlers;
private PacketProcessor() { private PacketProcessor() {
@@ -67,8 +69,7 @@ public final class PacketProcessor {
try { try {
handlers[code.getValue()] = handler; handlers[code.getValue()] = handler;
} catch (ArrayIndexOutOfBoundsException e) { } catch (ArrayIndexOutOfBoundsException e) {
e.printStackTrace(); log.error("Error registering handler {}", code.name(), e);
System.out.println("Error registering handler - " + code.name());
} }
} }

View File

@@ -303,11 +303,10 @@ public class Server {
private void dumpData() { private void dumpData() {
wldRLock.lock(); wldRLock.lock();
try { try {
System.out.println(worlds); log.debug("Worlds: {}", worlds);
System.out.println(channels); log.debug("Channels: {}", channels);
System.out.println(worldRecommendedList); log.debug("World recommended list: {}", worldRecommendedList);
System.out.println(); log.debug("---------------------");
System.out.println("---------------------");
} finally { } finally {
wldRLock.unlock(); wldRLock.unlock();
} }
@@ -1879,7 +1878,7 @@ public class Server {
} }
private synchronized void shutdownInternal(boolean restart) { private synchronized void shutdownInternal(boolean restart) {
System.out.println((restart ? "Restarting" : "Shutting down") + " the server!\r\n"); log.info("{} the server!", restart ? "Restarting" : "Shutting down");
if (getWorlds() == null) { if (getWorlds() == null) {
return;//already shutdown return;//already shutdown
} }
@@ -1917,8 +1916,7 @@ public class Server {
try { try {
Thread.sleep(1000); Thread.sleep(1000);
} catch (InterruptedException ie) { } catch (InterruptedException ie) {
ie.printStackTrace(); log.error("Error during shutdown sleep", ie);
System.err.println("FUCK MY LIFE");
} }
} }
} }
@@ -1929,12 +1927,12 @@ public class Server {
TimerManager.getInstance().purge(); TimerManager.getInstance().purge();
TimerManager.getInstance().stop(); TimerManager.getInstance().stop();
System.out.println("Worlds + Channels are offline."); log.info("World and channels are offline.");
loginServer.stop(); loginServer.stop();
if (!restart) { // shutdown hook deadlocks if System.exit() method is used within its body chores, thanks MIKE for pointing that out if (!restart) { // shutdown hook deadlocks if System.exit() method is used within its body chores, thanks MIKE for pointing that out
new Thread(() -> System.exit(0)).start(); new Thread(() -> System.exit(0)).start();
} else { } else {
System.out.println("\r\nRestarting the server....\r\n"); log.info("Restarting the server...");
try { try {
instance.finalize();//FUU I CAN AND IT'S FREE instance.finalize();//FUU I CAN AND IT'S FREE
} catch (Throwable ex) { } catch (Throwable ex) {

View File

@@ -164,13 +164,13 @@ public final class Channel {
eventSM = new EventScriptManager(this, getEvents()); eventSM = new EventScriptManager(this, getEvents());
} }
public final synchronized void shutdown() { public synchronized void shutdown() {
try { try {
if (finishedShutdown) { if (finishedShutdown) {
return; return;
} }
System.out.println("Shutting down Channel " + channel + " on World " + world); log.info("Shutting down channel {} in world {}", channel, world);
closeAllMerchants(); closeAllMerchants();
disconnectAwayPlayers(); disconnectAwayPlayers();
@@ -188,10 +188,9 @@ public final class Channel {
channelServer.stop(); channelServer.stop();
finishedShutdown = true; finishedShutdown = true;
System.out.println("Successfully shut down Channel " + channel + " on World " + world + "\r\n"); log.info("Successfully shut down channel {} in world {}", channel, world);
} catch (Exception e) { } catch (Exception e) {
e.printStackTrace(); log.error("Error while shutting down channel {} in world {}", channel, world, e);
System.err.println("Error while shutting down Channel " + channel + " on World " + world + "\r\n" + e);
} }
} }
@@ -1024,26 +1023,22 @@ public final class Channel {
} }
public void debugMarriageStatus() { public void debugMarriageStatus() {
System.out.println(" ----- WORLD DATA -----"); log.debug(" ----- WORLD DATA -----");
getWorldServer().debugMarriageStatus(); getWorldServer().debugMarriageStatus();
System.out.println(" ----- CH. " + channel + " -----"); log.debug(" ----- CH. {} -----", channel);
System.out.println(" ----- CATHEDRAL -----"); log.debug(" ----- CATHEDRAL -----");
System.out.println("Current Queue: " + cathedralReservationQueue); log.debug("Current Queue: {}", cathedralReservationQueue);
System.out.println("Cancel Task: " + (cathedralReservationTask != null)); log.debug("Cancel Task?: {}", cathedralReservationTask != null);
System.out.println("Ongoing wid: " + ongoingCathedral); log.debug("Ongoing wid: {}", ongoingCathedral);
System.out.println(); log.debug("Ongoing wid: {}, isPremium: {}", ongoingCathedral, ongoingCathedralType);
System.out.println("Ongoing wid: " + ongoingCathedral + " isPremium: " + ongoingCathedralType); log.debug("Guest list: {}", ongoingCathedralGuests);
System.out.println("Guest list: " + ongoingCathedralGuests); log.debug(" ----- CHAPEL -----");
System.out.println(); log.debug("Current Queue: {}", chapelReservationQueue);
System.out.println(" ----- CHAPEL -----"); log.debug("Cancel Task?: {}", chapelReservationTask != null);
System.out.println("Current Queue: " + chapelReservationQueue); log.debug("Ongoing wid: {}", ongoingChapel);
System.out.println("Cancel Task: " + (chapelReservationTask != null)); log.debug("Ongoing wid: {}, isPremium: {}", ongoingChapel, ongoingChapelType);
System.out.println("Ongoing wid: " + ongoingChapel); log.debug("Guest list: {}", ongoingChapelGuests);
System.out.println(); log.debug("Starttime: {}", ongoingStartTime);
System.out.println("Ongoing wid: " + ongoingChapel + " isPremium: " + ongoingChapelType);
System.out.println("Guest list: " + ongoingChapelGuests);
System.out.println();
System.out.println("Starttime: " + ongoingStartTime);
} }
} }

View File

@@ -23,6 +23,8 @@ package net.server.channel.handlers;
import net.AbstractPacketHandler; import net.AbstractPacketHandler;
import net.packet.InPacket; import net.packet.InPacket;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import server.maps.AnimatedMapObject; import server.maps.AnimatedMapObject;
import server.movement.*; import server.movement.*;
import tools.exceptions.EmptyMovementException; import tools.exceptions.EmptyMovementException;
@@ -32,6 +34,7 @@ import java.util.ArrayList;
import java.util.List; import java.util.List;
public abstract class AbstractMovementPacketHandler extends AbstractPacketHandler { public abstract class AbstractMovementPacketHandler extends AbstractPacketHandler {
private static final Logger log = LoggerFactory.getLogger(AbstractMovementPacketHandler.class);
protected List<LifeMovementFragment> parseMovement(InPacket p) throws EmptyMovementException { protected List<LifeMovementFragment> parseMovement(InPacket p) throws EmptyMovementException {
List<LifeMovementFragment> res = new ArrayList<>(); List<LifeMovementFragment> res = new ArrayList<>();
@@ -136,7 +139,7 @@ public abstract class AbstractMovementPacketHandler extends AbstractPacketHandle
break; break;
} }
default: default:
System.out.println("Unhandled Case:" + command); log.warn("Unhandled case: {}", command);
throw new EmptyMovementException(p); throw new EmptyMovementException(p);
} }
} }
@@ -235,7 +238,7 @@ public abstract class AbstractMovementPacketHandler extends AbstractPacketHandle
break; break;
} }
default: default:
System.out.println("Unhandled Case:" + command); log.warn("Unhandled Case: {}", command);
throw new EmptyMovementException(p); throw new EmptyMovementException(p);
} }
} }

View File

@@ -28,6 +28,8 @@ import client.inventory.InventoryType;
import client.inventory.manipulator.InventoryManipulator; import client.inventory.manipulator.InventoryManipulator;
import net.AbstractPacketHandler; import net.AbstractPacketHandler;
import net.packet.InPacket; import net.packet.InPacket;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import server.ItemInformationProvider; import server.ItemInformationProvider;
import server.life.LifeFactory; import server.life.LifeFactory;
import server.life.Monster; import server.life.Monster;
@@ -41,9 +43,10 @@ import java.util.Arrays;
import java.util.List; import java.util.List;
public final class AdminCommandHandler extends AbstractPacketHandler { public final class AdminCommandHandler extends AbstractPacketHandler {
private static final Logger log = LoggerFactory.getLogger(AdminCommandHandler.class);
@Override @Override
public final void handlePacket(InPacket p, Client c) { public void handlePacket(InPacket p, Client c) {
if (!c.getPlayer().isGM()) { if (!c.getPlayer().isGM()) {
return; return;
} }
@@ -170,13 +173,13 @@ public final class AdminCommandHandler extends AbstractPacketHandler {
break; break;
case 0x77: //Testing purpose case 0x77: //Testing purpose
if (p.available() == 4) { if (p.available() == 4) {
System.out.println(p.readInt()); log.debug("int: {}", p.readInt());
} else if (p.available() == 2) { } else if (p.available() == 2) {
System.out.println(p.readShort()); log.debug("short: {}", p.readShort());
} }
break; break;
default: default:
System.out.println("New GM packet encountered (MODE : " + mode + ": " + p); log.info("New GM packet encountered (MODE: {}): {}", mode, p);
break; break;
} }
} }

View File

@@ -26,6 +26,8 @@ import client.Client;
import net.AbstractPacketHandler; import net.AbstractPacketHandler;
import net.packet.InPacket; import net.packet.InPacket;
import net.server.guild.GuildPackets; import net.server.guild.GuildPackets;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import tools.DatabaseConnection; import tools.DatabaseConnection;
import java.sql.Connection; import java.sql.Connection;
@@ -34,13 +36,14 @@ import java.sql.ResultSet;
import java.sql.SQLException; import java.sql.SQLException;
public final class BBSOperationHandler extends AbstractPacketHandler { public final class BBSOperationHandler extends AbstractPacketHandler {
private static final Logger log = LoggerFactory.getLogger(BBSOperationHandler.class);
private String correctLength(String in, int maxSize) { private String correctLength(String in, int maxSize) {
return in.length() > maxSize ? in.substring(0, maxSize) : in; return in.length() > maxSize ? in.substring(0, maxSize) : in;
} }
@Override @Override
public final void handlePacket(InPacket p, Client c) { public void handlePacket(InPacket p, Client c) {
if (c.getPlayer().getGuildId() < 1) { if (c.getPlayer().getGuildId() < 1) {
return; return;
} }
@@ -324,10 +327,9 @@ public final class BBSOperationHandler extends AbstractPacketHandler {
ps2.close(); ps2.close();
} }
} catch (SQLException se) { } catch (SQLException se) {
se.printStackTrace(); log.error("Error displaying thread", se);
} catch (RuntimeException re) {//btw we get this everytime for some reason, but replies work! } catch (RuntimeException re) {//btw we get this everytime for some reason, but replies work!
re.printStackTrace(); log.error("The number of reply rows does not match the replycount in thread.", re);
System.out.println("The number of reply rows does not match the replycount in thread.");
} }
} }
} }

View File

@@ -469,7 +469,7 @@ public final class CashOperationHandler extends AbstractPacketHandler {
} }
c.enableCSActions(); c.enableCSActions();
} else { } else {
System.out.println("Unhandled action: " + action + "\n" + p); log.warn("Unhandled action: {}, packet: {}", action, p);
} }
} finally { } finally {
c.releaseClient(); c.releaseClient();

View File

@@ -36,12 +36,16 @@ import net.server.guild.GuildPackets;
import net.server.guild.GuildResponse; import net.server.guild.GuildResponse;
import net.server.world.Party; import net.server.world.Party;
import net.server.world.World; import net.server.world.World;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import tools.PacketCreator; import tools.PacketCreator;
import java.util.HashSet; import java.util.HashSet;
import java.util.Set; import java.util.Set;
public final class GuildOperationHandler extends AbstractPacketHandler { public final class GuildOperationHandler extends AbstractPacketHandler {
private static final Logger log = LoggerFactory.getLogger(GuildOperationHandler.class);
private boolean isGuildNameAcceptable(String name) { private boolean isGuildNameAcceptable(String name) {
if (name.length() < 3 || name.length() > 12) { if (name.length() < 3 || name.length() > 12) {
return false; return false;
@@ -55,7 +59,7 @@ public final class GuildOperationHandler extends AbstractPacketHandler {
} }
@Override @Override
public final void handlePacket(InPacket p, Client c) { public void handlePacket(InPacket p, Client c) {
Character mc = c.getPlayer(); Character mc = c.getPlayer();
byte type = p.readByte(); byte type = p.readByte();
int allianceId = -1; int allianceId = -1;
@@ -118,13 +122,13 @@ public final class GuildOperationHandler extends AbstractPacketHandler {
break; break;
case 0x06: case 0x06:
if (mc.getGuildId() > 0) { if (mc.getGuildId() > 0) {
System.out.println("[Hack] " + mc.getName() + " attempted to join a guild when s/he is already in one."); log.warn("[Hack] Chr {} attempted to join a guild when s/he is already in one.", mc.getName());
return; return;
} }
int gid = p.readInt(); int gid = p.readInt();
int cid = p.readInt(); int cid = p.readInt();
if (cid != mc.getId()) { if (cid != mc.getId()) {
System.out.println("[Hack] " + mc.getName() + " attempted to join a guild with a different character id."); log.warn("[Hack] Chr {} attempted to join a guild with a different chrId", mc.getName());
return; return;
} }
@@ -158,7 +162,7 @@ public final class GuildOperationHandler extends AbstractPacketHandler {
cid = p.readInt(); cid = p.readInt();
String name = p.readString(); String name = p.readString();
if (cid != mc.getId() || !name.equals(mc.getName()) || mc.getGuildId() <= 0) { if (cid != mc.getId() || !name.equals(mc.getName()) || mc.getGuildId() <= 0) {
System.out.println("[Hack] " + mc.getName() + " tried to quit guild under the name \"" + name + "\" and current guild id of " + mc.getGuildId() + "."); log.warn("[Hack] Chr {} tried to quit guild under the name {} and current guild id of {}", mc.getName(), name, mc.getGuildId());
return; return;
} }
@@ -183,7 +187,7 @@ public final class GuildOperationHandler extends AbstractPacketHandler {
cid = p.readInt(); cid = p.readInt();
name = p.readString(); name = p.readString();
if (mc.getGuildRank() > 2 || mc.getGuildId() <= 0) { if (mc.getGuildRank() > 2 || mc.getGuildId() <= 0) {
System.out.println("[Hack] " + mc.getName() + " is trying to expel without rank 1 or 2."); log.warn("[Hack] Chr {} is trying to expel without rank 1 or 2", mc.getName());
return; return;
} }
@@ -194,7 +198,7 @@ public final class GuildOperationHandler extends AbstractPacketHandler {
break; break;
case 0x0d: case 0x0d:
if (mc.getGuildId() <= 0 || mc.getGuildRank() != 1) { if (mc.getGuildId() <= 0 || mc.getGuildRank() != 1) {
System.out.println("[Hack] " + mc.getName() + " tried to change guild rank titles when s/he does not have permission."); log.warn("[Hack] Chr {} tried to change guild rank titles when s/he does not have permission", mc.getName());
return; return;
} }
String[] ranks = new String[5]; String[] ranks = new String[5];
@@ -208,7 +212,7 @@ public final class GuildOperationHandler extends AbstractPacketHandler {
cid = p.readInt(); cid = p.readInt();
byte newRank = p.readByte(); byte newRank = p.readByte();
if (mc.getGuildRank() > 2 || (newRank <= 2 && mc.getGuildRank() != 1) || mc.getGuildId() <= 0) { if (mc.getGuildRank() > 2 || (newRank <= 2 && mc.getGuildRank() != 1) || mc.getGuildId() <= 0) {
System.out.println("[Hack] " + mc.getName() + " is trying to change rank outside of his/her permissions."); log.warn("[Hack] Chr {} is trying to change rank outside of his/her permissions.", mc.getName());
return; return;
} }
if (newRank <= 1 || newRank > 5) { if (newRank <= 1 || newRank > 5) {
@@ -218,7 +222,7 @@ public final class GuildOperationHandler extends AbstractPacketHandler {
break; break;
case 0x0f: case 0x0f:
if (mc.getGuildId() <= 0 || mc.getGuildRank() != 1 || mc.getMapId() != MapId.GUILD_HQ) { if (mc.getGuildId() <= 0 || mc.getGuildRank() != 1 || mc.getMapId() != MapId.GUILD_HQ) {
System.out.println("[Hack] " + mc.getName() + " tried to change guild emblem without being the guild leader."); log.warn("[Hack] Chr {} tried to change guild emblem without being the guild leader", mc.getName());
return; return;
} }
if (mc.getMeso() < YamlConfig.config.server.CHANGE_EMBLEM_COST) { if (mc.getMeso() < YamlConfig.config.server.CHANGE_EMBLEM_COST) {
@@ -243,7 +247,7 @@ public final class GuildOperationHandler extends AbstractPacketHandler {
case 0x10: case 0x10:
if (mc.getGuildId() <= 0 || mc.getGuildRank() > 2) { if (mc.getGuildId() <= 0 || mc.getGuildRank() > 2) {
if (mc.getGuildId() <= 0) { if (mc.getGuildId() <= 0) {
System.out.println("[Hack] " + mc.getName() + " tried to change guild notice while not in a guild."); log.warn("[Hack] Chr {} tried to change guild notice while not in a guild", mc.getName());
} }
return; return;
} }
@@ -280,7 +284,7 @@ public final class GuildOperationHandler extends AbstractPacketHandler {
break; break;
default: default:
System.out.println("Unhandled GUILD_OPERATION packet: \n" + p); log.warn("Unhandled GUILD_OPERATION packet: {}", p);
} }
} }
} }

View File

@@ -33,6 +33,8 @@ import net.packet.InPacket;
import net.packet.Packet; import net.packet.Packet;
import net.server.Server; import net.server.Server;
import net.server.channel.Channel; import net.server.channel.Channel;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import server.ItemInformationProvider; import server.ItemInformationProvider;
import server.MTSItemInfo; import server.MTSItemInfo;
import tools.DatabaseConnection; import tools.DatabaseConnection;
@@ -48,9 +50,10 @@ import java.util.Calendar;
import java.util.List; import java.util.List;
public final class MTSHandler extends AbstractPacketHandler { public final class MTSHandler extends AbstractPacketHandler {
private static final Logger log = LoggerFactory.getLogger(MTSHandler.class);
@Override @Override
public final void handlePacket(InPacket p, Client c) { public void handlePacket(InPacket p, Client c) {
// TODO add karma-to-untradeable flag on sold items here // TODO add karma-to-untradeable flag on sold items here
if (!c.getPlayer().getCashShop().isOpened()) { if (!c.getPlayer().getCashShop().isOpened()) {
@@ -354,8 +357,7 @@ public final class MTSHandler extends AbstractPacketHandler {
ps.close(); ps.close();
con.close(); con.close();
} catch (SQLException e) { } catch (SQLException e) {
e.printStackTrace(); log.error("MTS Transfer error", e);
System.out.println("MTS Transfer error: " + e);
} }
} else if (op == 9) { //add to cart } else if (op == 9) { //add to cart
int id = p.readInt(); //id of the item int id = p.readInt(); //id of the item
@@ -537,7 +539,7 @@ public final class MTSHandler extends AbstractPacketHandler {
c.sendPacket(PacketCreator.MTSFailBuy()); c.sendPacket(PacketCreator.MTSFailBuy());
} }
} else { } else {
System.out.println("Unhandled OP(MTS): " + op + " Packet: " + p); log.warn("Unhandled OP (MTS): {}, packet: {}", op, p);
} }
} else { } else {
c.sendPacket(PacketCreator.showMTSCash(c.getPlayer())); c.sendPacket(PacketCreator.showMTSCash(c.getPlayer()));

View File

@@ -25,6 +25,8 @@ import client.Character;
import client.Client; import client.Client;
import config.YamlConfig; import config.YamlConfig;
import net.packet.InPacket; import net.packet.InPacket;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import server.life.MobSkill; import server.life.MobSkill;
import server.life.MobSkillFactory; import server.life.MobSkillFactory;
import server.life.Monster; import server.life.Monster;
@@ -47,9 +49,10 @@ import java.util.List;
* @author Ronan (HeavenMS) * @author Ronan (HeavenMS)
*/ */
public final class MoveLifeHandler extends AbstractMovementPacketHandler { public final class MoveLifeHandler extends AbstractMovementPacketHandler {
private static final Logger log = LoggerFactory.getLogger(MoveLifeHandler.class);
@Override @Override
public final void handlePacket(InPacket p, Client c) { public void handlePacket(InPacket p, Client c) {
Character player = c.getPlayer(); Character player = c.getPlayer();
MapleMap map = player.getMap(); MapleMap map = player.getMap();
@@ -165,7 +168,9 @@ public final class MoveLifeHandler extends AbstractMovementPacketHandler {
p.seek(movementDataStart); p.seek(movementDataStart);
if (YamlConfig.config.server.USE_DEBUG_SHOW_RCVD_MVLIFE) { if (YamlConfig.config.server.USE_DEBUG_SHOW_RCVD_MVLIFE) {
System.out.println((isSkill ? "SKILL " : (isAttack ? "ATTCK " : " ")) + "castPos: " + castPos + " rawAct: " + rawActivity + " opt: " + pOption + " skillID: " + useSkillId + " skillLV: " + useSkillLevel + " " + "allowSkill: " + nextMovementCouldBeSkill + " mobMp: " + mobMp); log.debug("{} castPos: {}, rawAct: {}, opt: {}, skillId: {}, skillLv: {}, allowSkill: {}, mobMp: {}",
isSkill ? "SKILL" : (isAttack ? "ATTCK" : ""), castPos, rawActivity, pOption, useSkillId,
useSkillLevel, nextMovementCouldBeSkill, mobMp);
} }
map.broadcastMessage(player, PacketCreator.moveMonster(objectid, nextMovementCouldBeSkill, rawActivity, useSkillId, useSkillLevel, pOption, startPos, p, movementDataLength), serverStartPos); map.broadcastMessage(player, PacketCreator.moveMonster(objectid, nextMovementCouldBeSkill, rawActivity, useSkillId, useSkillLevel, pOption, startPos, p, movementDataLength), serverStartPos);

View File

@@ -487,7 +487,7 @@ public final class PlayerInteractionHandler extends AbstractPacketHandler {
byte targetSlot = p.readByte(); byte targetSlot = p.readByte();
if (targetSlot < 1 || targetSlot > 9) { if (targetSlot < 1 || targetSlot > 9) {
System.out.println("[Hack] " + chr.getName() + " Trying to dupe on trade slot."); log.warn("[Hack] Chr {} Trying to dupe on trade slot.", chr.getName());
c.sendPacket(PacketCreator.enableActions()); c.sendPacket(PacketCreator.enableActions());
return; return;
} }

View File

@@ -35,6 +35,8 @@ import constants.inventory.ItemConstants;
import constants.skills.*; import constants.skills.*;
import net.packet.InPacket; import net.packet.InPacket;
import net.packet.Packet; import net.packet.Packet;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import server.ItemInformationProvider; import server.ItemInformationProvider;
import server.StatEffect; import server.StatEffect;
import tools.PacketCreator; import tools.PacketCreator;
@@ -44,9 +46,10 @@ import static java.util.concurrent.TimeUnit.SECONDS;
public final class RangedAttackHandler extends AbstractDealDamageHandler { public final class RangedAttackHandler extends AbstractDealDamageHandler {
private static final Logger log = LoggerFactory.getLogger(RangedAttackHandler.class);
@Override @Override
public final void handlePacket(InPacket p, Client c) { public void handlePacket(InPacket p, Client c) {
Character chr = c.getPlayer(); Character chr = c.getPlayer();
/*long timeElapsed = currentServerTime() - chr.getAutobanManager().getLastSpam(8); /*long timeElapsed = currentServerTime() - chr.getAutobanManager().getLastSpam(8);
@@ -171,7 +174,7 @@ public final class RangedAttackHandler extends AbstractDealDamageHandler {
} }
if (slot < 0) { if (slot < 0) {
System.out.println("<ERROR> Projectile to use was unable to be found."); log.warn("<ERROR> Projectile to use was unable to be found.");
} else { } else {
InventoryManipulator.removeFromSlot(c, InventoryType.USE, slot, bulletConsume, false, true); InventoryManipulator.removeFromSlot(c, InventoryType.USE, slot, bulletConsume, false, true);
} }

View File

@@ -34,6 +34,8 @@ import net.AbstractPacketHandler;
import net.packet.InPacket; import net.packet.InPacket;
import net.server.channel.Channel; import net.server.channel.Channel;
import net.server.world.World; import net.server.world.World;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import scripting.event.EventInstanceManager; import scripting.event.EventInstanceManager;
import server.ItemInformationProvider; import server.ItemInformationProvider;
import tools.DatabaseConnection; import tools.DatabaseConnection;
@@ -52,6 +54,7 @@ import java.sql.SQLException;
* @author Drago (Dragohe4rt) - on Wishlist * @author Drago (Dragohe4rt) - on Wishlist
*/ */
public final class RingActionHandler extends AbstractPacketHandler { public final class RingActionHandler extends AbstractPacketHandler {
private static final Logger log = LoggerFactory.getLogger(RingActionHandler.class);
private static int getEngagementBoxId(int useItemId) { private static int getEngagementBoxId(int useItemId) {
return switch (useItemId) { return switch (useItemId) {
@@ -175,7 +178,7 @@ public final class RingActionHandler extends AbstractPacketHandler {
eraseEngagementOffline(characterId, con); eraseEngagementOffline(characterId, con);
} catch (SQLException ex) { } catch (SQLException ex) {
System.out.println("Error updating offline breakup " + ex.getMessage()); log.error("Error updating offline breakup", ex);
} }
} }
@@ -361,7 +364,7 @@ public final class RingActionHandler extends AbstractPacketHandler {
source.sendPacket(WeddingPackets.OnNotifyWeddingPartnerTransfer(target.getId(), target.getMapId())); source.sendPacket(WeddingPackets.OnNotifyWeddingPartnerTransfer(target.getId(), target.getMapId()));
target.sendPacket(WeddingPackets.OnNotifyWeddingPartnerTransfer(source.getId(), source.getMapId())); target.sendPacket(WeddingPackets.OnNotifyWeddingPartnerTransfer(source.getId(), source.getMapId()));
} catch (Exception e) { } catch (Exception e) {
System.out.println("Error with engagement " + e.getMessage()); log.error("Error with engagement", e);
} }
} else { } else {
source.dropMessage(1, "She has politely declined your engagement request."); source.dropMessage(1, "She has politely declined your engagement request.");
@@ -509,7 +512,7 @@ public final class RingActionHandler extends AbstractPacketHandler {
break; break;
default: default:
System.out.println("Unhandled RING_ACTION Mode: " + p); log.warn("Unhandled RING_ACTION mode. Packet: {}", p);
break; break;
} }

View File

@@ -25,11 +25,15 @@ import client.Client;
import constants.skills.*; import constants.skills.*;
import net.AbstractPacketHandler; import net.AbstractPacketHandler;
import net.packet.InPacket; import net.packet.InPacket;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import tools.PacketCreator; import tools.PacketCreator;
public final class SkillEffectHandler extends AbstractPacketHandler { public final class SkillEffectHandler extends AbstractPacketHandler {
private static final Logger log = LoggerFactory.getLogger(SkillEffectHandler.class);
@Override @Override
public final void handlePacket(InPacket p, Client c) { public void handlePacket(InPacket p, Client c) {
int skillId = p.readInt(); int skillId = p.readInt();
int level = p.readByte(); int level = p.readByte();
byte flags = p.readByte(); byte flags = p.readByte();
@@ -57,7 +61,7 @@ public final class SkillEffectHandler extends AbstractPacketHandler {
c.getPlayer().getMap().broadcastMessage(c.getPlayer(), PacketCreator.skillEffect(c.getPlayer(), skillId, level, flags, speed, aids), false); c.getPlayer().getMap().broadcastMessage(c.getPlayer(), PacketCreator.skillEffect(c.getPlayer(), skillId, level, flags, speed, aids), false);
return; return;
default: default:
System.out.println(c.getPlayer() + " entered SkillEffectHandler without being handled using " + skillId + "."); log.warn("Chr {} entered SkillEffectHandler without being handled using {}", c.getPlayer(), skillId);
return; return;
} }
} }

View File

@@ -39,6 +39,8 @@ import constants.inventory.ItemConstants;
import net.AbstractPacketHandler; import net.AbstractPacketHandler;
import net.packet.InPacket; import net.packet.InPacket;
import net.server.Server; import net.server.Server;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import server.ItemInformationProvider; import server.ItemInformationProvider;
import server.Shop; import server.Shop;
import server.ShopFactory; import server.ShopFactory;
@@ -56,9 +58,10 @@ import static java.util.concurrent.TimeUnit.DAYS;
import static java.util.concurrent.TimeUnit.SECONDS; import static java.util.concurrent.TimeUnit.SECONDS;
public final class UseCashItemHandler extends AbstractPacketHandler { public final class UseCashItemHandler extends AbstractPacketHandler {
private static final Logger log = LoggerFactory.getLogger(UseCashItemHandler.class);
@Override @Override
public final void handlePacket(InPacket p, Client c) { public void handlePacket(InPacket p, Client c) {
final Character player = c.getPlayer(); final Character player = c.getPlayer();
long timeNow = currentServerTime(); long timeNow = currentServerTime();
@@ -601,7 +604,7 @@ public final class UseCashItemHandler extends AbstractPacketHandler {
client.sendPacket(PacketCreator.enableActions()); client.sendPacket(PacketCreator.enableActions());
}, SECONDS.toMillis(3)); }, SECONDS.toMillis(3));
} else { } else {
System.out.println("NEW CASH ITEM: " + itemType + "\n" + p); log.warn("NEW CASH ITEM TYPE: {}, packet: {}", itemType, p);
c.sendPacket(PacketCreator.enableActions()); c.sendPacket(PacketCreator.enableActions());
} }
} }

View File

@@ -18,6 +18,8 @@ import config.YamlConfig;
import constants.inventory.ItemConstants; import constants.inventory.ItemConstants;
import net.AbstractPacketHandler; import net.AbstractPacketHandler;
import net.packet.InPacket; import net.packet.InPacket;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import server.Marriage; import server.Marriage;
import tools.PacketCreator; import tools.PacketCreator;
import tools.packets.WeddingPackets; import tools.packets.WeddingPackets;
@@ -29,9 +31,10 @@ import java.util.List;
* @author Drago (Dragohe4rt) * @author Drago (Dragohe4rt)
*/ */
public final class WeddingHandler extends AbstractPacketHandler { public final class WeddingHandler extends AbstractPacketHandler {
private static final Logger log = LoggerFactory.getLogger(WeddingHandler.class);
@Override @Override
public final void handlePacket(InPacket p, Client c) { public void handlePacket(InPacket p, Client c) {
if (c.tryacquireClient()) { if (c.tryacquireClient()) {
try { try {
@@ -151,7 +154,7 @@ public final class WeddingHandler extends AbstractPacketHandler {
} else if (mode == 8) { // out of Wedding Registry } else if (mode == 8) { // out of Wedding Registry
c.sendPacket(PacketCreator.enableActions()); c.sendPacket(PacketCreator.enableActions());
} else { } else {
System.out.println(mode); log.warn("Unhandled wedding mode: {}", mode);
} }
} finally { } finally {
c.releaseClient(); c.releaseClient();

View File

@@ -344,27 +344,26 @@ public class SessionCoordinator {
.map(Object::toString) .map(Object::toString)
.collect(Collectors.joining(", ")); .collect(Collectors.joining(", "));
System.out.println("Current online clients: " + commaSeparatedClients); log.debug("Current online clients: {}", commaSeparatedClients);
} }
if (!onlineRemoteHwids.isEmpty()) { if (!onlineRemoteHwids.isEmpty()) {
List<Hwid> hwids = new ArrayList<>(onlineRemoteHwids); List<Hwid> hwids = new ArrayList<>(onlineRemoteHwids);
hwids.sort(Comparator.comparing(Hwid::hwid)); hwids.sort(Comparator.comparing(Hwid::hwid));
System.out.println("Current online HWIDs: "); log.debug("Current online HWIDs: {}", hwids.stream()
for (Hwid s : hwids) { .map(Hwid::hwid)
System.out.println(" " + s); .collect(Collectors.joining(" ")));
}
} }
if (!loginRemoteHosts.isEmpty()) { if (!loginRemoteHosts.isEmpty()) {
List<Entry<String, Client>> elist = new ArrayList<>(loginRemoteHosts.entrySet()); List<Entry<String, Client>> elist = new ArrayList<>(loginRemoteHosts.entrySet());
elist.sort(Entry.comparingByKey()); elist.sort(Entry.comparingByKey());
System.out.println("Current login sessions: "); log.debug("Current login sessions: {}", loginRemoteHosts.entrySet().stream()
for (Entry<String, Client> e : elist) { .sorted(Entry.comparingByKey())
System.out.println(" " + e.getKey() + ", client: " + e.getValue()); .map(entry -> "(" + entry.getKey() + ", client: " + entry.getValue())
} .collect(Collectors.joining(", ")));
} }
} }

View File

@@ -34,6 +34,8 @@ import net.server.coordinator.matchchecker.MatchCheckerCoordinator;
import net.server.coordinator.world.InviteCoordinator; import net.server.coordinator.world.InviteCoordinator;
import net.server.coordinator.world.InviteCoordinator.InviteResult; import net.server.coordinator.world.InviteCoordinator.InviteResult;
import net.server.coordinator.world.InviteCoordinator.InviteType; import net.server.coordinator.world.InviteCoordinator.InviteType;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import tools.DatabaseConnection; import tools.DatabaseConnection;
import tools.PacketCreator; import tools.PacketCreator;
@@ -45,6 +47,7 @@ import java.util.*;
import java.util.concurrent.locks.Lock; import java.util.concurrent.locks.Lock;
public class Guild { public class Guild {
private static final Logger log = LoggerFactory.getLogger(Guild.class);
private enum BCOp { private enum BCOp {
NONE, DISBAND, EMBLEMCHANGE NONE, DISBAND, EMBLEMCHANGE
@@ -102,8 +105,7 @@ public class Guild {
} }
} }
} catch (SQLException se) { } catch (SQLException se) {
se.printStackTrace(); log.error("Unable to read guild information from sql", se);
System.out.println("Unable to read guild information from sql: " + se);
} }
} }
@@ -340,8 +342,7 @@ public class Guild {
} }
} }
} catch (Exception re) { } catch (Exception re) {
re.printStackTrace(); log.error("Failed to contact channel(s) for broadcast.", re);
System.out.println("Failed to contact channel(s) for broadcast.");//fu?
} }
} }
} finally { } finally {
@@ -520,8 +521,7 @@ public class Guild {
ps.setLong(4, System.currentTimeMillis()); ps.setLong(4, System.currentTimeMillis());
ps.executeUpdate(); ps.executeUpdate();
} catch (SQLException e) { } catch (SQLException e) {
e.printStackTrace(); log.error("expelMember - Guild", e);
System.out.println("expelMember - Guild " + e);
} }
Server.getInstance().getWorld(mgc.getWorld()).setOfflineGuildStatus((short) 0, (byte) 5, cid); Server.getInstance().getWorld(mgc.getWorld()).setOfflineGuildStatus((short) 0, (byte) 5, cid);
} }
@@ -532,7 +532,7 @@ public class Guild {
return; return;
} }
} }
System.out.println("Unable to find member with name " + name + " and id " + cid); log.warn("Unable to find member with name {} and id {}", name, cid);
} finally { } finally {
membersLock.unlock(); membersLock.unlock();
} }
@@ -768,8 +768,7 @@ public class Guild {
ResultSet rs = ps.executeQuery()) { ResultSet rs = ps.executeQuery()) {
c.sendPacket(GuildPackets.showGuildRanks(npcid, rs)); c.sendPacket(GuildPackets.showGuildRanks(npcid, rs));
} catch (SQLException e) { } catch (SQLException e) {
e.printStackTrace(); log.error("Failed to display guild ranks.", e);
System.out.println("failed to display guild ranks. " + e);
} }
} }

View File

@@ -52,6 +52,8 @@ import net.server.services.BaseService;
import net.server.services.ServicesManager; import net.server.services.ServicesManager;
import net.server.services.type.WorldServices; import net.server.services.type.WorldServices;
import net.server.task.*; import net.server.task.*;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import scripting.event.EventInstanceManager; import scripting.event.EventInstanceManager;
import server.Storage; import server.Storage;
import server.TimerManager; import server.TimerManager;
@@ -75,6 +77,7 @@ import static java.util.concurrent.TimeUnit.*;
* @author Ronan - thread-oriented (world schedules + guild queue + marriages + party chars) * @author Ronan - thread-oriented (world schedules + guild queue + marriages + party chars)
*/ */
public class World { public class World {
private static final Logger log = LoggerFactory.getLogger(World.class);
private final int id; private final int id;
private int flag; private int flag;
@@ -834,8 +837,8 @@ public class World {
} }
public void debugMarriageStatus() { public void debugMarriageStatus() {
System.out.println("Queued marriages: " + queuedMarriages); log.debug("Queued marriages: {}", queuedMarriages);
System.out.println("Guest list: " + marriageGuests); log.debug("Guest list: {}", marriageGuests);
} }
private void registerCharacterParty(Integer chrid, Integer partyid) { private void registerCharacterParty(Integer chrid, Integer partyid) {
@@ -1004,7 +1007,7 @@ public class World {
} }
break; break;
default: default:
System.out.println("Unhandled updateParty operation " + operation.name()); log.warn("Unhandled updateParty operation: {}", operation.name());
} }
updateParty(party, operation, target); updateParty(party, operation, target);
} }
@@ -2151,6 +2154,6 @@ public class World {
players = null; players = null;
clearWorldData(); clearWorldData();
System.out.println("Finished shutting down world " + id + "\r\n"); log.info("Finished shutting down world {}", id);
} }
} }

View File

@@ -22,6 +22,7 @@
package scripting.event; package scripting.event;
import net.server.channel.Channel; import net.server.channel.Channel;
import org.slf4j.LoggerFactory;
import scripting.AbstractScriptManager; import scripting.AbstractScriptManager;
import scripting.SynchronizedInvocable; import scripting.SynchronizedInvocable;
@@ -32,13 +33,12 @@ import java.util.Map;
import java.util.Map.Entry; import java.util.Map.Entry;
import java.util.Set; import java.util.Set;
import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ConcurrentHashMap;
import java.util.logging.Level;
import java.util.logging.Logger;
/** /**
* @author Matze * @author Matze
*/ */
public class EventScriptManager extends AbstractScriptManager { public class EventScriptManager extends AbstractScriptManager {
private static final org.slf4j.Logger log = LoggerFactory.getLogger(EventScriptManager.class);
private static final String INJECTED_VARIABLE_NAME = "em"; private static final String INJECTED_VARIABLE_NAME = "em";
private static EventEntry fallback; private static EventEntry fallback;
private final Map<String, EventEntry> events = new ConcurrentHashMap<>(); private final Map<String, EventEntry> events = new ConcurrentHashMap<>();
@@ -83,8 +83,7 @@ public class EventScriptManager extends AbstractScriptManager {
try { try {
entry.iv.invokeFunction("init", (Object) null); entry.iv.invokeFunction("init", (Object) null);
} catch (Exception ex) { } catch (Exception ex) {
Logger.getLogger(EventScriptManager.class.getName()).log(Level.SEVERE, null, ex); log.error("Error on script: {}", entry.em.getName(), ex);
System.out.println("Error on script: " + entry.em.getName());
} }
} }

View File

@@ -28,6 +28,8 @@ import client.inventory.Pet;
import client.inventory.manipulator.InventoryManipulator; import client.inventory.manipulator.InventoryManipulator;
import constants.id.ItemId; import constants.id.ItemId;
import constants.inventory.ItemConstants; import constants.inventory.ItemConstants;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import tools.DatabaseConnection; import tools.DatabaseConnection;
import tools.PacketCreator; import tools.PacketCreator;
@@ -44,7 +46,9 @@ import java.util.Set;
* @author Matze * @author Matze
*/ */
public class Shop { public class Shop {
private static final Logger log = LoggerFactory.getLogger(Shop.class);
private static final Set<Integer> rechargeableItems = new LinkedHashSet<>(); private static final Set<Integer> rechargeableItems = new LinkedHashSet<>();
private final int id; private final int id;
private final int npcId; private final int npcId;
private final List<ShopItem> items; private final List<ShopItem> items;
@@ -83,7 +87,7 @@ public class Shop {
ShopItem item = findBySlot(slot); ShopItem item = findBySlot(slot);
if (item != null) { if (item != null) {
if (item.getItemId() != itemId) { if (item.getItemId() != itemId) {
System.out.println("Wrong slot number in shop " + id); log.warn("Wrong slot number in shop {}", id);
return; return;
} }
} else { } else {

View File

@@ -20,6 +20,8 @@
package server; package server;
import client.Character; import client.Character;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import provider.Data; import provider.Data;
import provider.DataProvider; import provider.DataProvider;
import provider.DataProviderFactory; import provider.DataProviderFactory;
@@ -45,6 +47,7 @@ import java.util.regex.Pattern;
* Only used in 1 script that gives players information about where skillbooks can be found * Only used in 1 script that gives players information about where skillbooks can be found
*/ */
public class SkillbookInformationProvider { public class SkillbookInformationProvider {
private static final Logger log = LoggerFactory.getLogger(SkillbookInformationProvider.class);
private static volatile Map<Integer, SkillBookEntry> foundSkillbooks = new HashMap<>(); private static volatile Map<Integer, SkillBookEntry> foundSkillbooks = new HashMap<>();
public enum SkillBookEntry { public enum SkillBookEntry {
@@ -242,8 +245,7 @@ public class SkillbookInformationProvider {
scriptFileSkillbooks.put(skillbookId, SkillBookEntry.SCRIPT); scriptFileSkillbooks.put(skillbookId, SkillBookEntry.SCRIPT);
} }
} catch (IOException ioe) { } catch (IOException ioe) {
System.out.println("Failed to read " + file.getName() + "."); log.error("Failed to read file:{}", file.getName(), ioe);
ioe.printStackTrace();
} }
return scriptFileSkillbooks; return scriptFileSkillbooks;

View File

@@ -182,7 +182,7 @@ public class Trade {
throw new RuntimeException("Trade is locked."); throw new RuntimeException("Trade is locked.");
} }
if (meso < 0) { if (meso < 0) {
System.out.println("[Hack] " + chr.getName() + " Trying to trade < 0 mesos"); log.warn("[Hack] Chr {} is trying to trade negative mesos", chr.getName());
return; return;
} }
if (chr.getMeso() >= meso) { if (chr.getMeso() >= meso) {

View File

@@ -21,6 +21,8 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/ */
package server.life; package server.life;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import provider.Data; import provider.Data;
import provider.DataProvider; import provider.DataProvider;
import provider.DataProviderFactory; import provider.DataProviderFactory;
@@ -35,6 +37,7 @@ import java.util.List;
import java.util.*; import java.util.*;
public class LifeFactory { public class LifeFactory {
private static final Logger log = LoggerFactory.getLogger(LifeFactory.class);
private static final DataProvider data = DataProviderFactory.getDataProvider(WZFiles.MOB); private static final DataProvider data = DataProviderFactory.getDataProvider(WZFiles.MOB);
private final static DataProvider stringDataWZ = DataProviderFactory.getDataProvider(WZFiles.STRING); private final static DataProvider stringDataWZ = DataProviderFactory.getDataProvider(WZFiles.STRING);
private static final Data mobStringData = stringDataWZ.getData("Mob.img"); private static final Data mobStringData = stringDataWZ.getData("Mob.img");
@@ -59,7 +62,7 @@ public class LifeFactory {
} else if (type.equalsIgnoreCase("m")) { } else if (type.equalsIgnoreCase("m")) {
return getMonster(id); return getMonster(id);
} else { } else {
System.out.println("Unknown Life type: " + type); log.warn("Unknown Life type: {}", type);
return null; return null;
} }
} }
@@ -247,12 +250,9 @@ public class LifeFactory {
monsterStats.put(mid, stats); monsterStats.put(mid, stats);
} }
Monster ret = new Monster(mid, stats); return new Monster(mid, stats);
return ret;
} catch (NullPointerException npe) { } catch (NullPointerException npe) {
System.out.println("[SEVERE] MOB " + mid + " failed to load. Issue: " + npe.getMessage() + "\n\n"); log.error("[SEVERE] MOB {} failed to load.", mid, npe);
npe.printStackTrace();
return null; return null;
} }
} }
@@ -271,8 +271,7 @@ public class LifeFactory {
return stats.getLevel(); return stats.getLevel();
} }
} catch (NullPointerException npe) { } catch (NullPointerException npe) {
System.out.println("[SEVERE] MOB " + mid + " failed to load. Issue: " + npe.getMessage() + "\n\n"); log.error("[SEVERE] MOB {} failed to load.", mid, npe);
npe.printStackTrace();
} }
return -1; return -1;

View File

@@ -28,6 +28,8 @@ import constants.id.MapId;
import constants.id.MobId; import constants.id.MobId;
import net.server.services.task.channel.OverallService; import net.server.services.task.channel.OverallService;
import net.server.services.type.ChannelServices; import net.server.services.type.ChannelServices;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import server.maps.MapObject; import server.maps.MapObject;
import server.maps.MapObjectType; import server.maps.MapObjectType;
import server.maps.MapleMap; import server.maps.MapleMap;
@@ -43,6 +45,7 @@ import java.util.*;
* @author Danny (Leifde) * @author Danny (Leifde)
*/ */
public class MobSkill { public class MobSkill {
private static final Logger log = LoggerFactory.getLogger(MobSkill.class);
private final int skillId; private final int skillId;
private final int skillLevel; private final int skillLevel;
@@ -314,7 +317,7 @@ public class MobSkill {
} }
break; break;
default: default:
System.out.println("Unhandled Mob skill: " + skillId); log.warn("Unhandled Mob skill: {}", skillId);
break; break;
} }
if (stats.size() > 0) { if (stats.size() > 0) {

View File

@@ -42,6 +42,8 @@ import net.server.services.task.channel.OverallService;
import net.server.services.type.ChannelServices; import net.server.services.type.ChannelServices;
import net.server.world.Party; import net.server.world.Party;
import net.server.world.PartyCharacter; import net.server.world.PartyCharacter;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import scripting.event.EventInstanceManager; import scripting.event.EventInstanceManager;
import server.StatEffect; import server.StatEffect;
import server.TimerManager; import server.TimerManager;
@@ -66,6 +68,7 @@ import java.util.concurrent.atomic.AtomicInteger;
import java.util.concurrent.atomic.AtomicLong; import java.util.concurrent.atomic.AtomicLong;
public class Monster extends AbstractLoadedLife { public class Monster extends AbstractLoadedLife {
private static final Logger log = LoggerFactory.getLogger(Monster.class);
private ChangeableStats ostats = null; //unused, v83 WZs offers no support for changeable stats. private ChangeableStats ostats = null; //unused, v83 WZs offers no support for changeable stats.
private MonsterStats stats; private MonsterStats stats;
@@ -823,7 +826,7 @@ public class Monster extends AbstractLoadedLife {
}, getAnimationTime("die1")); }, getAnimationTime("die1"));
} }
} else { // is this even necessary? } else { // is this even necessary?
System.out.println("[CRITICAL LOSS] toSpawn is null for " + this.getName()); log.warn("[CRITICAL LOSS] toSpawn is null for {}", getName());
} }
Character looter = map.getCharacterById(getHighestDamagerId()); Character looter = map.getCharacterById(getHighestDamagerId());
@@ -1124,7 +1127,7 @@ public class Monster extends AbstractLoadedLife {
case WEAK: case WEAK:
break; break;
default: { default: {
System.out.println("Unknown elemental effectiveness: " + getMonsterEffectiveness(status.getSkill().getElement())); log.warn("Unknown elemental effectiveness: {}", getMonsterEffectiveness(status.getSkill().getElement()));
return false; return false;
} }
} }

View File

@@ -22,6 +22,8 @@ package server.life;
import config.YamlConfig; import config.YamlConfig;
import constants.inventory.ItemConstants; import constants.inventory.ItemConstants;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import provider.Data; import provider.Data;
import provider.DataProvider; import provider.DataProvider;
import provider.DataProviderFactory; import provider.DataProviderFactory;
@@ -39,6 +41,7 @@ import java.sql.SQLException;
import java.util.*; import java.util.*;
public class MonsterInformationProvider { public class MonsterInformationProvider {
private static final Logger log = LoggerFactory.getLogger(MonsterInformationProvider.class);
// Author : LightPepsi // Author : LightPepsi
private static final MonsterInformationProvider instance = new MonsterInformationProvider(); private static final MonsterInformationProvider instance = new MonsterInformationProvider();
@@ -100,7 +103,7 @@ public class MonsterInformationProvider {
rs.getShort("questid"))); rs.getShort("questid")));
} }
} catch (SQLException e) { } catch (SQLException e) {
System.err.println("Error retrieving drop" + e); log.error("Error retrieving global drops", e);
} }
} }
@@ -254,8 +257,7 @@ public class MonsterInformationProvider {
} catch (Exception e) { //nonexistant mob } catch (Exception e) { //nonexistant mob
boss = false; boss = false;
e.printStackTrace(); log.warn("Non-existent mob id {}", id, e);
System.err.println("Nonexistant mob id " + id);
} }
mobBossCache.put(id, boss); mobBossCache.put(id, boss);

View File

@@ -31,6 +31,8 @@ import constants.id.NpcId;
import net.server.Server; import net.server.Server;
import net.server.channel.Channel; import net.server.channel.Channel;
import net.server.world.World; import net.server.world.World;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import server.life.positioner.PlayerNPCPodium; import server.life.positioner.PlayerNPCPodium;
import server.life.positioner.PlayerNPCPositioner; import server.life.positioner.PlayerNPCPositioner;
import server.maps.AbstractMapObject; import server.maps.AbstractMapObject;
@@ -52,6 +54,7 @@ import java.util.concurrent.atomic.AtomicInteger;
* @author Ronan * @author Ronan
*/ */
public class PlayerNPC extends AbstractMapObject { public class PlayerNPC extends AbstractMapObject {
private static final Logger log = LoggerFactory.getLogger(PlayerNPC.class);
private static final Map<Byte, List<Integer>> availablePlayerNpcScriptIds = new HashMap<>(); private static final Map<Byte, List<Integer>> availablePlayerNpcScriptIds = new HashMap<>();
private static final AtomicInteger runningOverallRank = new AtomicInteger(); private static final AtomicInteger runningOverallRank = new AtomicInteger();
private static final List<AtomicInteger> runningWorldRank = new ArrayList<>(); private static final List<AtomicInteger> runningWorldRank = new ArrayList<>();
@@ -400,7 +403,7 @@ public class PlayerNPC extends AbstractMapObject {
} }
if (YamlConfig.config.server.USE_DEBUG) { if (YamlConfig.config.server.USE_DEBUG) {
System.out.println("GOT SID " + scriptId + " POS " + pos); log.debug("GOT SID {}, POS {}", scriptId, pos);
} }
int worldId = chr.getWorld(); int worldId = chr.getWorld();

View File

@@ -22,6 +22,8 @@ package server.life.positioner;
import config.YamlConfig; import config.YamlConfig;
import net.server.Server; import net.server.Server;
import net.server.channel.Channel; import net.server.channel.Channel;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import server.life.PlayerNPC; import server.life.PlayerNPC;
import server.maps.MapObject; import server.maps.MapObject;
import server.maps.MapObjectType; import server.maps.MapObjectType;
@@ -40,6 +42,8 @@ import java.util.List;
* Podium system will implement increase-by-7 to negate that behaviour. * Podium system will implement increase-by-7 to negate that behaviour.
*/ */
public class PlayerNPCPodium { public class PlayerNPCPodium {
private static final Logger log = LoggerFactory.getLogger(PlayerNPCPodium.class);
private static int getPlatformPosX(int platform) { private static int getPlatformPosX(int platform) {
return switch (platform) { return switch (platform) {
case 0 -> -50; case 0 -> -50;
@@ -76,7 +80,7 @@ public class PlayerNPCPodium {
private static Point reorganizePlayerNpcs(MapleMap map, int newStep, List<MapObject> mmoList) { private static Point reorganizePlayerNpcs(MapleMap map, int newStep, List<MapObject> mmoList) {
if (!mmoList.isEmpty()) { if (!mmoList.isEmpty()) {
if (YamlConfig.config.server.USE_DEBUG) { if (YamlConfig.config.server.USE_DEBUG) {
System.out.println("Reorganizing pnpc map, step " + newStep); log.debug("Re-organizing pnpc map, step {}", newStep);
} }
List<PlayerNPC> playerNpcs = new ArrayList<>(mmoList.size()); List<PlayerNPC> playerNpcs = new ArrayList<>(mmoList.size());

View File

@@ -22,6 +22,8 @@ package server.life.positioner;
import config.YamlConfig; import config.YamlConfig;
import net.server.Server; import net.server.Server;
import net.server.channel.Channel; import net.server.channel.Channel;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import server.life.PlayerNPC; import server.life.PlayerNPC;
import server.maps.MapObject; import server.maps.MapObject;
import server.maps.MapObjectType; import server.maps.MapObjectType;
@@ -38,6 +40,7 @@ import java.util.List;
* @author RonanLana * @author RonanLana
*/ */
public class PlayerNPCPositioner { public class PlayerNPCPositioner {
private static final Logger log = LoggerFactory.getLogger(PlayerNPCPositioner.class);
private static boolean isPlayerNpcNearby(List<Point> otherPos, Point searchPos, int xLimit, int yLimit) { private static boolean isPlayerNpcNearby(List<Point> otherPos, Point searchPos, int xLimit, int yLimit) {
int xLimit2 = xLimit / 2, yLimit2 = yLimit / 2; int xLimit2 = xLimit / 2, yLimit2 = yLimit / 2;
@@ -135,7 +138,7 @@ public class PlayerNPCPositioner {
private static Point reorganizePlayerNpcs(MapleMap map, int newStep, List<MapObject> mmoList) { private static Point reorganizePlayerNpcs(MapleMap map, int newStep, List<MapObject> mmoList) {
if (!mmoList.isEmpty()) { if (!mmoList.isEmpty()) {
if (YamlConfig.config.server.USE_DEBUG) { if (YamlConfig.config.server.USE_DEBUG) {
System.out.println("Reorganizing pnpc map, step " + newStep); log.debug("Re-organizing pnpc map, step {}", newStep);
} }
List<PlayerNPC> playerNpcs = new ArrayList<>(mmoList.size()); List<PlayerNPC> playerNpcs = new ArrayList<>(mmoList.size());

View File

@@ -25,6 +25,8 @@ import client.Character;
import client.QuestStatus; import client.QuestStatus;
import client.QuestStatus.Status; import client.QuestStatus.Status;
import config.YamlConfig; import config.YamlConfig;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import provider.Data; import provider.Data;
import provider.DataProvider; import provider.DataProvider;
import provider.DataProviderFactory; import provider.DataProviderFactory;
@@ -46,6 +48,7 @@ import static java.util.concurrent.TimeUnit.SECONDS;
* @author Ronan - support for medal quests * @author Ronan - support for medal quests
*/ */
public class Quest { public class Quest {
private static final Logger log = LoggerFactory.getLogger(Quest.class);
private static volatile Map<Integer, Quest> quests = new HashMap<>(); private static volatile Map<Integer, Quest> quests = new HashMap<>();
private static volatile Map<Integer, Integer> infoNumberQuests = new HashMap<>(); private static volatile Map<Integer, Integer> infoNumberQuests = new HashMap<>();
private static final Map<Short, Integer> medals = new HashMap<>(); private static final Map<Short, Integer> medals = new HashMap<>();
@@ -100,7 +103,7 @@ public class Quest {
medals.put(this.id, medalid); medals.put(this.id, medalid);
} }
} else { } else {
System.out.println("no data " + id); log.warn("No quest data for id {}", id);
} }
} }

View File

@@ -24,6 +24,8 @@ import config.YamlConfig;
import constants.id.ItemId; import constants.id.ItemId;
import constants.id.MapId; import constants.id.MapId;
import constants.inventory.ItemConstants; import constants.inventory.ItemConstants;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import server.ItemInformationProvider; import server.ItemInformationProvider;
import tools.PacketCreator; import tools.PacketCreator;
@@ -34,6 +36,7 @@ import java.util.Calendar;
* @author Ronan - timing pattern * @author Ronan - timing pattern
*/ */
public class Fishing { public class Fishing {
private static final Logger log = LoggerFactory.getLogger(Fishing.class);
private static double getFishingLikelihood(int x) { private static double getFishingLikelihood(int x) {
return 50.0 + 7.0 * (7.0 * Math.sin(x)) * (Math.cos(Math.pow(x, 0.777))); return 50.0 + 7.0 * (7.0 * Math.sin(x)) * (Math.cos(Math.pow(x, 0.777)));
@@ -192,8 +195,8 @@ public class Fishing {
} }
} }
System.out.println("Diary min " + minhit + " max " + maxhit); log.debug("Diary min {} max {}", minhit, maxhit);
System.out.println("Diary10 min " + minhit10 + " max " + maxhit10); log.debug("Diary10 min {} max {}", minhit10, maxhit10);
System.out.println("Hits: " + hits + "Hits10: " + hits10 + " Total: " + total + " -- %1000: " + (hits * 1000 / total) + ", +10 %1000: " + (hits10 * 1000 / total)); log.debug("Hits: {}, Hits10: {}, Total: {} -- %1000 {}, +10 %1000: {}", hits, hits10, total, (hits * 1000 / total), (hits10 * 1000 / total));
} }
} }

View File

@@ -13,6 +13,8 @@ import constants.id.MapId;
import net.opcodes.SendOpcode; import net.opcodes.SendOpcode;
import net.packet.OutPacket; import net.packet.OutPacket;
import net.packet.Packet; import net.packet.Packet;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import tools.PacketCreator; import tools.PacketCreator;
import tools.StringUtil; import tools.StringUtil;
@@ -27,6 +29,8 @@ import java.util.List;
* Wishlists edited by Drago (Dragohe4rt) * Wishlists edited by Drago (Dragohe4rt)
*/ */
public class WeddingPackets extends PacketCreator { public class WeddingPackets extends PacketCreator {
private static final Logger log = LoggerFactory.getLogger(WeddingPackets.class);
/* /*
00000000 CWeddingMan struc ; (sizeof=0x104) 00000000 CWeddingMan struc ; (sizeof=0x104)
00000000 vfptr dd ? ; offset 00000000 vfptr dd ? ; offset
@@ -409,7 +413,7 @@ public class WeddingPackets extends PacketCreator {
break; break;
} }
default: { default: {
System.out.println("Unknown Wishlist Mode: " + mode); log.warn("Unknown Wishlist Mode: {}", mode);
break; break;
} }
} }