In BattleshipServer:
Added protocol version to fields.
Changed alphabet from char array to String to make conversion from row&Col pair.
Made msgQueue final.
Added FIR handling (not rigorously tested) and points/penalties.
Moved instantiation of receptionist and receptionistThread and starting of receptionistThread from BattleshipServer constructor to a new method: runAcceptor().
Modified startGame()
Added game ending (player won) code (not rigorously tested).
Added game ending (players left) code (not rigorously tested).
Modified connectionAcceptor and signIn() so that firstPlayer is based not on "first connected player", but to "first player to send in an ELO".
Modified sendMsgToPlayers() to avoid NPEs when sending messages to each player.
Fixed bug in shipGenHandler() which prevented the map from getting set properly (i.e., it wasn't being populated with Compartments, so every shot was a miss).
Fixed bug in signOut() which prevented a player's slot in the player list from getting nulled.

In Player:
Removed boolean isFirstPlayer from fields and constructor.
Changed score to be set to 0 in field list (instead of contractor).
Added protocol version to information sent in 220 message.
Added check to sendMessageToPlayer() to prevent trying to write through a closed socket.
Finished allShipsSunk() method.
Modified run() to simulate a BYE command from the client when the socket closes unexpectedly.
Fixed bug in sendMessageToPlayer() method: BYE was used in an if-statement instead of ACK_BYE.

In Message:
Added Override annotation to toString() method.

In Compartment:
Added setHit() method.