@Override
    public void received(Connection c, Object o) {
        if (o instanceof Packet) {
            Packet answer = null;
            if (o instanceof AuthRequest) {
                AuthRequest r = (AuthRequest) o;
                if (getByClientByName(r.nickname) == null) {
                    answer = new AuthResponse(c.getID(), client.getBullets(), client.getUsers(), client.getLevelName());
                    users.add(new ClientInfo(c, r.nickname));
                    System.out.println("User " + r.nickname + " connected. So there are " + users.size()
                                               + " users on server now!");

                    c.sendUDP(answer);
                    server.sendToAllExceptUDP(c.getID(), new UserResponse(r.nickname, c.getID()));
                    return;
                } else {
                    answer = Error.nicknameError();
                    System.out.print(answer);
                }
            } else if (o instanceof RunningRequest) {
                answer = (RunningRequest) o;
            } else if (o instanceof EntityPacket) {//I don't what for.
                ((EntityPacket) o).entity.setConnectionId(c.getID());
                answer = (Packet) o;
            } else if(o instanceof KilledRequest) {
                KilledRequest kr = (KilledRequest)o;
                kr.killedId = c.getID();
                server.sendToAllExceptUDP(c.getID(), kr);
            }



            if (answer != null) { server.sendToAllExceptUDP(c.getID(), answer); }
        }
    }