Major schedules & DB refactor
Refactored many calls for TimerManager's schedules throughout the source. Switched all tables using MyISAM to InnoDB: on a multi-threaded environment such as this, table-locking is an instant no-no, and other gains MyISAM would have over InnoDB are minimal. Altered getConnection() to properly throw an exception (good practice!) in case of no available connection instead of a mere null.
This commit is contained in:
@@ -26,10 +26,12 @@ import net.MaplePacketHandler;
|
||||
import tools.data.input.SeekableLittleEndianAccessor;
|
||||
|
||||
public class KeepAliveHandler implements MaplePacketHandler {
|
||||
@Override
|
||||
public void handlePacket(SeekableLittleEndianAccessor slea, MapleClient c) {
|
||||
c.pongReceived();
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean validateState(MapleClient c) {
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -41,9 +41,7 @@ public final class CharSelectedHandler extends AbstractMaplePacketHandler {
|
||||
return;
|
||||
}
|
||||
|
||||
if (c.getIdleTask() != null) {
|
||||
c.getIdleTask().cancel(true);
|
||||
}
|
||||
Server.getInstance().unregisterLoginState(c);
|
||||
c.updateLoginState(MapleClient.LOGIN_SERVER_TRANSITION);
|
||||
String[] socket = Server.getInstance().getIP(c.getWorld(), c.getChannel()).split(":");
|
||||
try {
|
||||
|
||||
@@ -26,9 +26,7 @@ public class CharSelectedWithPicHandler extends AbstractMaplePacketHandler {
|
||||
return;
|
||||
}
|
||||
if (c.checkPic(pic)) {
|
||||
if (c.getIdleTask() != null) {
|
||||
c.getIdleTask().cancel(true);
|
||||
}
|
||||
Server.getInstance().unregisterLoginState(c);
|
||||
c.updateLoginState(MapleClient.LOGIN_SERVER_TRANSITION);
|
||||
|
||||
String[] socket = Server.getInstance().getIP(c.getWorld(), c.getChannel()).split(":");
|
||||
|
||||
@@ -24,6 +24,7 @@ package net.server.handlers.login;
|
||||
import java.util.Calendar;
|
||||
|
||||
import net.MaplePacketHandler;
|
||||
import net.server.Server;
|
||||
import server.TimerManager;
|
||||
import tools.MaplePacketCreator;
|
||||
import tools.data.input.SeekableLittleEndianAccessor;
|
||||
@@ -73,12 +74,7 @@ public final class LoginPasswordHandler implements MaplePacketHandler {
|
||||
|
||||
private static void login(MapleClient c){
|
||||
c.announce(MaplePacketCreator.getAuthSuccess(c));//why the fk did I do c.getAccountName()?
|
||||
final MapleClient client = c;
|
||||
c.setIdleTask(TimerManager.getInstance().schedule(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
client.disconnect(false, false);
|
||||
}
|
||||
}, 600000));
|
||||
|
||||
Server.getInstance().registerLoginState(c);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -49,9 +49,7 @@ public final class PickCharHandler extends AbstractMaplePacketHandler {
|
||||
e.printStackTrace();
|
||||
c.setChannel(1);
|
||||
}
|
||||
if (c.getIdleTask() != null) {
|
||||
c.getIdleTask().cancel(true);
|
||||
}
|
||||
Server.getInstance().unregisterLoginState(c);
|
||||
c.updateLoginState(MapleClient.LOGIN_SERVER_TRANSITION);
|
||||
String[] socket = Server.getInstance().getIP(c.getWorld(), c.getChannel()).split(":");
|
||||
try {
|
||||
|
||||
@@ -29,9 +29,7 @@ public final class RegisterPicHandler extends AbstractMaplePacketHandler {
|
||||
String pic = slea.readMapleAsciiString();
|
||||
if (c.getPic() == null || c.getPic().equals("")) {
|
||||
c.setPic(pic);
|
||||
if (c.getIdleTask() != null) {
|
||||
c.getIdleTask().cancel(true);
|
||||
}
|
||||
Server.getInstance().unregisterLoginState(c);
|
||||
c.updateLoginState(MapleClient.LOGIN_SERVER_TRANSITION);
|
||||
String[] socket = Server.getInstance().getIP(c.getWorld(), c.getChannel()).split(":");
|
||||
try {
|
||||
|
||||
@@ -24,7 +24,7 @@ package net.server.handlers.login;
|
||||
|
||||
import client.MapleClient;
|
||||
import net.AbstractMaplePacketHandler;
|
||||
import server.TimerManager;
|
||||
import net.server.Server;
|
||||
import tools.MaplePacketCreator;
|
||||
import tools.data.input.SeekableLittleEndianAccessor;
|
||||
|
||||
@@ -40,12 +40,8 @@ public class SetGenderHandler extends AbstractMaplePacketHandler {
|
||||
c.setGender(slea.readByte());
|
||||
c.announce(MaplePacketCreator.getAuthSuccess(c));
|
||||
final MapleClient client = c;
|
||||
c.setIdleTask(TimerManager.getInstance().schedule(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
client.getSession().close(true);
|
||||
}
|
||||
}, 600000));
|
||||
|
||||
Server.getInstance().registerLoginState(c);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -29,9 +29,7 @@ public class ViewAllCharSelectedWithPicHandler extends AbstractMaplePacketHandle
|
||||
return;
|
||||
}
|
||||
if (c.checkPic(pic)) {
|
||||
if (c.getIdleTask() != null) {
|
||||
c.getIdleTask().cancel(true);
|
||||
}
|
||||
Server.getInstance().unregisterLoginState(c);
|
||||
c.updateLoginState(MapleClient.LOGIN_SERVER_TRANSITION);
|
||||
|
||||
String[] socket = Server.getInstance().getIP(c.getWorld(), c.getChannel()).split(":");
|
||||
|
||||
@@ -28,9 +28,7 @@ public final class ViewAllPicRegisterHandler extends AbstractMaplePacketHandler
|
||||
slea.readMapleAsciiString();
|
||||
String pic = slea.readMapleAsciiString();
|
||||
c.setPic(pic);
|
||||
if (c.getIdleTask() != null) {
|
||||
c.getIdleTask().cancel(true);
|
||||
}
|
||||
Server.getInstance().unregisterLoginState(c);
|
||||
c.updateLoginState(MapleClient.LOGIN_SERVER_TRANSITION);
|
||||
String[] socket = Server.getInstance().getIP(c.getWorld(), channel).split(":");
|
||||
try {
|
||||
|
||||
Reference in New Issue
Block a user