Stop logging with System.out.println, start using slf4j
This commit is contained in:
@@ -97,6 +97,7 @@ import java.util.concurrent.atomic.AtomicBoolean;
|
||||
import java.util.concurrent.atomic.AtomicInteger;
|
||||
import java.util.concurrent.locks.Lock;
|
||||
import java.util.regex.Pattern;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
import static java.util.concurrent.TimeUnit.*;
|
||||
|
||||
@@ -3587,26 +3588,25 @@ public class Character extends AbstractCharacterObject {
|
||||
effLock.lock();
|
||||
chrLock.lock();
|
||||
try {
|
||||
System.out.println("-------------------");
|
||||
System.out.println("CACHED BUFF COUNT: ");
|
||||
for (Entry<BuffStat, Byte> bpl : buffEffectsCount.entrySet()) {
|
||||
System.out.println(bpl.getKey() + ": " + bpl.getValue());
|
||||
}
|
||||
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("-------------------");
|
||||
log.debug("-------------------");
|
||||
log.debug("CACHED BUFF COUNT: {}", buffEffectsCount.entrySet().stream()
|
||||
.map(entry -> entry.getKey() + ": " + entry.getValue())
|
||||
.collect(Collectors.joining(", "))
|
||||
);
|
||||
|
||||
System.out.println("IN ACTION:");
|
||||
for (Entry<BuffStat, BuffStatValueHolder> bpl : effects.entrySet()) {
|
||||
System.out.println(bpl.getKey().name() + " -> " + ItemInformationProvider.getInstance().getName(bpl.getValue().effect.getSourceId()));
|
||||
}
|
||||
log.debug("-------------------");
|
||||
log.debug("CACHED BUFFS: {}", buffEffects.entrySet().stream()
|
||||
.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 {
|
||||
chrLock.unlock();
|
||||
effLock.unlock();
|
||||
@@ -3617,9 +3617,10 @@ public class Character extends AbstractCharacterObject {
|
||||
effLock.lock();
|
||||
chrLock.lock();
|
||||
try {
|
||||
for (Entry<BuffStat, Byte> mbsl : buffEffectsCount.entrySet()) {
|
||||
System.out.println(mbsl.getKey().name() + " -> " + mbsl.getValue());
|
||||
}
|
||||
log.debug("ALL BUFFS COUNT: {}", buffEffectsCount.entrySet().stream()
|
||||
.map(entry -> entry.getKey().name() + " -> " + entry.getValue())
|
||||
.collect(Collectors.joining(", "))
|
||||
);
|
||||
} finally {
|
||||
chrLock.unlock();
|
||||
effLock.unlock();
|
||||
|
||||
@@ -153,7 +153,7 @@ public class CommandsExecutor {
|
||||
|
||||
private void addCommand(String syntax, int rank, Class<? extends Command> commandClass) {
|
||||
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;
|
||||
}
|
||||
|
||||
|
||||
@@ -25,6 +25,8 @@ import client.Client;
|
||||
import config.YamlConfig;
|
||||
import constants.game.ExpTable;
|
||||
import constants.inventory.ItemConstants;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import server.ItemInformationProvider;
|
||||
import tools.PacketCreator;
|
||||
import tools.Pair;
|
||||
@@ -36,6 +38,7 @@ import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
public class Equip extends Item {
|
||||
private static final Logger log = LoggerFactory.getLogger(Equip.class);
|
||||
|
||||
public enum ScrollResult {
|
||||
|
||||
@@ -110,7 +113,7 @@ public class Equip extends Item {
|
||||
ret.itemLevel = itemLevel;
|
||||
ret.itemExp = itemExp;
|
||||
ret.level = level;
|
||||
ret.log = new LinkedList<>(log);
|
||||
ret.itemLog = new LinkedList<>(itemLog);
|
||||
ret.setOwner(getOwner());
|
||||
ret.setQuantity(getQuantity());
|
||||
ret.setExpiration(getExpiration());
|
||||
@@ -647,7 +650,8 @@ public class Equip extends Item {
|
||||
int expNeeded = ExpTable.getEquipExpNeededForLevel(itemLevel);
|
||||
|
||||
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) {
|
||||
|
||||
@@ -42,7 +42,7 @@ public class Item implements Comparable<Item> {
|
||||
private int petid = -1;
|
||||
private Pet pet = null;
|
||||
private String owner = "";
|
||||
protected List<String> log;
|
||||
protected List<String> itemLog;
|
||||
private short flag;
|
||||
private long expiration = -1;
|
||||
private String giftFrom = "";
|
||||
@@ -51,7 +51,7 @@ public class Item implements Comparable<Item> {
|
||||
this.id = id;
|
||||
this.position = position;
|
||||
this.quantity = quantity;
|
||||
this.log = new LinkedList<>();
|
||||
this.itemLog = new LinkedList<>();
|
||||
this.flag = 0;
|
||||
}
|
||||
|
||||
@@ -67,7 +67,7 @@ public class Item implements Comparable<Item> {
|
||||
}
|
||||
this.petid = petid;
|
||||
this.flag = 0;
|
||||
this.log = new LinkedList<>();
|
||||
this.itemLog = new LinkedList<>();
|
||||
}
|
||||
|
||||
public Item copy() {
|
||||
@@ -75,7 +75,7 @@ public class Item implements Comparable<Item> {
|
||||
ret.flag = flag;
|
||||
ret.owner = owner;
|
||||
ret.expiration = expiration;
|
||||
ret.log = new LinkedList<>(log);
|
||||
ret.itemLog = new LinkedList<>(itemLog);
|
||||
return ret;
|
||||
}
|
||||
|
||||
@@ -147,8 +147,8 @@ public class Item implements Comparable<Item> {
|
||||
return "Item: " + id + " quantity: " + quantity;
|
||||
}
|
||||
|
||||
public List<String> getLog() {
|
||||
return Collections.unmodifiableList(log);
|
||||
public List<String> getItemLog() {
|
||||
return Collections.unmodifiableList(itemLog);
|
||||
}
|
||||
|
||||
public short getFlag() {
|
||||
|
||||
@@ -28,13 +28,15 @@ import net.server.handlers.CustomPacketHandler;
|
||||
import net.server.handlers.KeepAliveHandler;
|
||||
import net.server.handlers.LoginRequiringNoOpHandler;
|
||||
import net.server.handlers.login.*;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
import java.util.LinkedHashMap;
|
||||
import java.util.Map;
|
||||
|
||||
public final class PacketProcessor {
|
||||
|
||||
private final static Map<String, PacketProcessor> instances = new LinkedHashMap<>();
|
||||
private static final Logger log = LoggerFactory.getLogger(PacketProcessor.class);
|
||||
private static final Map<String, PacketProcessor> instances = new LinkedHashMap<>();
|
||||
private PacketHandler[] handlers;
|
||||
|
||||
private PacketProcessor() {
|
||||
@@ -67,8 +69,7 @@ public final class PacketProcessor {
|
||||
try {
|
||||
handlers[code.getValue()] = handler;
|
||||
} catch (ArrayIndexOutOfBoundsException e) {
|
||||
e.printStackTrace();
|
||||
System.out.println("Error registering handler - " + code.name());
|
||||
log.error("Error registering handler {}", code.name(), e);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -303,11 +303,10 @@ public class Server {
|
||||
private void dumpData() {
|
||||
wldRLock.lock();
|
||||
try {
|
||||
System.out.println(worlds);
|
||||
System.out.println(channels);
|
||||
System.out.println(worldRecommendedList);
|
||||
System.out.println();
|
||||
System.out.println("---------------------");
|
||||
log.debug("Worlds: {}", worlds);
|
||||
log.debug("Channels: {}", channels);
|
||||
log.debug("World recommended list: {}", worldRecommendedList);
|
||||
log.debug("---------------------");
|
||||
} finally {
|
||||
wldRLock.unlock();
|
||||
}
|
||||
@@ -1879,7 +1878,7 @@ public class Server {
|
||||
}
|
||||
|
||||
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) {
|
||||
return;//already shutdown
|
||||
}
|
||||
@@ -1917,8 +1916,7 @@ public class Server {
|
||||
try {
|
||||
Thread.sleep(1000);
|
||||
} catch (InterruptedException ie) {
|
||||
ie.printStackTrace();
|
||||
System.err.println("FUCK MY LIFE");
|
||||
log.error("Error during shutdown sleep", ie);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1929,12 +1927,12 @@ public class Server {
|
||||
TimerManager.getInstance().purge();
|
||||
TimerManager.getInstance().stop();
|
||||
|
||||
System.out.println("Worlds + Channels are offline.");
|
||||
log.info("World and channels are offline.");
|
||||
loginServer.stop();
|
||||
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();
|
||||
} else {
|
||||
System.out.println("\r\nRestarting the server....\r\n");
|
||||
log.info("Restarting the server...");
|
||||
try {
|
||||
instance.finalize();//FUU I CAN AND IT'S FREE
|
||||
} catch (Throwable ex) {
|
||||
|
||||
@@ -164,13 +164,13 @@ public final class Channel {
|
||||
eventSM = new EventScriptManager(this, getEvents());
|
||||
}
|
||||
|
||||
public final synchronized void shutdown() {
|
||||
public synchronized void shutdown() {
|
||||
try {
|
||||
if (finishedShutdown) {
|
||||
return;
|
||||
}
|
||||
|
||||
System.out.println("Shutting down Channel " + channel + " on World " + world);
|
||||
log.info("Shutting down channel {} in world {}", channel, world);
|
||||
|
||||
closeAllMerchants();
|
||||
disconnectAwayPlayers();
|
||||
@@ -188,10 +188,9 @@ public final class Channel {
|
||||
channelServer.stop();
|
||||
|
||||
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) {
|
||||
e.printStackTrace();
|
||||
System.err.println("Error while shutting down Channel " + channel + " on World " + world + "\r\n" + e);
|
||||
log.error("Error while shutting down channel {} in world {}", channel, world, e);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1024,26 +1023,22 @@ public final class Channel {
|
||||
}
|
||||
|
||||
public void debugMarriageStatus() {
|
||||
System.out.println(" ----- WORLD DATA -----");
|
||||
log.debug(" ----- WORLD DATA -----");
|
||||
getWorldServer().debugMarriageStatus();
|
||||
|
||||
System.out.println(" ----- CH. " + channel + " -----");
|
||||
System.out.println(" ----- CATHEDRAL -----");
|
||||
System.out.println("Current Queue: " + cathedralReservationQueue);
|
||||
System.out.println("Cancel Task: " + (cathedralReservationTask != null));
|
||||
System.out.println("Ongoing wid: " + ongoingCathedral);
|
||||
System.out.println();
|
||||
System.out.println("Ongoing wid: " + ongoingCathedral + " isPremium: " + ongoingCathedralType);
|
||||
System.out.println("Guest list: " + ongoingCathedralGuests);
|
||||
System.out.println();
|
||||
System.out.println(" ----- CHAPEL -----");
|
||||
System.out.println("Current Queue: " + chapelReservationQueue);
|
||||
System.out.println("Cancel Task: " + (chapelReservationTask != null));
|
||||
System.out.println("Ongoing wid: " + ongoingChapel);
|
||||
System.out.println();
|
||||
System.out.println("Ongoing wid: " + ongoingChapel + " isPremium: " + ongoingChapelType);
|
||||
System.out.println("Guest list: " + ongoingChapelGuests);
|
||||
System.out.println();
|
||||
System.out.println("Starttime: " + ongoingStartTime);
|
||||
log.debug(" ----- CH. {} -----", channel);
|
||||
log.debug(" ----- CATHEDRAL -----");
|
||||
log.debug("Current Queue: {}", cathedralReservationQueue);
|
||||
log.debug("Cancel Task?: {}", cathedralReservationTask != null);
|
||||
log.debug("Ongoing wid: {}", ongoingCathedral);
|
||||
log.debug("Ongoing wid: {}, isPremium: {}", ongoingCathedral, ongoingCathedralType);
|
||||
log.debug("Guest list: {}", ongoingCathedralGuests);
|
||||
log.debug(" ----- CHAPEL -----");
|
||||
log.debug("Current Queue: {}", chapelReservationQueue);
|
||||
log.debug("Cancel Task?: {}", chapelReservationTask != null);
|
||||
log.debug("Ongoing wid: {}", ongoingChapel);
|
||||
log.debug("Ongoing wid: {}, isPremium: {}", ongoingChapel, ongoingChapelType);
|
||||
log.debug("Guest list: {}", ongoingChapelGuests);
|
||||
log.debug("Starttime: {}", ongoingStartTime);
|
||||
}
|
||||
}
|
||||
@@ -23,6 +23,8 @@ package net.server.channel.handlers;
|
||||
|
||||
import net.AbstractPacketHandler;
|
||||
import net.packet.InPacket;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import server.maps.AnimatedMapObject;
|
||||
import server.movement.*;
|
||||
import tools.exceptions.EmptyMovementException;
|
||||
@@ -32,6 +34,7 @@ import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
public abstract class AbstractMovementPacketHandler extends AbstractPacketHandler {
|
||||
private static final Logger log = LoggerFactory.getLogger(AbstractMovementPacketHandler.class);
|
||||
|
||||
protected List<LifeMovementFragment> parseMovement(InPacket p) throws EmptyMovementException {
|
||||
List<LifeMovementFragment> res = new ArrayList<>();
|
||||
@@ -136,7 +139,7 @@ public abstract class AbstractMovementPacketHandler extends AbstractPacketHandle
|
||||
break;
|
||||
}
|
||||
default:
|
||||
System.out.println("Unhandled Case:" + command);
|
||||
log.warn("Unhandled case: {}", command);
|
||||
throw new EmptyMovementException(p);
|
||||
}
|
||||
}
|
||||
@@ -235,7 +238,7 @@ public abstract class AbstractMovementPacketHandler extends AbstractPacketHandle
|
||||
break;
|
||||
}
|
||||
default:
|
||||
System.out.println("Unhandled Case:" + command);
|
||||
log.warn("Unhandled Case: {}", command);
|
||||
throw new EmptyMovementException(p);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -28,6 +28,8 @@ import client.inventory.InventoryType;
|
||||
import client.inventory.manipulator.InventoryManipulator;
|
||||
import net.AbstractPacketHandler;
|
||||
import net.packet.InPacket;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import server.ItemInformationProvider;
|
||||
import server.life.LifeFactory;
|
||||
import server.life.Monster;
|
||||
@@ -41,9 +43,10 @@ import java.util.Arrays;
|
||||
import java.util.List;
|
||||
|
||||
public final class AdminCommandHandler extends AbstractPacketHandler {
|
||||
private static final Logger log = LoggerFactory.getLogger(AdminCommandHandler.class);
|
||||
|
||||
@Override
|
||||
public final void handlePacket(InPacket p, Client c) {
|
||||
public void handlePacket(InPacket p, Client c) {
|
||||
if (!c.getPlayer().isGM()) {
|
||||
return;
|
||||
}
|
||||
@@ -170,13 +173,13 @@ public final class AdminCommandHandler extends AbstractPacketHandler {
|
||||
break;
|
||||
case 0x77: //Testing purpose
|
||||
if (p.available() == 4) {
|
||||
System.out.println(p.readInt());
|
||||
log.debug("int: {}", p.readInt());
|
||||
} else if (p.available() == 2) {
|
||||
System.out.println(p.readShort());
|
||||
log.debug("short: {}", p.readShort());
|
||||
}
|
||||
break;
|
||||
default:
|
||||
System.out.println("New GM packet encountered (MODE : " + mode + ": " + p);
|
||||
log.info("New GM packet encountered (MODE: {}): {}", mode, p);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -26,6 +26,8 @@ import client.Client;
|
||||
import net.AbstractPacketHandler;
|
||||
import net.packet.InPacket;
|
||||
import net.server.guild.GuildPackets;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import tools.DatabaseConnection;
|
||||
|
||||
import java.sql.Connection;
|
||||
@@ -34,13 +36,14 @@ import java.sql.ResultSet;
|
||||
import java.sql.SQLException;
|
||||
|
||||
public final class BBSOperationHandler extends AbstractPacketHandler {
|
||||
private static final Logger log = LoggerFactory.getLogger(BBSOperationHandler.class);
|
||||
|
||||
private String correctLength(String in, int maxSize) {
|
||||
return in.length() > maxSize ? in.substring(0, maxSize) : in;
|
||||
}
|
||||
|
||||
@Override
|
||||
public final void handlePacket(InPacket p, Client c) {
|
||||
public void handlePacket(InPacket p, Client c) {
|
||||
if (c.getPlayer().getGuildId() < 1) {
|
||||
return;
|
||||
}
|
||||
@@ -324,10 +327,9 @@ public final class BBSOperationHandler extends AbstractPacketHandler {
|
||||
ps2.close();
|
||||
}
|
||||
} 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!
|
||||
re.printStackTrace();
|
||||
System.out.println("The number of reply rows does not match the replycount in thread.");
|
||||
log.error("The number of reply rows does not match the replycount in thread.", re);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -469,7 +469,7 @@ public final class CashOperationHandler extends AbstractPacketHandler {
|
||||
}
|
||||
c.enableCSActions();
|
||||
} else {
|
||||
System.out.println("Unhandled action: " + action + "\n" + p);
|
||||
log.warn("Unhandled action: {}, packet: {}", action, p);
|
||||
}
|
||||
} finally {
|
||||
c.releaseClient();
|
||||
|
||||
@@ -36,12 +36,16 @@ import net.server.guild.GuildPackets;
|
||||
import net.server.guild.GuildResponse;
|
||||
import net.server.world.Party;
|
||||
import net.server.world.World;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import tools.PacketCreator;
|
||||
|
||||
import java.util.HashSet;
|
||||
import java.util.Set;
|
||||
|
||||
public final class GuildOperationHandler extends AbstractPacketHandler {
|
||||
private static final Logger log = LoggerFactory.getLogger(GuildOperationHandler.class);
|
||||
|
||||
private boolean isGuildNameAcceptable(String name) {
|
||||
if (name.length() < 3 || name.length() > 12) {
|
||||
return false;
|
||||
@@ -55,7 +59,7 @@ public final class GuildOperationHandler extends AbstractPacketHandler {
|
||||
}
|
||||
|
||||
@Override
|
||||
public final void handlePacket(InPacket p, Client c) {
|
||||
public void handlePacket(InPacket p, Client c) {
|
||||
Character mc = c.getPlayer();
|
||||
byte type = p.readByte();
|
||||
int allianceId = -1;
|
||||
@@ -118,13 +122,13 @@ public final class GuildOperationHandler extends AbstractPacketHandler {
|
||||
break;
|
||||
case 0x06:
|
||||
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;
|
||||
}
|
||||
int gid = p.readInt();
|
||||
int cid = p.readInt();
|
||||
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;
|
||||
}
|
||||
|
||||
@@ -158,7 +162,7 @@ public final class GuildOperationHandler extends AbstractPacketHandler {
|
||||
cid = p.readInt();
|
||||
String name = p.readString();
|
||||
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;
|
||||
}
|
||||
|
||||
@@ -183,7 +187,7 @@ public final class GuildOperationHandler extends AbstractPacketHandler {
|
||||
cid = p.readInt();
|
||||
name = p.readString();
|
||||
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;
|
||||
}
|
||||
|
||||
@@ -194,7 +198,7 @@ public final class GuildOperationHandler extends AbstractPacketHandler {
|
||||
break;
|
||||
case 0x0d:
|
||||
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;
|
||||
}
|
||||
String[] ranks = new String[5];
|
||||
@@ -208,7 +212,7 @@ public final class GuildOperationHandler extends AbstractPacketHandler {
|
||||
cid = p.readInt();
|
||||
byte newRank = p.readByte();
|
||||
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;
|
||||
}
|
||||
if (newRank <= 1 || newRank > 5) {
|
||||
@@ -218,7 +222,7 @@ public final class GuildOperationHandler extends AbstractPacketHandler {
|
||||
break;
|
||||
case 0x0f:
|
||||
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;
|
||||
}
|
||||
if (mc.getMeso() < YamlConfig.config.server.CHANGE_EMBLEM_COST) {
|
||||
@@ -243,7 +247,7 @@ public final class GuildOperationHandler extends AbstractPacketHandler {
|
||||
case 0x10:
|
||||
if (mc.getGuildId() <= 0 || mc.getGuildRank() > 2) {
|
||||
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;
|
||||
}
|
||||
@@ -280,7 +284,7 @@ public final class GuildOperationHandler extends AbstractPacketHandler {
|
||||
|
||||
break;
|
||||
default:
|
||||
System.out.println("Unhandled GUILD_OPERATION packet: \n" + p);
|
||||
log.warn("Unhandled GUILD_OPERATION packet: {}", p);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -33,6 +33,8 @@ import net.packet.InPacket;
|
||||
import net.packet.Packet;
|
||||
import net.server.Server;
|
||||
import net.server.channel.Channel;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import server.ItemInformationProvider;
|
||||
import server.MTSItemInfo;
|
||||
import tools.DatabaseConnection;
|
||||
@@ -48,9 +50,10 @@ import java.util.Calendar;
|
||||
import java.util.List;
|
||||
|
||||
public final class MTSHandler extends AbstractPacketHandler {
|
||||
private static final Logger log = LoggerFactory.getLogger(MTSHandler.class);
|
||||
|
||||
@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
|
||||
|
||||
if (!c.getPlayer().getCashShop().isOpened()) {
|
||||
@@ -354,8 +357,7 @@ public final class MTSHandler extends AbstractPacketHandler {
|
||||
ps.close();
|
||||
con.close();
|
||||
} catch (SQLException e) {
|
||||
e.printStackTrace();
|
||||
System.out.println("MTS Transfer error: " + e);
|
||||
log.error("MTS Transfer error", e);
|
||||
}
|
||||
} else if (op == 9) { //add to cart
|
||||
int id = p.readInt(); //id of the item
|
||||
@@ -537,7 +539,7 @@ public final class MTSHandler extends AbstractPacketHandler {
|
||||
c.sendPacket(PacketCreator.MTSFailBuy());
|
||||
}
|
||||
} else {
|
||||
System.out.println("Unhandled OP(MTS): " + op + " Packet: " + p);
|
||||
log.warn("Unhandled OP (MTS): {}, packet: {}", op, p);
|
||||
}
|
||||
} else {
|
||||
c.sendPacket(PacketCreator.showMTSCash(c.getPlayer()));
|
||||
|
||||
@@ -25,6 +25,8 @@ import client.Character;
|
||||
import client.Client;
|
||||
import config.YamlConfig;
|
||||
import net.packet.InPacket;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import server.life.MobSkill;
|
||||
import server.life.MobSkillFactory;
|
||||
import server.life.Monster;
|
||||
@@ -47,9 +49,10 @@ import java.util.List;
|
||||
* @author Ronan (HeavenMS)
|
||||
*/
|
||||
public final class MoveLifeHandler extends AbstractMovementPacketHandler {
|
||||
private static final Logger log = LoggerFactory.getLogger(MoveLifeHandler.class);
|
||||
|
||||
@Override
|
||||
public final void handlePacket(InPacket p, Client c) {
|
||||
public void handlePacket(InPacket p, Client c) {
|
||||
Character player = c.getPlayer();
|
||||
MapleMap map = player.getMap();
|
||||
|
||||
@@ -165,7 +168,9 @@ public final class MoveLifeHandler extends AbstractMovementPacketHandler {
|
||||
p.seek(movementDataStart);
|
||||
|
||||
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);
|
||||
|
||||
@@ -487,7 +487,7 @@ public final class PlayerInteractionHandler extends AbstractPacketHandler {
|
||||
byte targetSlot = p.readByte();
|
||||
|
||||
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());
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -35,6 +35,8 @@ import constants.inventory.ItemConstants;
|
||||
import constants.skills.*;
|
||||
import net.packet.InPacket;
|
||||
import net.packet.Packet;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import server.ItemInformationProvider;
|
||||
import server.StatEffect;
|
||||
import tools.PacketCreator;
|
||||
@@ -44,9 +46,10 @@ import static java.util.concurrent.TimeUnit.SECONDS;
|
||||
|
||||
|
||||
public final class RangedAttackHandler extends AbstractDealDamageHandler {
|
||||
private static final Logger log = LoggerFactory.getLogger(RangedAttackHandler.class);
|
||||
|
||||
@Override
|
||||
public final void handlePacket(InPacket p, Client c) {
|
||||
public void handlePacket(InPacket p, Client c) {
|
||||
Character chr = c.getPlayer();
|
||||
|
||||
/*long timeElapsed = currentServerTime() - chr.getAutobanManager().getLastSpam(8);
|
||||
@@ -171,7 +174,7 @@ public final class RangedAttackHandler extends AbstractDealDamageHandler {
|
||||
}
|
||||
|
||||
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 {
|
||||
InventoryManipulator.removeFromSlot(c, InventoryType.USE, slot, bulletConsume, false, true);
|
||||
}
|
||||
|
||||
@@ -34,6 +34,8 @@ import net.AbstractPacketHandler;
|
||||
import net.packet.InPacket;
|
||||
import net.server.channel.Channel;
|
||||
import net.server.world.World;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import scripting.event.EventInstanceManager;
|
||||
import server.ItemInformationProvider;
|
||||
import tools.DatabaseConnection;
|
||||
@@ -52,6 +54,7 @@ import java.sql.SQLException;
|
||||
* @author Drago (Dragohe4rt) - on Wishlist
|
||||
*/
|
||||
public final class RingActionHandler extends AbstractPacketHandler {
|
||||
private static final Logger log = LoggerFactory.getLogger(RingActionHandler.class);
|
||||
|
||||
private static int getEngagementBoxId(int useItemId) {
|
||||
return switch (useItemId) {
|
||||
@@ -175,7 +178,7 @@ public final class RingActionHandler extends AbstractPacketHandler {
|
||||
|
||||
eraseEngagementOffline(characterId, con);
|
||||
} 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()));
|
||||
target.sendPacket(WeddingPackets.OnNotifyWeddingPartnerTransfer(source.getId(), source.getMapId()));
|
||||
} catch (Exception e) {
|
||||
System.out.println("Error with engagement " + e.getMessage());
|
||||
log.error("Error with engagement", e);
|
||||
}
|
||||
} else {
|
||||
source.dropMessage(1, "She has politely declined your engagement request.");
|
||||
@@ -509,7 +512,7 @@ public final class RingActionHandler extends AbstractPacketHandler {
|
||||
break;
|
||||
|
||||
default:
|
||||
System.out.println("Unhandled RING_ACTION Mode: " + p);
|
||||
log.warn("Unhandled RING_ACTION mode. Packet: {}", p);
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
@@ -25,11 +25,15 @@ import client.Client;
|
||||
import constants.skills.*;
|
||||
import net.AbstractPacketHandler;
|
||||
import net.packet.InPacket;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import tools.PacketCreator;
|
||||
|
||||
public final class SkillEffectHandler extends AbstractPacketHandler {
|
||||
private static final Logger log = LoggerFactory.getLogger(SkillEffectHandler.class);
|
||||
|
||||
@Override
|
||||
public final void handlePacket(InPacket p, Client c) {
|
||||
public void handlePacket(InPacket p, Client c) {
|
||||
int skillId = p.readInt();
|
||||
int level = 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);
|
||||
return;
|
||||
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;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -39,6 +39,8 @@ import constants.inventory.ItemConstants;
|
||||
import net.AbstractPacketHandler;
|
||||
import net.packet.InPacket;
|
||||
import net.server.Server;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import server.ItemInformationProvider;
|
||||
import server.Shop;
|
||||
import server.ShopFactory;
|
||||
@@ -56,9 +58,10 @@ import static java.util.concurrent.TimeUnit.DAYS;
|
||||
import static java.util.concurrent.TimeUnit.SECONDS;
|
||||
|
||||
public final class UseCashItemHandler extends AbstractPacketHandler {
|
||||
private static final Logger log = LoggerFactory.getLogger(UseCashItemHandler.class);
|
||||
|
||||
@Override
|
||||
public final void handlePacket(InPacket p, Client c) {
|
||||
public void handlePacket(InPacket p, Client c) {
|
||||
final Character player = c.getPlayer();
|
||||
|
||||
long timeNow = currentServerTime();
|
||||
@@ -601,7 +604,7 @@ public final class UseCashItemHandler extends AbstractPacketHandler {
|
||||
client.sendPacket(PacketCreator.enableActions());
|
||||
}, SECONDS.toMillis(3));
|
||||
} else {
|
||||
System.out.println("NEW CASH ITEM: " + itemType + "\n" + p);
|
||||
log.warn("NEW CASH ITEM TYPE: {}, packet: {}", itemType, p);
|
||||
c.sendPacket(PacketCreator.enableActions());
|
||||
}
|
||||
}
|
||||
|
||||
@@ -18,6 +18,8 @@ import config.YamlConfig;
|
||||
import constants.inventory.ItemConstants;
|
||||
import net.AbstractPacketHandler;
|
||||
import net.packet.InPacket;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import server.Marriage;
|
||||
import tools.PacketCreator;
|
||||
import tools.packets.WeddingPackets;
|
||||
@@ -29,9 +31,10 @@ import java.util.List;
|
||||
* @author Drago (Dragohe4rt)
|
||||
*/
|
||||
public final class WeddingHandler extends AbstractPacketHandler {
|
||||
private static final Logger log = LoggerFactory.getLogger(WeddingHandler.class);
|
||||
|
||||
@Override
|
||||
public final void handlePacket(InPacket p, Client c) {
|
||||
public void handlePacket(InPacket p, Client c) {
|
||||
|
||||
if (c.tryacquireClient()) {
|
||||
try {
|
||||
@@ -151,7 +154,7 @@ public final class WeddingHandler extends AbstractPacketHandler {
|
||||
} else if (mode == 8) { // out of Wedding Registry
|
||||
c.sendPacket(PacketCreator.enableActions());
|
||||
} else {
|
||||
System.out.println(mode);
|
||||
log.warn("Unhandled wedding mode: {}", mode);
|
||||
}
|
||||
} finally {
|
||||
c.releaseClient();
|
||||
|
||||
@@ -344,27 +344,26 @@ public class SessionCoordinator {
|
||||
.map(Object::toString)
|
||||
.collect(Collectors.joining(", "));
|
||||
|
||||
System.out.println("Current online clients: " + commaSeparatedClients);
|
||||
log.debug("Current online clients: {}", commaSeparatedClients);
|
||||
}
|
||||
|
||||
if (!onlineRemoteHwids.isEmpty()) {
|
||||
List<Hwid> hwids = new ArrayList<>(onlineRemoteHwids);
|
||||
hwids.sort(Comparator.comparing(Hwid::hwid));
|
||||
|
||||
System.out.println("Current online HWIDs: ");
|
||||
for (Hwid s : hwids) {
|
||||
System.out.println(" " + s);
|
||||
}
|
||||
log.debug("Current online HWIDs: {}", hwids.stream()
|
||||
.map(Hwid::hwid)
|
||||
.collect(Collectors.joining(" ")));
|
||||
}
|
||||
|
||||
if (!loginRemoteHosts.isEmpty()) {
|
||||
List<Entry<String, Client>> elist = new ArrayList<>(loginRemoteHosts.entrySet());
|
||||
elist.sort(Entry.comparingByKey());
|
||||
|
||||
System.out.println("Current login sessions: ");
|
||||
for (Entry<String, Client> e : elist) {
|
||||
System.out.println(" " + e.getKey() + ", client: " + e.getValue());
|
||||
}
|
||||
log.debug("Current login sessions: {}", loginRemoteHosts.entrySet().stream()
|
||||
.sorted(Entry.comparingByKey())
|
||||
.map(entry -> "(" + entry.getKey() + ", client: " + entry.getValue())
|
||||
.collect(Collectors.joining(", ")));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -34,6 +34,8 @@ import net.server.coordinator.matchchecker.MatchCheckerCoordinator;
|
||||
import net.server.coordinator.world.InviteCoordinator;
|
||||
import net.server.coordinator.world.InviteCoordinator.InviteResult;
|
||||
import net.server.coordinator.world.InviteCoordinator.InviteType;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import tools.DatabaseConnection;
|
||||
import tools.PacketCreator;
|
||||
|
||||
@@ -45,6 +47,7 @@ import java.util.*;
|
||||
import java.util.concurrent.locks.Lock;
|
||||
|
||||
public class Guild {
|
||||
private static final Logger log = LoggerFactory.getLogger(Guild.class);
|
||||
|
||||
private enum BCOp {
|
||||
NONE, DISBAND, EMBLEMCHANGE
|
||||
@@ -102,8 +105,7 @@ public class Guild {
|
||||
}
|
||||
}
|
||||
} catch (SQLException se) {
|
||||
se.printStackTrace();
|
||||
System.out.println("Unable to read guild information from sql: " + se);
|
||||
log.error("Unable to read guild information from sql", se);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -340,8 +342,7 @@ public class Guild {
|
||||
}
|
||||
}
|
||||
} catch (Exception re) {
|
||||
re.printStackTrace();
|
||||
System.out.println("Failed to contact channel(s) for broadcast.");//fu?
|
||||
log.error("Failed to contact channel(s) for broadcast.", re);
|
||||
}
|
||||
}
|
||||
} finally {
|
||||
@@ -520,8 +521,7 @@ public class Guild {
|
||||
ps.setLong(4, System.currentTimeMillis());
|
||||
ps.executeUpdate();
|
||||
} catch (SQLException e) {
|
||||
e.printStackTrace();
|
||||
System.out.println("expelMember - Guild " + e);
|
||||
log.error("expelMember - Guild", e);
|
||||
}
|
||||
Server.getInstance().getWorld(mgc.getWorld()).setOfflineGuildStatus((short) 0, (byte) 5, cid);
|
||||
}
|
||||
@@ -532,7 +532,7 @@ public class Guild {
|
||||
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 {
|
||||
membersLock.unlock();
|
||||
}
|
||||
@@ -768,8 +768,7 @@ public class Guild {
|
||||
ResultSet rs = ps.executeQuery()) {
|
||||
c.sendPacket(GuildPackets.showGuildRanks(npcid, rs));
|
||||
} catch (SQLException e) {
|
||||
e.printStackTrace();
|
||||
System.out.println("failed to display guild ranks. " + e);
|
||||
log.error("Failed to display guild ranks.", e);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -52,6 +52,8 @@ import net.server.services.BaseService;
|
||||
import net.server.services.ServicesManager;
|
||||
import net.server.services.type.WorldServices;
|
||||
import net.server.task.*;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import scripting.event.EventInstanceManager;
|
||||
import server.Storage;
|
||||
import server.TimerManager;
|
||||
@@ -75,6 +77,7 @@ import static java.util.concurrent.TimeUnit.*;
|
||||
* @author Ronan - thread-oriented (world schedules + guild queue + marriages + party chars)
|
||||
*/
|
||||
public class World {
|
||||
private static final Logger log = LoggerFactory.getLogger(World.class);
|
||||
|
||||
private final int id;
|
||||
private int flag;
|
||||
@@ -834,8 +837,8 @@ public class World {
|
||||
}
|
||||
|
||||
public void debugMarriageStatus() {
|
||||
System.out.println("Queued marriages: " + queuedMarriages);
|
||||
System.out.println("Guest list: " + marriageGuests);
|
||||
log.debug("Queued marriages: {}", queuedMarriages);
|
||||
log.debug("Guest list: {}", marriageGuests);
|
||||
}
|
||||
|
||||
private void registerCharacterParty(Integer chrid, Integer partyid) {
|
||||
@@ -1004,7 +1007,7 @@ public class World {
|
||||
}
|
||||
break;
|
||||
default:
|
||||
System.out.println("Unhandled updateParty operation " + operation.name());
|
||||
log.warn("Unhandled updateParty operation: {}", operation.name());
|
||||
}
|
||||
updateParty(party, operation, target);
|
||||
}
|
||||
@@ -2151,6 +2154,6 @@ public class World {
|
||||
players = null;
|
||||
|
||||
clearWorldData();
|
||||
System.out.println("Finished shutting down world " + id + "\r\n");
|
||||
log.info("Finished shutting down world {}", id);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -22,6 +22,7 @@
|
||||
package scripting.event;
|
||||
|
||||
import net.server.channel.Channel;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import scripting.AbstractScriptManager;
|
||||
import scripting.SynchronizedInvocable;
|
||||
|
||||
@@ -32,13 +33,12 @@ import java.util.Map;
|
||||
import java.util.Map.Entry;
|
||||
import java.util.Set;
|
||||
import java.util.concurrent.ConcurrentHashMap;
|
||||
import java.util.logging.Level;
|
||||
import java.util.logging.Logger;
|
||||
|
||||
/**
|
||||
* @author Matze
|
||||
*/
|
||||
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 EventEntry fallback;
|
||||
private final Map<String, EventEntry> events = new ConcurrentHashMap<>();
|
||||
@@ -83,8 +83,7 @@ public class EventScriptManager extends AbstractScriptManager {
|
||||
try {
|
||||
entry.iv.invokeFunction("init", (Object) null);
|
||||
} catch (Exception ex) {
|
||||
Logger.getLogger(EventScriptManager.class.getName()).log(Level.SEVERE, null, ex);
|
||||
System.out.println("Error on script: " + entry.em.getName());
|
||||
log.error("Error on script: {}", entry.em.getName(), ex);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -28,6 +28,8 @@ import client.inventory.Pet;
|
||||
import client.inventory.manipulator.InventoryManipulator;
|
||||
import constants.id.ItemId;
|
||||
import constants.inventory.ItemConstants;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import tools.DatabaseConnection;
|
||||
import tools.PacketCreator;
|
||||
|
||||
@@ -44,7 +46,9 @@ import java.util.Set;
|
||||
* @author Matze
|
||||
*/
|
||||
public class Shop {
|
||||
private static final Logger log = LoggerFactory.getLogger(Shop.class);
|
||||
private static final Set<Integer> rechargeableItems = new LinkedHashSet<>();
|
||||
|
||||
private final int id;
|
||||
private final int npcId;
|
||||
private final List<ShopItem> items;
|
||||
@@ -83,7 +87,7 @@ public class Shop {
|
||||
ShopItem item = findBySlot(slot);
|
||||
if (item != null) {
|
||||
if (item.getItemId() != itemId) {
|
||||
System.out.println("Wrong slot number in shop " + id);
|
||||
log.warn("Wrong slot number in shop {}", id);
|
||||
return;
|
||||
}
|
||||
} else {
|
||||
|
||||
@@ -20,6 +20,8 @@
|
||||
package server;
|
||||
|
||||
import client.Character;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import provider.Data;
|
||||
import provider.DataProvider;
|
||||
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
|
||||
*/
|
||||
public class SkillbookInformationProvider {
|
||||
private static final Logger log = LoggerFactory.getLogger(SkillbookInformationProvider.class);
|
||||
private static volatile Map<Integer, SkillBookEntry> foundSkillbooks = new HashMap<>();
|
||||
|
||||
public enum SkillBookEntry {
|
||||
@@ -242,8 +245,7 @@ public class SkillbookInformationProvider {
|
||||
scriptFileSkillbooks.put(skillbookId, SkillBookEntry.SCRIPT);
|
||||
}
|
||||
} catch (IOException ioe) {
|
||||
System.out.println("Failed to read " + file.getName() + ".");
|
||||
ioe.printStackTrace();
|
||||
log.error("Failed to read file:{}", file.getName(), ioe);
|
||||
}
|
||||
|
||||
return scriptFileSkillbooks;
|
||||
|
||||
@@ -182,7 +182,7 @@ public class Trade {
|
||||
throw new RuntimeException("Trade is locked.");
|
||||
}
|
||||
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;
|
||||
}
|
||||
if (chr.getMeso() >= meso) {
|
||||
|
||||
@@ -21,6 +21,8 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
package server.life;
|
||||
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import provider.Data;
|
||||
import provider.DataProvider;
|
||||
import provider.DataProviderFactory;
|
||||
@@ -35,6 +37,7 @@ import java.util.List;
|
||||
import java.util.*;
|
||||
|
||||
public class LifeFactory {
|
||||
private static final Logger log = LoggerFactory.getLogger(LifeFactory.class);
|
||||
private static final DataProvider data = DataProviderFactory.getDataProvider(WZFiles.MOB);
|
||||
private final static DataProvider stringDataWZ = DataProviderFactory.getDataProvider(WZFiles.STRING);
|
||||
private static final Data mobStringData = stringDataWZ.getData("Mob.img");
|
||||
@@ -59,7 +62,7 @@ public class LifeFactory {
|
||||
} else if (type.equalsIgnoreCase("m")) {
|
||||
return getMonster(id);
|
||||
} else {
|
||||
System.out.println("Unknown Life type: " + type);
|
||||
log.warn("Unknown Life type: {}", type);
|
||||
return null;
|
||||
}
|
||||
}
|
||||
@@ -247,12 +250,9 @@ public class LifeFactory {
|
||||
|
||||
monsterStats.put(mid, stats);
|
||||
}
|
||||
Monster ret = new Monster(mid, stats);
|
||||
return ret;
|
||||
return new Monster(mid, stats);
|
||||
} catch (NullPointerException npe) {
|
||||
System.out.println("[SEVERE] MOB " + mid + " failed to load. Issue: " + npe.getMessage() + "\n\n");
|
||||
npe.printStackTrace();
|
||||
|
||||
log.error("[SEVERE] MOB {} failed to load.", mid, npe);
|
||||
return null;
|
||||
}
|
||||
}
|
||||
@@ -271,8 +271,7 @@ public class LifeFactory {
|
||||
return stats.getLevel();
|
||||
}
|
||||
} catch (NullPointerException npe) {
|
||||
System.out.println("[SEVERE] MOB " + mid + " failed to load. Issue: " + npe.getMessage() + "\n\n");
|
||||
npe.printStackTrace();
|
||||
log.error("[SEVERE] MOB {} failed to load.", mid, npe);
|
||||
}
|
||||
|
||||
return -1;
|
||||
|
||||
@@ -28,6 +28,8 @@ import constants.id.MapId;
|
||||
import constants.id.MobId;
|
||||
import net.server.services.task.channel.OverallService;
|
||||
import net.server.services.type.ChannelServices;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import server.maps.MapObject;
|
||||
import server.maps.MapObjectType;
|
||||
import server.maps.MapleMap;
|
||||
@@ -43,6 +45,7 @@ import java.util.*;
|
||||
* @author Danny (Leifde)
|
||||
*/
|
||||
public class MobSkill {
|
||||
private static final Logger log = LoggerFactory.getLogger(MobSkill.class);
|
||||
|
||||
private final int skillId;
|
||||
private final int skillLevel;
|
||||
@@ -314,7 +317,7 @@ public class MobSkill {
|
||||
}
|
||||
break;
|
||||
default:
|
||||
System.out.println("Unhandled Mob skill: " + skillId);
|
||||
log.warn("Unhandled Mob skill: {}", skillId);
|
||||
break;
|
||||
}
|
||||
if (stats.size() > 0) {
|
||||
|
||||
@@ -42,6 +42,8 @@ import net.server.services.task.channel.OverallService;
|
||||
import net.server.services.type.ChannelServices;
|
||||
import net.server.world.Party;
|
||||
import net.server.world.PartyCharacter;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import scripting.event.EventInstanceManager;
|
||||
import server.StatEffect;
|
||||
import server.TimerManager;
|
||||
@@ -66,6 +68,7 @@ import java.util.concurrent.atomic.AtomicInteger;
|
||||
import java.util.concurrent.atomic.AtomicLong;
|
||||
|
||||
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 MonsterStats stats;
|
||||
@@ -823,7 +826,7 @@ public class Monster extends AbstractLoadedLife {
|
||||
}, getAnimationTime("die1"));
|
||||
}
|
||||
} 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());
|
||||
@@ -1124,7 +1127,7 @@ public class Monster extends AbstractLoadedLife {
|
||||
case WEAK:
|
||||
break;
|
||||
default: {
|
||||
System.out.println("Unknown elemental effectiveness: " + getMonsterEffectiveness(status.getSkill().getElement()));
|
||||
log.warn("Unknown elemental effectiveness: {}", getMonsterEffectiveness(status.getSkill().getElement()));
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -22,6 +22,8 @@ package server.life;
|
||||
|
||||
import config.YamlConfig;
|
||||
import constants.inventory.ItemConstants;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import provider.Data;
|
||||
import provider.DataProvider;
|
||||
import provider.DataProviderFactory;
|
||||
@@ -39,6 +41,7 @@ import java.sql.SQLException;
|
||||
import java.util.*;
|
||||
|
||||
public class MonsterInformationProvider {
|
||||
private static final Logger log = LoggerFactory.getLogger(MonsterInformationProvider.class);
|
||||
// Author : LightPepsi
|
||||
|
||||
private static final MonsterInformationProvider instance = new MonsterInformationProvider();
|
||||
@@ -100,7 +103,7 @@ public class MonsterInformationProvider {
|
||||
rs.getShort("questid")));
|
||||
}
|
||||
} 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
|
||||
boss = false;
|
||||
|
||||
e.printStackTrace();
|
||||
System.err.println("Nonexistant mob id " + id);
|
||||
log.warn("Non-existent mob id {}", id, e);
|
||||
}
|
||||
|
||||
mobBossCache.put(id, boss);
|
||||
|
||||
@@ -31,6 +31,8 @@ import constants.id.NpcId;
|
||||
import net.server.Server;
|
||||
import net.server.channel.Channel;
|
||||
import net.server.world.World;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import server.life.positioner.PlayerNPCPodium;
|
||||
import server.life.positioner.PlayerNPCPositioner;
|
||||
import server.maps.AbstractMapObject;
|
||||
@@ -52,6 +54,7 @@ import java.util.concurrent.atomic.AtomicInteger;
|
||||
* @author Ronan
|
||||
*/
|
||||
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 AtomicInteger runningOverallRank = new AtomicInteger();
|
||||
private static final List<AtomicInteger> runningWorldRank = new ArrayList<>();
|
||||
@@ -400,7 +403,7 @@ public class PlayerNPC extends AbstractMapObject {
|
||||
}
|
||||
|
||||
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();
|
||||
|
||||
@@ -22,6 +22,8 @@ package server.life.positioner;
|
||||
import config.YamlConfig;
|
||||
import net.server.Server;
|
||||
import net.server.channel.Channel;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import server.life.PlayerNPC;
|
||||
import server.maps.MapObject;
|
||||
import server.maps.MapObjectType;
|
||||
@@ -40,6 +42,8 @@ import java.util.List;
|
||||
* Podium system will implement increase-by-7 to negate that behaviour.
|
||||
*/
|
||||
public class PlayerNPCPodium {
|
||||
private static final Logger log = LoggerFactory.getLogger(PlayerNPCPodium.class);
|
||||
|
||||
private static int getPlatformPosX(int platform) {
|
||||
return switch (platform) {
|
||||
case 0 -> -50;
|
||||
@@ -76,7 +80,7 @@ public class PlayerNPCPodium {
|
||||
private static Point reorganizePlayerNpcs(MapleMap map, int newStep, List<MapObject> mmoList) {
|
||||
if (!mmoList.isEmpty()) {
|
||||
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());
|
||||
|
||||
@@ -22,6 +22,8 @@ package server.life.positioner;
|
||||
import config.YamlConfig;
|
||||
import net.server.Server;
|
||||
import net.server.channel.Channel;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import server.life.PlayerNPC;
|
||||
import server.maps.MapObject;
|
||||
import server.maps.MapObjectType;
|
||||
@@ -38,6 +40,7 @@ import java.util.List;
|
||||
* @author RonanLana
|
||||
*/
|
||||
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) {
|
||||
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) {
|
||||
if (!mmoList.isEmpty()) {
|
||||
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());
|
||||
|
||||
@@ -25,6 +25,8 @@ import client.Character;
|
||||
import client.QuestStatus;
|
||||
import client.QuestStatus.Status;
|
||||
import config.YamlConfig;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import provider.Data;
|
||||
import provider.DataProvider;
|
||||
import provider.DataProviderFactory;
|
||||
@@ -46,6 +48,7 @@ import static java.util.concurrent.TimeUnit.SECONDS;
|
||||
* @author Ronan - support for medal quests
|
||||
*/
|
||||
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, Integer> infoNumberQuests = new HashMap<>();
|
||||
private static final Map<Short, Integer> medals = new HashMap<>();
|
||||
@@ -100,7 +103,7 @@ public class Quest {
|
||||
medals.put(this.id, medalid);
|
||||
}
|
||||
} else {
|
||||
System.out.println("no data " + id);
|
||||
log.warn("No quest data for id {}", id);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -24,6 +24,8 @@ import config.YamlConfig;
|
||||
import constants.id.ItemId;
|
||||
import constants.id.MapId;
|
||||
import constants.inventory.ItemConstants;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import server.ItemInformationProvider;
|
||||
import tools.PacketCreator;
|
||||
|
||||
@@ -34,6 +36,7 @@ import java.util.Calendar;
|
||||
* @author Ronan - timing pattern
|
||||
*/
|
||||
public class Fishing {
|
||||
private static final Logger log = LoggerFactory.getLogger(Fishing.class);
|
||||
|
||||
private static double getFishingLikelihood(int x) {
|
||||
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);
|
||||
System.out.println("Diary10 min " + minhit10 + " max " + maxhit10);
|
||||
System.out.println("Hits: " + hits + "Hits10: " + hits10 + " Total: " + total + " -- %1000: " + (hits * 1000 / total) + ", +10 %1000: " + (hits10 * 1000 / total));
|
||||
log.debug("Diary min {} max {}", minhit, maxhit);
|
||||
log.debug("Diary10 min {} max {}", minhit10, maxhit10);
|
||||
log.debug("Hits: {}, Hits10: {}, Total: {} -- %1000 {}, +10 %1000: {}", hits, hits10, total, (hits * 1000 / total), (hits10 * 1000 / total));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -13,6 +13,8 @@ import constants.id.MapId;
|
||||
import net.opcodes.SendOpcode;
|
||||
import net.packet.OutPacket;
|
||||
import net.packet.Packet;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import tools.PacketCreator;
|
||||
import tools.StringUtil;
|
||||
|
||||
@@ -27,6 +29,8 @@ import java.util.List;
|
||||
* Wishlists edited by Drago (Dragohe4rt)
|
||||
*/
|
||||
public class WeddingPackets extends PacketCreator {
|
||||
private static final Logger log = LoggerFactory.getLogger(WeddingPackets.class);
|
||||
|
||||
/*
|
||||
00000000 CWeddingMan struc ; (sizeof=0x104)
|
||||
00000000 vfptr dd ? ; offset
|
||||
@@ -409,7 +413,7 @@ public class WeddingPackets extends PacketCreator {
|
||||
break;
|
||||
}
|
||||
default: {
|
||||
System.out.println("Unknown Wishlist Mode: " + mode);
|
||||
log.warn("Unknown Wishlist Mode: {}", mode);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user