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.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();
|
||||||
|
|||||||
@@ -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;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -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) {
|
||||||
|
|||||||
@@ -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() {
|
||||||
|
|||||||
@@ -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());
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -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) {
|
||||||
|
|||||||
@@ -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);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -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);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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.");
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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();
|
||||||
|
|||||||
@@ -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);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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()));
|
||||||
|
|||||||
@@ -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);
|
||||||
|
|||||||
@@ -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;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -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;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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();
|
||||||
|
|||||||
@@ -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(", ")));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -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);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -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);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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());
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -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 {
|
||||||
|
|||||||
@@ -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;
|
||||||
|
|||||||
@@ -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) {
|
||||||
|
|||||||
@@ -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;
|
||||||
|
|||||||
@@ -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) {
|
||||||
|
|||||||
@@ -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;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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);
|
||||||
|
|||||||
@@ -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();
|
||||||
|
|||||||
@@ -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());
|
||||||
|
|||||||
@@ -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());
|
||||||
|
|||||||
@@ -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);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -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));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user