diff --git a/src/main/java/seng302/gameServer/GameState.java b/src/main/java/seng302/gameServer/GameState.java
index 9ac1d61d..ab513b81 100644
--- a/src/main/java/seng302/gameServer/GameState.java
+++ b/src/main/java/seng302/gameServer/GameState.java
@@ -13,14 +13,14 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.w3c.dom.Document;
import org.xml.sax.InputSource;
-import seng302.gameServer.server.messages.BoatAction;
-import seng302.gameServer.server.messages.BoatStatus;
-import seng302.gameServer.server.messages.CustomizeRequestType;
-import seng302.gameServer.server.messages.MarkRoundingMessage;
-import seng302.gameServer.server.messages.MarkType;
-import seng302.gameServer.server.messages.Message;
-import seng302.gameServer.server.messages.RoundingBoatStatus;
-import seng302.gameServer.server.messages.YachtEventCodeMessage;
+import seng302.gameServer.messages.BoatAction;
+import seng302.gameServer.messages.BoatStatus;
+import seng302.gameServer.messages.CustomizeRequestType;
+import seng302.gameServer.messages.MarkRoundingMessage;
+import seng302.gameServer.messages.MarkType;
+import seng302.gameServer.messages.Message;
+import seng302.gameServer.messages.RoundingBoatStatus;
+import seng302.gameServer.messages.YachtEventCodeMessage;
import seng302.model.GeoPoint;
import seng302.model.Limit;
import seng302.model.Player;
diff --git a/src/main/java/seng302/gameServer/HeartbeatThread.java b/src/main/java/seng302/gameServer/HeartbeatThread.java
index b168a197..8b9cd288 100644
--- a/src/main/java/seng302/gameServer/HeartbeatThread.java
+++ b/src/main/java/seng302/gameServer/HeartbeatThread.java
@@ -5,8 +5,8 @@ import java.util.Stack;
import java.util.Timer;
import java.util.TimerTask;
import seng302.model.Player;
-import seng302.gameServer.server.messages.Heartbeat;
-import seng302.gameServer.server.messages.Message;
+import seng302.gameServer.messages.Heartbeat;
+import seng302.gameServer.messages.Message;
/**
* Send Heartbeat messages to connected player at a specified interval
diff --git a/src/main/java/seng302/gameServer/MainServerThread.java b/src/main/java/seng302/gameServer/MainServerThread.java
index 800e715a..5f8b000a 100644
--- a/src/main/java/seng302/gameServer/MainServerThread.java
+++ b/src/main/java/seng302/gameServer/MainServerThread.java
@@ -7,13 +7,13 @@ import java.util.ArrayList;
import java.util.List;
import java.util.Timer;
import java.util.TimerTask;
-import seng302.gameServer.server.messages.BoatSubMessage;
-import seng302.gameServer.server.messages.Message;
-import seng302.gameServer.server.messages.RaceStartNotificationType;
-import seng302.gameServer.server.messages.RaceStartStatusMessage;
-import seng302.gameServer.server.messages.RaceStatus;
-import seng302.gameServer.server.messages.RaceStatusMessage;
-import seng302.gameServer.server.messages.RaceType;
+import seng302.gameServer.messages.BoatSubMessage;
+import seng302.gameServer.messages.Message;
+import seng302.gameServer.messages.RaceStartNotificationType;
+import seng302.gameServer.messages.RaceStartStatusMessage;
+import seng302.gameServer.messages.RaceStatus;
+import seng302.gameServer.messages.RaceStatusMessage;
+import seng302.gameServer.messages.RaceType;
import seng302.model.GeoPoint;
import seng302.model.Player;
import seng302.model.PolarTable;
diff --git a/src/main/java/seng302/gameServer/ServerPacketParser.java b/src/main/java/seng302/gameServer/ServerPacketParser.java
index 4b62c933..62d971ea 100644
--- a/src/main/java/seng302/gameServer/ServerPacketParser.java
+++ b/src/main/java/seng302/gameServer/ServerPacketParser.java
@@ -1,10 +1,10 @@
package seng302.gameServer;
import java.util.Arrays;
-import seng302.gameServer.server.messages.BoatAction;
-import seng302.gameServer.server.messages.ClientType;
-import seng302.gameServer.server.messages.CustomizeRequestType;
-import seng302.gameServer.server.messages.Message;
+import seng302.gameServer.messages.BoatAction;
+import seng302.gameServer.messages.ClientType;
+import seng302.gameServer.messages.CustomizeRequestType;
+import seng302.gameServer.messages.Message;
import seng302.model.stream.packets.StreamPacket;
diff --git a/src/main/java/seng302/gameServer/ServerToClientThread.java b/src/main/java/seng302/gameServer/ServerToClientThread.java
index 4062adf8..0ddfef21 100644
--- a/src/main/java/seng302/gameServer/ServerToClientThread.java
+++ b/src/main/java/seng302/gameServer/ServerToClientThread.java
@@ -20,16 +20,16 @@ import java.util.zip.CRC32;
import java.util.zip.Checksum;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import seng302.gameServer.server.messages.BoatAction;
-import seng302.gameServer.server.messages.BoatLocationMessage;
-import seng302.gameServer.server.messages.ClientType;
-import seng302.gameServer.server.messages.CustomizeRequestType;
-import seng302.gameServer.server.messages.Message;
-import seng302.gameServer.server.messages.RegistrationResponseMessage;
-import seng302.gameServer.server.messages.RegistrationResponseStatus;
-import seng302.gameServer.server.messages.XMLMessage;
-import seng302.gameServer.server.messages.XMLMessageSubType;
-import seng302.gameServer.server.messages.YachtEventCodeMessage;
+import seng302.gameServer.messages.BoatAction;
+import seng302.gameServer.messages.BoatLocationMessage;
+import seng302.gameServer.messages.ClientType;
+import seng302.gameServer.messages.CustomizeRequestType;
+import seng302.gameServer.messages.Message;
+import seng302.gameServer.messages.RegistrationResponseMessage;
+import seng302.gameServer.messages.RegistrationResponseStatus;
+import seng302.gameServer.messages.XMLMessage;
+import seng302.gameServer.messages.XMLMessageSubType;
+import seng302.gameServer.messages.YachtEventCodeMessage;
import seng302.model.Player;
import seng302.model.ServerYacht;
import seng302.model.stream.packets.PacketType;
diff --git a/src/main/java/seng302/gameServer/server/messages/BoatAction.java b/src/main/java/seng302/gameServer/messages/BoatAction.java
similarity index 94%
rename from src/main/java/seng302/gameServer/server/messages/BoatAction.java
rename to src/main/java/seng302/gameServer/messages/BoatAction.java
index cc53668c..9003958a 100644
--- a/src/main/java/seng302/gameServer/server/messages/BoatAction.java
+++ b/src/main/java/seng302/gameServer/messages/BoatAction.java
@@ -1,4 +1,4 @@
-package seng302.gameServer.server.messages;
+package seng302.gameServer.messages;
import java.util.HashMap;
import java.util.Map;
diff --git a/src/main/java/seng302/gameServer/server/messages/BoatActionMessage.java b/src/main/java/seng302/gameServer/messages/BoatActionMessage.java
similarity index 94%
rename from src/main/java/seng302/gameServer/server/messages/BoatActionMessage.java
rename to src/main/java/seng302/gameServer/messages/BoatActionMessage.java
index 2fc084e5..419bf72e 100644
--- a/src/main/java/seng302/gameServer/server/messages/BoatActionMessage.java
+++ b/src/main/java/seng302/gameServer/messages/BoatActionMessage.java
@@ -1,4 +1,4 @@
-package seng302.gameServer.server.messages;
+package seng302.gameServer.messages;
/**
* Created by kre39 on 12/07/17.
diff --git a/src/main/java/seng302/gameServer/server/messages/BoatLocationMessage.java b/src/main/java/seng302/gameServer/messages/BoatLocationMessage.java
similarity index 99%
rename from src/main/java/seng302/gameServer/server/messages/BoatLocationMessage.java
rename to src/main/java/seng302/gameServer/messages/BoatLocationMessage.java
index 72548c12..faf344ff 100644
--- a/src/main/java/seng302/gameServer/server/messages/BoatLocationMessage.java
+++ b/src/main/java/seng302/gameServer/messages/BoatLocationMessage.java
@@ -1,4 +1,4 @@
-package seng302.gameServer.server.messages;
+package seng302.gameServer.messages;
public class BoatLocationMessage extends Message {
diff --git a/src/main/java/seng302/gameServer/server/messages/BoatStatus.java b/src/main/java/seng302/gameServer/messages/BoatStatus.java
similarity index 87%
rename from src/main/java/seng302/gameServer/server/messages/BoatStatus.java
rename to src/main/java/seng302/gameServer/messages/BoatStatus.java
index 2f09dd4f..7837994b 100644
--- a/src/main/java/seng302/gameServer/server/messages/BoatStatus.java
+++ b/src/main/java/seng302/gameServer/messages/BoatStatus.java
@@ -1,4 +1,4 @@
-package seng302.gameServer.server.messages;
+package seng302.gameServer.messages;
/**
* The current status of a boat
diff --git a/src/main/java/seng302/gameServer/server/messages/BoatSubMessage.java b/src/main/java/seng302/gameServer/messages/BoatSubMessage.java
similarity index 98%
rename from src/main/java/seng302/gameServer/server/messages/BoatSubMessage.java
rename to src/main/java/seng302/gameServer/messages/BoatSubMessage.java
index d0d57888..f6b78422 100644
--- a/src/main/java/seng302/gameServer/server/messages/BoatSubMessage.java
+++ b/src/main/java/seng302/gameServer/messages/BoatSubMessage.java
@@ -1,4 +1,4 @@
-package seng302.gameServer.server.messages;
+package seng302.gameServer.messages;
import java.nio.ByteBuffer;
diff --git a/src/main/java/seng302/gameServer/server/messages/ChatterMessage.java b/src/main/java/seng302/gameServer/messages/ChatterMessage.java
similarity index 95%
rename from src/main/java/seng302/gameServer/server/messages/ChatterMessage.java
rename to src/main/java/seng302/gameServer/messages/ChatterMessage.java
index 08cce58f..0ac18413 100644
--- a/src/main/java/seng302/gameServer/server/messages/ChatterMessage.java
+++ b/src/main/java/seng302/gameServer/messages/ChatterMessage.java
@@ -1,4 +1,4 @@
-package seng302.gameServer.server.messages;
+package seng302.gameServer.messages;
public class ChatterMessage extends Message {
diff --git a/src/main/java/seng302/gameServer/server/messages/ClientType.java b/src/main/java/seng302/gameServer/messages/ClientType.java
similarity index 93%
rename from src/main/java/seng302/gameServer/server/messages/ClientType.java
rename to src/main/java/seng302/gameServer/messages/ClientType.java
index b96ca5c7..13be441e 100644
--- a/src/main/java/seng302/gameServer/server/messages/ClientType.java
+++ b/src/main/java/seng302/gameServer/messages/ClientType.java
@@ -1,4 +1,4 @@
-package seng302.gameServer.server.messages;
+package seng302.gameServer.messages;
public enum ClientType {
SPECTATOR(0x00),
diff --git a/src/main/java/seng302/gameServer/server/messages/CustomizeRequestMessage.java b/src/main/java/seng302/gameServer/messages/CustomizeRequestMessage.java
similarity index 95%
rename from src/main/java/seng302/gameServer/server/messages/CustomizeRequestMessage.java
rename to src/main/java/seng302/gameServer/messages/CustomizeRequestMessage.java
index 9407603b..324196f6 100644
--- a/src/main/java/seng302/gameServer/server/messages/CustomizeRequestMessage.java
+++ b/src/main/java/seng302/gameServer/messages/CustomizeRequestMessage.java
@@ -1,4 +1,4 @@
-package seng302.gameServer.server.messages;
+package seng302.gameServer.messages;
// TODO: 14/08/17 ajm412: this may eventually need adjusting due to conforming to the agreed spec.
public class CustomizeRequestMessage extends Message {
diff --git a/src/main/java/seng302/gameServer/server/messages/CustomizeRequestType.java b/src/main/java/seng302/gameServer/messages/CustomizeRequestType.java
similarity index 93%
rename from src/main/java/seng302/gameServer/server/messages/CustomizeRequestType.java
rename to src/main/java/seng302/gameServer/messages/CustomizeRequestType.java
index 86aae5a5..8077c657 100644
--- a/src/main/java/seng302/gameServer/server/messages/CustomizeRequestType.java
+++ b/src/main/java/seng302/gameServer/messages/CustomizeRequestType.java
@@ -1,4 +1,4 @@
-package seng302.gameServer.server.messages;
+package seng302.gameServer.messages;
// TODO: 14/08/17 ajm412: this may eventually need adjusting due to conforming to the agreed spec.
public enum CustomizeRequestType {
diff --git a/src/main/java/seng302/gameServer/server/messages/CustomizeResponseMessage.java b/src/main/java/seng302/gameServer/messages/CustomizeResponseMessage.java
similarity index 92%
rename from src/main/java/seng302/gameServer/server/messages/CustomizeResponseMessage.java
rename to src/main/java/seng302/gameServer/messages/CustomizeResponseMessage.java
index d3380ea8..e1723623 100644
--- a/src/main/java/seng302/gameServer/server/messages/CustomizeResponseMessage.java
+++ b/src/main/java/seng302/gameServer/messages/CustomizeResponseMessage.java
@@ -1,4 +1,4 @@
-package seng302.gameServer.server.messages;
+package seng302.gameServer.messages;
/**
* Created by ajm412 on 14/08/17.
diff --git a/src/main/java/seng302/gameServer/server/messages/CustomizeResponseType.java b/src/main/java/seng302/gameServer/messages/CustomizeResponseType.java
similarity index 94%
rename from src/main/java/seng302/gameServer/server/messages/CustomizeResponseType.java
rename to src/main/java/seng302/gameServer/messages/CustomizeResponseType.java
index b26780b9..a935dc80 100644
--- a/src/main/java/seng302/gameServer/server/messages/CustomizeResponseType.java
+++ b/src/main/java/seng302/gameServer/messages/CustomizeResponseType.java
@@ -1,4 +1,4 @@
-package seng302.gameServer.server.messages;
+package seng302.gameServer.messages;
// TODO: 14/08/17 ajm412: this may eventually need adjusting due to conforming to the agreed spec.
public enum CustomizeResponseType {
diff --git a/src/main/java/seng302/gameServer/server/messages/DeviceType.java b/src/main/java/seng302/gameServer/messages/DeviceType.java
similarity index 82%
rename from src/main/java/seng302/gameServer/server/messages/DeviceType.java
rename to src/main/java/seng302/gameServer/messages/DeviceType.java
index 4f6d7b80..54925b6d 100644
--- a/src/main/java/seng302/gameServer/server/messages/DeviceType.java
+++ b/src/main/java/seng302/gameServer/messages/DeviceType.java
@@ -1,4 +1,4 @@
-package seng302.gameServer.server.messages;
+package seng302.gameServer.messages;
public enum DeviceType {
UNKNOWN(0),
diff --git a/src/main/java/seng302/gameServer/server/messages/Header.java b/src/main/java/seng302/gameServer/messages/Header.java
similarity index 98%
rename from src/main/java/seng302/gameServer/server/messages/Header.java
rename to src/main/java/seng302/gameServer/messages/Header.java
index 074a8ab0..1e388b0d 100644
--- a/src/main/java/seng302/gameServer/server/messages/Header.java
+++ b/src/main/java/seng302/gameServer/messages/Header.java
@@ -1,4 +1,4 @@
-package seng302.gameServer.server.messages;
+package seng302.gameServer.messages;
import java.nio.ByteBuffer;
diff --git a/src/main/java/seng302/gameServer/server/messages/Heartbeat.java b/src/main/java/seng302/gameServer/messages/Heartbeat.java
similarity index 92%
rename from src/main/java/seng302/gameServer/server/messages/Heartbeat.java
rename to src/main/java/seng302/gameServer/messages/Heartbeat.java
index 688aaf40..0a81ceec 100644
--- a/src/main/java/seng302/gameServer/server/messages/Heartbeat.java
+++ b/src/main/java/seng302/gameServer/messages/Heartbeat.java
@@ -1,4 +1,4 @@
-package seng302.gameServer.server.messages;
+package seng302.gameServer.messages;
public class Heartbeat extends Message {
private final int MESSAGE_SIZE = 4;
diff --git a/src/main/java/seng302/gameServer/server/messages/MarkType.java b/src/main/java/seng302/gameServer/messages/MarkType.java
similarity index 85%
rename from src/main/java/seng302/gameServer/server/messages/MarkType.java
rename to src/main/java/seng302/gameServer/messages/MarkType.java
index 6e6ae116..e67a9509 100644
--- a/src/main/java/seng302/gameServer/server/messages/MarkType.java
+++ b/src/main/java/seng302/gameServer/messages/MarkType.java
@@ -1,4 +1,4 @@
-package seng302.gameServer.server.messages;
+package seng302.gameServer.messages;
/**
* Types of marks boats can round
diff --git a/src/main/java/seng302/gameServer/server/messages/Message.java b/src/main/java/seng302/gameServer/messages/Message.java
similarity index 99%
rename from src/main/java/seng302/gameServer/server/messages/Message.java
rename to src/main/java/seng302/gameServer/messages/Message.java
index cabba2b3..691bb022 100644
--- a/src/main/java/seng302/gameServer/server/messages/Message.java
+++ b/src/main/java/seng302/gameServer/messages/Message.java
@@ -1,4 +1,4 @@
-package seng302.gameServer.server.messages;
+package seng302.gameServer.messages;
import java.nio.ByteBuffer;
import java.nio.ByteOrder;
diff --git a/src/main/java/seng302/gameServer/server/messages/MessageType.java b/src/main/java/seng302/gameServer/messages/MessageType.java
similarity index 94%
rename from src/main/java/seng302/gameServer/server/messages/MessageType.java
rename to src/main/java/seng302/gameServer/messages/MessageType.java
index 6b32fd65..9f0ddd4c 100644
--- a/src/main/java/seng302/gameServer/server/messages/MessageType.java
+++ b/src/main/java/seng302/gameServer/messages/MessageType.java
@@ -1,4 +1,4 @@
-package seng302.gameServer.server.messages;
+package seng302.gameServer.messages;
/**
* Enum containing the types of messages
diff --git a/src/main/java/seng302/gameServer/server/messages/RaceStartNotificationType.java b/src/main/java/seng302/gameServer/messages/RaceStartNotificationType.java
similarity index 88%
rename from src/main/java/seng302/gameServer/server/messages/RaceStartNotificationType.java
rename to src/main/java/seng302/gameServer/messages/RaceStartNotificationType.java
index 7f9543ff..4824e349 100644
--- a/src/main/java/seng302/gameServer/server/messages/RaceStartNotificationType.java
+++ b/src/main/java/seng302/gameServer/messages/RaceStartNotificationType.java
@@ -1,4 +1,4 @@
-package seng302.gameServer.server.messages;
+package seng302.gameServer.messages;
/**
* The types of race start status messages
diff --git a/src/main/java/seng302/gameServer/server/messages/RaceStartStatusMessage.java b/src/main/java/seng302/gameServer/messages/RaceStartStatusMessage.java
similarity index 97%
rename from src/main/java/seng302/gameServer/server/messages/RaceStartStatusMessage.java
rename to src/main/java/seng302/gameServer/messages/RaceStartStatusMessage.java
index ddb960c0..9de0a7b2 100644
--- a/src/main/java/seng302/gameServer/server/messages/RaceStartStatusMessage.java
+++ b/src/main/java/seng302/gameServer/messages/RaceStartStatusMessage.java
@@ -1,4 +1,4 @@
-package seng302.gameServer.server.messages;
+package seng302.gameServer.messages;
public class RaceStartStatusMessage extends Message {
private final int MESSAGE_SIZE = 20;
diff --git a/src/main/java/seng302/gameServer/server/messages/RaceStatus.java b/src/main/java/seng302/gameServer/messages/RaceStatus.java
similarity index 91%
rename from src/main/java/seng302/gameServer/server/messages/RaceStatus.java
rename to src/main/java/seng302/gameServer/messages/RaceStatus.java
index 6880ab06..82adfb5b 100644
--- a/src/main/java/seng302/gameServer/server/messages/RaceStatus.java
+++ b/src/main/java/seng302/gameServer/messages/RaceStatus.java
@@ -1,4 +1,4 @@
-package seng302.gameServer.server.messages;
+package seng302.gameServer.messages;
/**
* The current status of the race
diff --git a/src/main/java/seng302/gameServer/server/messages/RaceStatusMessage.java b/src/main/java/seng302/gameServer/messages/RaceStatusMessage.java
similarity index 98%
rename from src/main/java/seng302/gameServer/server/messages/RaceStatusMessage.java
rename to src/main/java/seng302/gameServer/messages/RaceStatusMessage.java
index 5cddf0bf..f1ede439 100644
--- a/src/main/java/seng302/gameServer/server/messages/RaceStatusMessage.java
+++ b/src/main/java/seng302/gameServer/messages/RaceStatusMessage.java
@@ -1,4 +1,4 @@
-package seng302.gameServer.server.messages;
+package seng302.gameServer.messages;
import java.util.List;
import java.util.zip.CRC32;
diff --git a/src/main/java/seng302/gameServer/server/messages/RaceType.java b/src/main/java/seng302/gameServer/messages/RaceType.java
similarity index 85%
rename from src/main/java/seng302/gameServer/server/messages/RaceType.java
rename to src/main/java/seng302/gameServer/messages/RaceType.java
index 5d601083..52e0d628 100644
--- a/src/main/java/seng302/gameServer/server/messages/RaceType.java
+++ b/src/main/java/seng302/gameServer/messages/RaceType.java
@@ -1,4 +1,4 @@
-package seng302.gameServer.server.messages;
+package seng302.gameServer.messages;
/**
* Enum containing the types of races
diff --git a/src/main/java/seng302/gameServer/server/messages/RegistrationRequestMessage.java b/src/main/java/seng302/gameServer/messages/RegistrationRequestMessage.java
similarity index 91%
rename from src/main/java/seng302/gameServer/server/messages/RegistrationRequestMessage.java
rename to src/main/java/seng302/gameServer/messages/RegistrationRequestMessage.java
index 59757a18..c7b2a1db 100644
--- a/src/main/java/seng302/gameServer/server/messages/RegistrationRequestMessage.java
+++ b/src/main/java/seng302/gameServer/messages/RegistrationRequestMessage.java
@@ -1,4 +1,4 @@
-package seng302.gameServer.server.messages;
+package seng302.gameServer.messages;
public class RegistrationRequestMessage extends Message {
diff --git a/src/main/java/seng302/gameServer/server/messages/RegistrationResponseMessage.java b/src/main/java/seng302/gameServer/messages/RegistrationResponseMessage.java
similarity index 91%
rename from src/main/java/seng302/gameServer/server/messages/RegistrationResponseMessage.java
rename to src/main/java/seng302/gameServer/messages/RegistrationResponseMessage.java
index e2174da4..28700210 100644
--- a/src/main/java/seng302/gameServer/server/messages/RegistrationResponseMessage.java
+++ b/src/main/java/seng302/gameServer/messages/RegistrationResponseMessage.java
@@ -1,4 +1,4 @@
-package seng302.gameServer.server.messages;
+package seng302.gameServer.messages;
public class RegistrationResponseMessage extends Message{
diff --git a/src/main/java/seng302/gameServer/server/messages/RegistrationResponseStatus.java b/src/main/java/seng302/gameServer/messages/RegistrationResponseStatus.java
similarity index 95%
rename from src/main/java/seng302/gameServer/server/messages/RegistrationResponseStatus.java
rename to src/main/java/seng302/gameServer/messages/RegistrationResponseStatus.java
index 2ae47a92..90e579bf 100644
--- a/src/main/java/seng302/gameServer/server/messages/RegistrationResponseStatus.java
+++ b/src/main/java/seng302/gameServer/messages/RegistrationResponseStatus.java
@@ -1,4 +1,4 @@
-package seng302.gameServer.server.messages;
+package seng302.gameServer.messages;
public enum RegistrationResponseStatus {
SUCCESS_SPECTATING(0x00),
diff --git a/src/main/java/seng302/gameServer/server/messages/RoundingBoatStatus.java b/src/main/java/seng302/gameServer/messages/RoundingBoatStatus.java
similarity index 86%
rename from src/main/java/seng302/gameServer/server/messages/RoundingBoatStatus.java
rename to src/main/java/seng302/gameServer/messages/RoundingBoatStatus.java
index 3b0a6d09..324c03e3 100644
--- a/src/main/java/seng302/gameServer/server/messages/RoundingBoatStatus.java
+++ b/src/main/java/seng302/gameServer/messages/RoundingBoatStatus.java
@@ -1,4 +1,4 @@
-package seng302.gameServer.server.messages;
+package seng302.gameServer.messages;
/**
* The status of a boat rounding a mark
diff --git a/src/main/java/seng302/gameServer/server/messages/RoundingSide.java b/src/main/java/seng302/gameServer/messages/RoundingSide.java
similarity index 96%
rename from src/main/java/seng302/gameServer/server/messages/RoundingSide.java
rename to src/main/java/seng302/gameServer/messages/RoundingSide.java
index efb4c929..ffcc7f6c 100644
--- a/src/main/java/seng302/gameServer/server/messages/RoundingSide.java
+++ b/src/main/java/seng302/gameServer/messages/RoundingSide.java
@@ -1,4 +1,4 @@
-package seng302.gameServer.server.messages;
+package seng302.gameServer.messages;
/**
* The side the boat rounded the mark
diff --git a/src/main/java/seng302/gameServer/server/messages/XMLMessage.java b/src/main/java/seng302/gameServer/messages/XMLMessage.java
similarity index 97%
rename from src/main/java/seng302/gameServer/server/messages/XMLMessage.java
rename to src/main/java/seng302/gameServer/messages/XMLMessage.java
index 6bcd42ca..361bac0e 100644
--- a/src/main/java/seng302/gameServer/server/messages/XMLMessage.java
+++ b/src/main/java/seng302/gameServer/messages/XMLMessage.java
@@ -1,4 +1,4 @@
-package seng302.gameServer.server.messages;
+package seng302.gameServer.messages;
public class XMLMessage extends Message{
private final MessageType MESSAGE_TYPE = MessageType.XML_MESSAGE;
diff --git a/src/main/java/seng302/gameServer/server/messages/XMLMessageSubType.java b/src/main/java/seng302/gameServer/messages/XMLMessageSubType.java
similarity index 86%
rename from src/main/java/seng302/gameServer/server/messages/XMLMessageSubType.java
rename to src/main/java/seng302/gameServer/messages/XMLMessageSubType.java
index 3b4bdc91..64757c5d 100644
--- a/src/main/java/seng302/gameServer/server/messages/XMLMessageSubType.java
+++ b/src/main/java/seng302/gameServer/messages/XMLMessageSubType.java
@@ -1,4 +1,4 @@
-package seng302.gameServer.server.messages;
+package seng302.gameServer.messages;
/**
* Enum containing the types of XML messages
diff --git a/src/main/java/seng302/gameServer/server/messages/YachtEventCodeMessage.java b/src/main/java/seng302/gameServer/messages/YachtEventCodeMessage.java
similarity index 96%
rename from src/main/java/seng302/gameServer/server/messages/YachtEventCodeMessage.java
rename to src/main/java/seng302/gameServer/messages/YachtEventCodeMessage.java
index 08db575a..eb9f557e 100644
--- a/src/main/java/seng302/gameServer/server/messages/YachtEventCodeMessage.java
+++ b/src/main/java/seng302/gameServer/messages/YachtEventCodeMessage.java
@@ -1,4 +1,4 @@
-package seng302.gameServer.server.messages;
+package seng302.gameServer.messages;
/**
* Created by zyt10 on 10/08/17.
diff --git a/src/main/java/seng302/gameServer/server/messages/MarkRoundingMessage.java b/src/main/java/seng302/gameServer/server/messages/MarkRoundingMessage.java
deleted file mode 100644
index f0d68e15..00000000
--- a/src/main/java/seng302/gameServer/server/messages/MarkRoundingMessage.java
+++ /dev/null
@@ -1,60 +0,0 @@
-package seng302.gameServer.server.messages;
-
-import seng302.gameServer.GameState;
-
-public class MarkRoundingMessage extends Message{
- private final long MESSAGE_VERSION_NUMBER = 1;
- private final int MESSAGE_SIZE = 21;
-
- private long time;
- private long ackNumber;
- private long raceId;
- private long sourceId;
- private RoundingBoatStatus boatStatus;
- private RoundingSide roundingSide;
- private long markId;
-
-
- /**
- * This message is sent when a boat passes a mark, start line, or finish line
- * The purpose of this is to record the time when yachts cross marks
- * @param ackNumber ackNumber
- * @param raceId raceId
- * @param sourceId boatSourceId
- * @param roundingBoatStatus roundingBoatStatus
- * @param roundingSide roundingSide
- * @param markId markId
- */
- public MarkRoundingMessage(int ackNumber, int raceId, int sourceId, RoundingBoatStatus roundingBoatStatus,
- RoundingSide roundingSide, MarkType markType, int markId) {
- this.time = System.currentTimeMillis();
- this.ackNumber = ackNumber;
- this.raceId = raceId;
- this.sourceId = sourceId;
- this.boatStatus = roundingBoatStatus;
- this.roundingSide = roundingSide;
- this.markId = markId;
-
- setHeader(new Header(MessageType.MARK_ROUNDING, 1, (short) getSize()));
- allocateBuffer();
- writeHeaderToBuffer();
-
- putByte((byte) MESSAGE_VERSION_NUMBER);
- putInt((int) time, 6);
- putInt((int) ackNumber, 2);
- putInt((int) raceId, 4);
- putInt((int) sourceId, 4);
- putByte((byte) boatStatus.getCode());
- putByte((byte) roundingSide.getCode());
- putByte((byte) markType.getCode());
- putByte((byte) markId);
-
- writeCRC();
- rewind();
- }
-
- @Override
- public int getSize() {
- return MESSAGE_SIZE;
- }
-}
diff --git a/src/main/java/seng302/model/ServerYacht.java b/src/main/java/seng302/model/ServerYacht.java
index 755f9946..61053a19 100644
--- a/src/main/java/seng302/model/ServerYacht.java
+++ b/src/main/java/seng302/model/ServerYacht.java
@@ -7,7 +7,7 @@ import javafx.scene.paint.Color;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import seng302.gameServer.GameState;
-import seng302.gameServer.server.messages.BoatStatus;
+import seng302.gameServer.messages.BoatStatus;
import seng302.model.mark.Mark;
import seng302.utilities.GeoUtility;
diff --git a/src/main/java/seng302/model/mark/CompoundMark.java b/src/main/java/seng302/model/mark/CompoundMark.java
index 70cd114f..13dfa50e 100644
--- a/src/main/java/seng302/model/mark/CompoundMark.java
+++ b/src/main/java/seng302/model/mark/CompoundMark.java
@@ -2,7 +2,7 @@ package seng302.model.mark;
import java.util.ArrayList;
import java.util.List;
-import seng302.gameServer.server.messages.RoundingSide;
+import seng302.gameServer.messages.RoundingSide;
import seng302.model.GeoPoint;
import seng302.utilities.GeoUtility;
diff --git a/src/main/java/seng302/model/mark/Mark.java b/src/main/java/seng302/model/mark/Mark.java
index de66166c..b5b65e7e 100644
--- a/src/main/java/seng302/model/mark/Mark.java
+++ b/src/main/java/seng302/model/mark/Mark.java
@@ -2,7 +2,7 @@ package seng302.model.mark;
import java.util.ArrayList;
import java.util.List;
-import seng302.gameServer.server.messages.RoundingSide;
+import seng302.gameServer.messages.RoundingSide;
import seng302.model.GeoPoint;
/**
diff --git a/src/main/java/seng302/model/mark/MarkOrder.java b/src/main/java/seng302/model/mark/MarkOrder.java
index aa75b494..c093e967 100644
--- a/src/main/java/seng302/model/mark/MarkOrder.java
+++ b/src/main/java/seng302/model/mark/MarkOrder.java
@@ -10,7 +10,7 @@ import org.slf4j.LoggerFactory;
import org.w3c.dom.Document;
import org.xml.sax.InputSource;
import org.xml.sax.SAXException;
-import seng302.gameServer.server.messages.RoundingSide;
+import seng302.gameServer.messages.RoundingSide;
import seng302.model.stream.xml.generator.Race;
import seng302.model.stream.xml.parser.RaceXMLData;
import seng302.utilities.XMLGenerator;
diff --git a/src/main/java/seng302/utilities/XMLGenerator.java b/src/main/java/seng302/utilities/XMLGenerator.java
index 3dc99694..7fcc8efd 100644
--- a/src/main/java/seng302/utilities/XMLGenerator.java
+++ b/src/main/java/seng302/utilities/XMLGenerator.java
@@ -9,7 +9,7 @@ import java.io.OutputStreamWriter;
import java.io.UnsupportedEncodingException;
import seng302.model.stream.xml.generator.Race;
import seng302.model.stream.xml.generator.Regatta;
-import seng302.gameServer.server.messages.XMLMessageSubType;
+import seng302.gameServer.messages.XMLMessageSubType;
/**
* An XML generator to generate the Race, Boat, and Regatta XML dynamically
diff --git a/src/main/java/seng302/visualiser/ClientToServerThread.java b/src/main/java/seng302/visualiser/ClientToServerThread.java
index a37e2703..dad3d740 100644
--- a/src/main/java/seng302/visualiser/ClientToServerThread.java
+++ b/src/main/java/seng302/visualiser/ClientToServerThread.java
@@ -21,14 +21,14 @@ import javafx.scene.control.Alert.AlertType;
import javafx.scene.control.ButtonType;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import seng302.gameServer.server.messages.BoatAction;
-import seng302.gameServer.server.messages.BoatActionMessage;
-import seng302.gameServer.server.messages.ClientType;
-import seng302.gameServer.server.messages.CustomizeRequestMessage;
-import seng302.gameServer.server.messages.CustomizeRequestType;
-import seng302.gameServer.server.messages.Message;
-import seng302.gameServer.server.messages.RegistrationRequestMessage;
-import seng302.gameServer.server.messages.RegistrationResponseStatus;
+import seng302.gameServer.messages.BoatAction;
+import seng302.gameServer.messages.BoatActionMessage;
+import seng302.gameServer.messages.ClientType;
+import seng302.gameServer.messages.CustomizeRequestMessage;
+import seng302.gameServer.messages.CustomizeRequestType;
+import seng302.gameServer.messages.Message;
+import seng302.gameServer.messages.RegistrationRequestMessage;
+import seng302.gameServer.messages.RegistrationResponseStatus;
import seng302.model.stream.packets.PacketType;
import seng302.model.stream.packets.StreamPacket;
diff --git a/src/main/java/seng302/visualiser/GameClient.java b/src/main/java/seng302/visualiser/GameClient.java
index 2898faa8..b8d15ab5 100644
--- a/src/main/java/seng302/visualiser/GameClient.java
+++ b/src/main/java/seng302/visualiser/GameClient.java
@@ -14,7 +14,7 @@ import javafx.scene.input.KeyEvent;
import javafx.scene.layout.Pane;
import seng302.gameServer.GameState;
import seng302.gameServer.MainServerThread;
-import seng302.gameServer.server.messages.BoatAction;
+import seng302.gameServer.messages.BoatAction;
import seng302.model.ClientYacht;
import seng302.model.RaceState;
import seng302.model.stream.packets.StreamPacket;
diff --git a/src/main/java/seng302/visualiser/controllers/CustomizationController.java b/src/main/java/seng302/visualiser/controllers/CustomizationController.java
index ea8db318..1a5b5e4d 100644
--- a/src/main/java/seng302/visualiser/controllers/CustomizationController.java
+++ b/src/main/java/seng302/visualiser/controllers/CustomizationController.java
@@ -6,7 +6,7 @@ import javafx.scene.control.ColorPicker;
import javafx.scene.control.TextField;
import javafx.scene.paint.Color;
import javafx.stage.Stage;
-import seng302.gameServer.server.messages.CustomizeRequestType;
+import seng302.gameServer.messages.CustomizeRequestType;
import seng302.visualiser.ClientToServerThread;
public class CustomizationController {
diff --git a/src/main/java/seng302/visualiser/controllers/LobbyController.java b/src/main/java/seng302/visualiser/controllers/LobbyController.java
index 88d29062..4dc5293f 100644
--- a/src/main/java/seng302/visualiser/controllers/LobbyController.java
+++ b/src/main/java/seng302/visualiser/controllers/LobbyController.java
@@ -46,6 +46,8 @@ public class LobbyController {
@FXML
private Button readyButton;
@FXML
+ private Button customizeButton;
+ @FXML
private TextArea playerOneTxt;
@FXML
private TextArea playerTwoTxt;
@@ -88,6 +90,8 @@ public class LobbyController {
private ClientToServerThread socketThread;
+ private Stage customizeStage;
+
private Color playersColor;
private int MAX_NUM_PLAYERS = 8;
@@ -154,7 +158,9 @@ public class LobbyController {
FXMLLoader fxmlLoader = new FXMLLoader(LobbyController.class.getResource("/views/customizeView.fxml"));
root = fxmlLoader.load();
root.getStylesheets().add("/css/master.css");
- Stage customizeStage = new Stage();
+ customizeStage = new Stage();
+ customizeStage.setTitle("Customize Boat");
+ customizeStage.setScene(new Scene(root, 700, 450));
CustomizationController cc = fxmlLoader.getController();
cc.setServerThread(this.socketThread);
cc.setPlayerName(this.players.get(playerID - 1));
@@ -164,8 +170,6 @@ public class LobbyController {
}
cc.setPlayerColor(this.playersColor);
- customizeStage.setTitle("Customize Boat");
- customizeStage.setScene(new Scene(root, 700, 450));
cc.setStage(customizeStage); // pass the stage through so it can be closed later.
cc.setLobbyController(this);
customizeStage.show();
@@ -194,6 +198,7 @@ public class LobbyController {
for (LobbyCloseListener readyListener : lobbyListeners)
readyListener.notify(CloseStatus.READY);
+ customizeButton.setDisable(true);
}
public void setTitle (String title) {
@@ -222,6 +227,12 @@ public class LobbyController {
public void updateRaceState(RaceState raceState){
this.raceState = raceState;
+ /*if (this.customizeStage != null) {
+ this.customizeStage.close();
+ }*/ // TODO: 17/08/17 ajm412: close the customization window if the host starts the game while customizing
+ if (!customizeButton.isDisabled()) {
+ customizeButton.setDisable(true);
+ }
timeUntilStart.setText("Starting in: " + raceState.getRaceTimeStr());
}
diff --git a/src/main/resources/css/master.css b/src/main/resources/css/master.css
index f79f79f3..f274eda1 100644
--- a/src/main/resources/css/master.css
+++ b/src/main/resources/css/master.css
@@ -99,7 +99,7 @@ Table
-fx-text-fill: black;
}
-server thread
+/*server thread */
.ui-table .column-header {
-fx-background-color: transparent;
}
diff --git a/src/main/resources/views/LobbyView.fxml b/src/main/resources/views/LobbyView.fxml
index 23e0b55b..1d325055 100644
--- a/src/main/resources/views/LobbyView.fxml
+++ b/src/main/resources/views/LobbyView.fxml
@@ -39,7 +39,7 @@
-
+
diff --git a/src/test/java/seng302/gameServer/server/TestConversions.java b/src/test/java/seng302/gameServer/server/TestConversions.java
index b341def1..f8f16e20 100644
--- a/src/test/java/seng302/gameServer/server/TestConversions.java
+++ b/src/test/java/seng302/gameServer/server/TestConversions.java
@@ -3,7 +3,7 @@ package seng302.gameServer.server;
import static junit.framework.TestCase.assertEquals;
import org.junit.Test;
-import seng302.gameServer.server.messages.BoatLocationMessage;
+import seng302.gameServer.messages.BoatLocationMessage;
/**
* Test conversions used by the boat location messages
diff --git a/src/test/java/seng302/gameServer/server/TestHeader.java b/src/test/java/seng302/gameServer/server/TestHeader.java
index 3441e3bc..7d7221b3 100644
--- a/src/test/java/seng302/gameServer/server/TestHeader.java
+++ b/src/test/java/seng302/gameServer/server/TestHeader.java
@@ -3,8 +3,8 @@ package seng302.gameServer.server;
import static junit.framework.TestCase.assertTrue;
import org.junit.Test;
-import seng302.gameServer.server.messages.Header;
-import seng302.gameServer.server.messages.MessageType;
+import seng302.gameServer.messages.Header;
+import seng302.gameServer.messages.MessageType;
/**
* Tests message header
diff --git a/src/test/java/seng302/gameServer/server/TestMessage.java b/src/test/java/seng302/gameServer/server/TestMessage.java
index 337202ec..86fe96f2 100644
--- a/src/test/java/seng302/gameServer/server/TestMessage.java
+++ b/src/test/java/seng302/gameServer/server/TestMessage.java
@@ -4,9 +4,9 @@ import static junit.framework.TestCase.assertEquals;
import static junit.framework.TestCase.assertTrue;
import org.junit.Test;
-import seng302.gameServer.server.messages.Message;
-import seng302.gameServer.server.messages.XMLMessage;
-import seng302.gameServer.server.messages.XMLMessageSubType;
+import seng302.gameServer.messages.Message;
+import seng302.gameServer.messages.XMLMessage;
+import seng302.gameServer.messages.XMLMessageSubType;
public class TestMessage {
private static int XML_MESSAGE_LEN = 14;
diff --git a/src/test/java/steps/ToggleSailSteps.java b/src/test/java/steps/ToggleSailSteps.java
index f74b05be..e4c6abed 100644
--- a/src/test/java/steps/ToggleSailSteps.java
+++ b/src/test/java/steps/ToggleSailSteps.java
@@ -8,7 +8,7 @@ import org.junit.Assert;
import seng302.gameServer.GameStages;
import seng302.gameServer.GameState;
import seng302.gameServer.MainServerThread;
-import seng302.gameServer.server.messages.BoatAction;
+import seng302.gameServer.messages.BoatAction;
import seng302.model.ServerYacht;
import seng302.visualiser.ClientToServerThread;