Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- if (p.isLoggedIn()) {
- p.setLoginStage(-1);
- }
- if (p.getLoginStage() == -1) {
- playerLogins.remove(p);
- if (!p.isLoggedIn()) {
- GameTurbine.playerManager.removePlayer(p);
- }
- continue;
- }
- if (System.currentTimeMillis() - p.loginTime >= 25000) {
- p.setLoginStage(-1);
- }
- try {
- GameTurbine.socketManager.readAvailable(p);
- } catch (IOException e) {
- p.setLoginStage(-1);
- }
- if (p.getLoginStage() == 0) {
- if (p.stream.remaining() < 1) {
- continue;
- }
- int firstByte = p.stream.readUnsignedByte();
- if (firstByte == 15) {
- p.setLoginStage(2);
- continue;
- }
- boolean isRSClient = (firstByte == 14);
- if (!isRSClient) {
- p.setLoginStage(-1);
- }
- p.stream.addByte(0);
- p.stream.addLong(0);
- GameTurbine.socketManager.writeBuffer(p);
- p.stream.clear();
- p.setLoginStage(1);
- }
- if (p.getLoginStage() == 1) {
- if (p.stream.remaining() < 3) {
- continue;
- }
- int returnCode = 2;
- int connectionSet = p.stream.readUnsignedByte();
- if (connectionSet != 16 && connectionSet != 18
- && connectionSet != 14) {
- returnCode = 3;
- }
- p.stream.readSkip(2);
- int clientVersion = p.stream.readInt();
- if (clientVersion != 562) {
- returnCode = 3;
- }
- p.stream.readSkip(30);
- p.stream.readString();
- p.stream.readSkip(143);
- long username = p.stream.readLong();
- p.setName(Text.fixName(Text.longToString(username)).trim());
- for (int i = 0; i < p.getName().length(); i++) {
- Character c = p.getName().charAt(i);
- if (!Character.isLetterOrDigit(c)
- && !Character.isSpaceChar(c)) {
- p.setName("");
- returnCode = 3;
- }
- }
- String password = p.stream.readString();
- for (int i = 0; i < password.length(); i++) {
- Character c = password.charAt(i);
- if (!Character.isLetterOrDigit(c)
- && !Character.isSpaceChar(c)) {
- returnCode = 3;
- }
- }
- GameTurbine.fileManager.loadCharacter(p);
- if (password != null && p.getPassword() != null
- && !p.getPassword().equals("")
- && !p.getPassword().equals(password)) {
- returnCode = 3;
- } else {
- p.setPassword(password);
- }
- if (GameTurbine.playerManager.playerOnline(p.getName(), p)) {
- returnCode = 5;
- }
- if (p.getOffense().getBanDate() > 0
- && System.currentTimeMillis()
- - p.getOffense().getBanDate() < p.getOffense()
- .getBanHours() * 60 * 60 * 1000) {
- returnCode = 4;
- } else if (GameTurbine.playerManager.getPermBanned().contains(
- p.getName().toLowerCase())) {
- returnCode = 4;
- }
- for (String s : GameTurbine.playerManager.getIPBanned()) {
- if (p.getConnectedFrom().startsWith(s)) {
- returnCode = 4;
- break;
- }
- }
- if (ServerFrame.serverUpdate) {
- returnCode = 14;
- }
- if (GameTurbine.playerManager.getMods().contains(
- p.getName().toLowerCase())) {
- p.setRights(1);
- }
- if (GameTurbine.playerManager.getAdmins().contains(
- p.getName().toLowerCase())) {
- p.setRights(2);
- }
- p.stream.addByte(returnCode);
- p.stream.addByte(p.getRights());
- p.stream.addByte(0);
- p.stream.addByte(0);
- p.stream.addByte(0);
- p.stream.addByte(0);
- p.stream.addByte(0);
- p.stream.addByte(0);
- p.stream.addShort(p.getId());
- p.stream.addByte(1);
- p.stream.addByte(1);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement