public synchronized boolean addPlayer(int slotID, int localID, 
            int clientID, String name, String type) {
        if (!_isOpen) {
            return false;
        }
        if ((slotID < 0) || (slotID >= _slots.size())) {
            return false;
        }
        if (!_slots.get(slotID).isOpen()) {
            return false;
        }
        
        _slots.get(slotID).setOccupied(new Player(localID, clientID, name, type));

        ArrayList<ClientThread> clients = new ArrayList<>(_clients.values());
        for (ClientThread client : clients) {
            client.send("addPlayer");
            client.send(slotID);
            client.send(localID);
            client.send(clientID);
            client.send(name);
            client.send(type);
        }

        return true;
    }