Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.edgu.bmo.server;
- import java.io.IOException;
- import java.util.HashMap;
- import java.util.Map;
- import com.edgu.bmo.server.packets.PacketNewBomb;
- import com.edgu.bmo.server.packets.PacketNewPlayer;
- import com.edgu.bmo.server.packets.PacketRemoveBomb;
- import com.edgu.bmo.server.packets.PacketRemovePlayer;
- import com.edgu.bmo.server.packets.PacketSetGrassCollideTile;
- import com.edgu.bmo.server.packets.PacketSetGrassTile;
- import com.edgu.bmo.server.packets.PacketUpdateRotation;
- import com.edgu.bmo.server.packets.PacketUpdateX;
- import com.edgu.bmo.server.packets.PacketUpdateY;
- import com.esotericsoftware.kryonet.Connection;
- import com.esotericsoftware.kryonet.Listener;
- import com.esotericsoftware.kryonet.Server;
- public class BMOServer extends Listener {
- private static Server server;
- private static final int tcpPort = 54555, udpPort = 54555;
- private static Map<Integer, Player> players = new HashMap<Integer, Player>();
- private static CommandListener commandListener = new CommandListener();
- private static Log log = new Log();
- public static void main (String[] args) throws IOException {
- server = new Server();
- server.getKryo().register(PacketNewPlayer.class);
- server.getKryo().register(PacketRemovePlayer.class);
- server.getKryo().register(PacketUpdateRotation.class);
- server.getKryo().register(PacketUpdateX.class);
- server.getKryo().register(PacketUpdateY.class);
- server.getKryo().register(PacketNewBomb.class);
- server.getKryo().register(PacketRemoveBomb.class);
- server.getKryo().register(PacketSetGrassTile.class);
- server.getKryo().register(PacketSetGrassCollideTile.class);
- server.bind(tcpPort, udpPort);
- server.start();
- server.addListener(new BMOServer());
- log.output("[Launch] <Server is ready on 54555 Port. [TCP]>");
- Thread thread = new Thread(commandListener);
- thread.start();
- }
- public void connected (Connection connection) {
- Player player = new Player();
- player.connection = connection;
- PacketNewPlayer packet = new PacketNewPlayer();
- packet.id = connection.getID();
- server.sendToAllExceptUDP(connection.getID(), packet);
- for (Player p : players.values()) {
- PacketNewPlayer packet2 = new PacketNewPlayer();
- packet2.id = p.connection.getID();
- connection.sendTCP(packet2);
- }
- players.put(connection.getID(), player);
- log.output("[Connected] <Player: " + connection.getID() + ", IP: " + connection.getRemoteAddressTCP().getHostString() + ">");
- }
- public void received (Connection connection, Object object) {
- if (object instanceof PacketUpdateX) {
- PacketUpdateX packet = (PacketUpdateX) object;
- players.get(connection.getID()).x = packet.x;
- packet.id = connection.getID();
- server.sendToAllExceptUDP(connection.getID(), packet);
- } else if (object instanceof PacketUpdateY) {
- PacketUpdateY packet = (PacketUpdateY) object;
- players.get(connection.getID()).y = packet.y;
- packet.id = connection.getID();
- server.sendToAllExceptUDP(connection.getID(), packet);
- } else if (object instanceof PacketUpdateRotation) {
- PacketUpdateRotation packet = (PacketUpdateRotation) object;
- players.get(connection.getID()).rotation = packet.rotation;
- packet.id = connection.getID();
- server.sendToAllExceptUDP(connection.getID(), packet);
- } else if (object instanceof PacketNewBomb) {
- PacketNewBomb packet = (PacketNewBomb) object;
- server.sendToAllExceptUDP(connection.getID(), packet);
- } else if (object instanceof PacketRemoveBomb) {
- PacketRemoveBomb packet = (PacketRemoveBomb) object;
- server.sendToAllExceptUDP(connection.getID(), packet);
- } else if (object instanceof PacketSetGrassTile) {
- PacketSetGrassTile packet = (PacketSetGrassTile) object;
- server.sendToAllExceptUDP(connection.getID(), packet);
- } else if (object instanceof PacketSetGrassCollideTile) {
- PacketSetGrassCollideTile packet = (PacketSetGrassCollideTile) object;
- server.sendToAllExceptUDP(connection.getID(), packet);
- }
- }
- public void disconnected (Connection connection){
- players.remove(connection.getID());
- PacketRemovePlayer packet = new PacketRemovePlayer();
- packet.id = connection.getID();
- server.sendToAllExceptUDP(connection.getID(), packet);
- log.output("[Disconnected] <Player: " + connection.getID() + ">");
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement