Package org.moparscape.msc.ls.model

Examples of org.moparscape.msc.ls.model.World


import org.moparscape.msc.ls.util.DataConversions;

public class PlayerSaveHandler implements PacketHandler {

  public void handlePacket(Packet p, IoSession session) throws Exception {
    World world = (World) session.getAttachment();
    long usernameHash = p.readLong();
    int owner = p.readInt();
    PlayerSave save = Server.getServer().findSave(usernameHash, world);
    if (save == null) {
      System.out.println("Error loading data for: "
View Full Code Here


      builder.setReply("You cannot ban a (p)mod or admin!");
    } else if (Server.storage.ban(setBanned, user)) {
      builder.setSuccess(false);
      builder.setReply("There is not an account by that username");
    } else {
      World w = Server.getServer().findWorld(user);
      if (w != null) {
        w.getActionSender().logoutUser(user);
      }
      if (setBanned)
        Server.storage.logBan(user, modhash);
      builder.setSuccess(true);
      builder.setReply(DataConversions.hashToUsername(user)
View Full Code Here

   *
   * @param session
   *            The IO session which has been closed
   */
  public void sessionClosed(IoSession session) {
    World world = (World) session.getAttachment();
    if (world != null) {
      Server.getServer().setIdle(world, true);
      world.clearPlayers();
      Server.error("Connection to world " + world.getID() + " lost!");
    }
  }
View Full Code Here

  public static ArrayList<String> badClients = new ArrayList<String>();
  private PlayerLoginPacketBuilder builder = new PlayerLoginPacketBuilder();

  public void handlePacket(Packet p, IoSession session) throws Exception {
    final long uID = ((LSPacket) p).getUID();
    World world = (World) session.getAttachment();
    long user = p.readLong();
    String ip = DataConversions.IPToString(p.readLong());
    byte[] pass = p.readBytes(p.readInt());
    String UID = p.readString();
    byte loginCode = validatePlayer(user, pass, ip, UID);

    builder.setUID(uID);
    if (loginCode == 0 || loginCode == 1 || loginCode == 99) {
      try {
        badClients.add(DataConversions.hashToUsername(user));
        System.out.println("UID: " + UID + " Player: "
            + DataConversions.hashToUsername(user));
      } catch (Exception e) {
        System.out.println("Exception in UID printer :"
            + e.getMessage());
      }

      builder.setPlayer(Server.getServer().findSave(user, world),
          loginCode);
      world.registerPlayer(user, ip, UID);
    } else {
      builder.setPlayer(null, loginCode);
    }

    LSPacket packet = builder.getPacket();
View Full Code Here

    String[] params = ((FPacket) p).getParameters();
    try {
      final int worldID = Integer.parseInt(params[0]);
      System.out.println("Frontend requested player list for world "
          + worldID);
      World world = Server.getServer().getWorld(worldID);
      if (world == null) {
        throw new Exception("Unknown world");
      }
      world.getActionSender().playerListRequest(new PacketHandler() {
        public void handlePacket(Packet p, IoSession s)
            throws Exception {
          builder.setID(2);

          ArrayList<String> params = new ArrayList<String>();
View Full Code Here

public class PlayerLogoutHandler implements PacketHandler {

  public void handlePacket(Packet p, IoSession session) throws Exception {
    long user = p.readLong();
    World world = (World) session.getAttachment();
    world.unregisterPlayer(user);
  }
View Full Code Here

      if (worldID == 0) {
        for (World w : Server.getServer().getWorlds()) {
          w.getActionSender().shutdown();
        }
      } else {
        World w = Server.getServer().getWorld(worldID);
        if (w == null) {
          throw new Exception("Unknown world");
        }
        w.getActionSender().shutdown();
      }
      builder.setID(1);
    } catch (Exception e) {
      builder.setID(0);
    }
View Full Code Here

import org.moparscape.msc.ls.service.FriendsListService;

public class PrivacySettingHandler implements PacketHandler {

  public void handlePacket(Packet p, IoSession session) throws Exception {
    World world = (World) session.getAttachment();
    Server server = Server.getServer();

    long user = p.readLong();
    boolean on = p.readByte() == 1;
    int idx = (int) p.readByte();
    switch (idx) {
    case 0: // Chat block
      break;
    case 1: // Private block
      if (world.getSave(user).blockPrivate() && !on) {
        FriendsListService.turnOffPrivate(user);
      } else if (!world.getSave(user).blockPrivate() && on) {
        FriendsListService.turnOnPrivate(user);
      }
      break;
    case 2: // Trade block
      break;
View Full Code Here

  public void handlePacket(Packet p, IoSession session) throws Exception {
    String[] params = ((FPacket) p).getParameters();
    try {
      long usernameHash = Long.parseLong(params[0]);
      World world = Server.getServer().findWorld(usernameHash);
      if (world == null) {
        throw new Exception("World not found");
      }
      world.getActionSender().logoutUser(usernameHash);
      builder.setID(1);
    } catch (Exception e) {
      builder.setID(0);
    }
    FPacket packet = builder.toPacket();
View Full Code Here

    Server server = Server.getServer();
    if (((LSPacket) p).getID() == 1) {
      int id = p.readShort();
      if (server.getWorld(id) == null) {
        World world = server.getIdleWorld(id);
        if (world == null) {
          world = new World(id, session);
          if (!Server.devMode) {
            int passL = p.readInt();
            byte[] pass = p.readBytes(passL);
            if (!Arrays.equals(
                new Hash(Config.LS_CONNECT_PASS.getBytes())
                    .value(), pass)) {
              System.out
                  .println("World provided invalid password.");
              LSPacket temp = builder.getPacket();
              if (temp != null) {
                session.write(temp);
              }
              return;
            }
          } else {
            int length = p.readInt();
            if (length != 0) {
              System.out
                  .println("[WARNING] Loginserver is in dev mode, but gameserver is not! Connection refused.");
              LSPacket temp = builder.getPacket();
              if (temp != null) {
                session.write(temp);
              }
              return;
            }           
          }
          server.registerWorld(world);
          System.out.println("Registering world: " + id);
        } else {
          world.setSession(session);
          server.setIdle(world, false);
          System.out.println("Reattached to world " + id);
        }
        int playerCount = p.readShort();
        for (int i = 0; i < playerCount; i++) {
          world.registerPlayer(p.readLong(),
              DataConversions.IPToString(p.readLong()),
              p.readString(p.readInt()));
        }
        session.setAttachment(world);
        builder.setSuccess(true);
      }
    } else {
      World world = (World) session.getAttachment();

      server.unregisterWorld(world);
      System.out.println("UnRegistering world: " + world.getID());
      session.setAttachment(null);
      builder.setSuccess(true);
    }

    LSPacket temp = builder.getPacket();
View Full Code Here

TOP

Related Classes of org.moparscape.msc.ls.model.World

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.