diff --git a/.gitattributes b/.gitattributes
index 523a0d6782b..1bc0f5027f8 100644
--- a/.gitattributes
+++ b/.gitattributes
@@ -82,6 +82,7 @@ forge-core/src/main/java/forge/item/package-info.java -text
forge-core/src/main/java/forge/package-info.java -text
forge-core/src/main/java/forge/util/Aggregates.java -text
forge-core/src/main/java/forge/util/BinaryUtil.java -text
+forge-core/src/main/java/forge/util/BuildInfo.java -text
forge-core/src/main/java/forge/util/CollectionSuppliers.java -text
forge-core/src/main/java/forge/util/ComparableOp.java -text
forge-core/src/main/java/forge/util/FileSection.java -text
@@ -15733,7 +15734,6 @@ forge-gui/src/main/java/forge/limited/ReadDraftRankings.java -text
forge-gui/src/main/java/forge/limited/SealedCardPoolGenerator.java svneol=native#text/plain
forge-gui/src/main/java/forge/limited/SealedDeckBuilder.java svneol=native#text/plain
forge-gui/src/main/java/forge/limited/package-info.java svneol=native#text/plain
-forge-gui/src/main/java/forge/model/BuildInfo.java -text
forge-gui/src/main/java/forge/model/CardBlock.java -text
forge-gui/src/main/java/forge/model/CardCollections.java -text
forge-gui/src/main/java/forge/model/FModel.java svneol=native#text/plain
@@ -15757,23 +15757,6 @@ forge-gui/src/main/java/forge/net/client/state/InLobbyClientState.java -text
forge-gui/src/main/java/forge/net/client/state/UnauthorizedClientState.java -text
forge-gui/src/main/java/forge/net/client/state/package-info.java -text
forge-gui/src/main/java/forge/net/package-info.java -text
-forge-gui/src/main/java/forge/net/protocol/ClientProtocol.java -text
-forge-gui/src/main/java/forge/net/protocol/ClientProtocolJson.java -text
-forge-gui/src/main/java/forge/net/protocol/package-info.java -text
-forge-gui/src/main/java/forge/net/protocol/toclient/AuthResultPacketClt.java -text
-forge-gui/src/main/java/forge/net/protocol/toclient/ChatPacketClt.java -text
-forge-gui/src/main/java/forge/net/protocol/toclient/EchoPacketClt.java -text
-forge-gui/src/main/java/forge/net/protocol/toclient/ErrorIncorrectPacketClt.java -text
-forge-gui/src/main/java/forge/net/protocol/toclient/ErrorNoStateForPacketClt.java -text
-forge-gui/src/main/java/forge/net/protocol/toclient/IPacketClt.java -text
-forge-gui/src/main/java/forge/net/protocol/toclient/WelcomePacketClt.java -text
-forge-gui/src/main/java/forge/net/protocol/toclient/package-info.java -text
-forge-gui/src/main/java/forge/net/protocol/toserver/AuthorizePacketSrv.java -text
-forge-gui/src/main/java/forge/net/protocol/toserver/ChatPacketSrv.java -text
-forge-gui/src/main/java/forge/net/protocol/toserver/EchoPacketSrv.java -text
-forge-gui/src/main/java/forge/net/protocol/toserver/IPacketSrv.java -text
-forge-gui/src/main/java/forge/net/protocol/toserver/IncorrectPacketSrv.java -text
-forge-gui/src/main/java/forge/net/protocol/toserver/package-info.java -text
forge-gui/src/main/java/forge/package-info.java svneol=native#text/plain
forge-gui/src/main/java/forge/properties/ForgePreferences.java svneol=native#text/plain
forge-gui/src/main/java/forge/properties/NewConstants.java svneol=native#text/plain
@@ -15941,4 +15924,21 @@ forge-net/.settings/org.eclipse.core.resources.prefs -text
forge-net/.settings/org.eclipse.jdt.core.prefs -text
forge-net/.settings/org.eclipse.m2e.core.prefs -text
forge-net/pom.xml -text
+forge-net/src/main/java/forge/net/protocol/ClientProtocol.java -text
+forge-net/src/main/java/forge/net/protocol/ClientProtocolJson.java -text
+forge-net/src/main/java/forge/net/protocol/package-info.java -text
+forge-net/src/main/java/forge/net/protocol/toclient/AuthResultPacketClt.java -text
+forge-net/src/main/java/forge/net/protocol/toclient/ChatPacketClt.java -text
+forge-net/src/main/java/forge/net/protocol/toclient/EchoPacketClt.java -text
+forge-net/src/main/java/forge/net/protocol/toclient/ErrorIncorrectPacketClt.java -text
+forge-net/src/main/java/forge/net/protocol/toclient/ErrorNoStateForPacketClt.java -text
+forge-net/src/main/java/forge/net/protocol/toclient/IPacketClt.java -text
+forge-net/src/main/java/forge/net/protocol/toclient/WelcomePacketClt.java -text
+forge-net/src/main/java/forge/net/protocol/toclient/package-info.java -text
+forge-net/src/main/java/forge/net/protocol/toserver/AuthorizePacketSrv.java -text
+forge-net/src/main/java/forge/net/protocol/toserver/ChatPacketSrv.java -text
+forge-net/src/main/java/forge/net/protocol/toserver/EchoPacketSrv.java -text
+forge-net/src/main/java/forge/net/protocol/toserver/IPacketSrv.java -text
+forge-net/src/main/java/forge/net/protocol/toserver/IncorrectPacketSrv.java -text
+forge-net/src/main/java/forge/net/protocol/toserver/package-info.java -text
/pom.xml svneol=native#text/xml
diff --git a/forge-gui/src/main/java/forge/model/BuildInfo.java b/forge-core/src/main/java/forge/util/BuildInfo.java
similarity index 98%
rename from forge-gui/src/main/java/forge/model/BuildInfo.java
rename to forge-core/src/main/java/forge/util/BuildInfo.java
index ac0b822aad5..91259a67988 100644
--- a/forge-gui/src/main/java/forge/model/BuildInfo.java
+++ b/forge-core/src/main/java/forge/util/BuildInfo.java
@@ -16,7 +16,7 @@
* along with this program. If not, see .
*/
-package forge.model;
+package forge.util;
import org.apache.commons.lang3.StringUtils;
diff --git a/forge-gui/pom.xml b/forge-gui/pom.xml
index 304bfdd9438..83c7593d1b7 100644
--- a/forge-gui/pom.xml
+++ b/forge-gui/pom.xml
@@ -193,11 +193,6 @@
guava
15.0
-
- com.google.code.gson
- gson
- 2.2.4
-
com.thoughtworks.xstream
xstream
diff --git a/forge-gui/src/main/java/forge/error/BugReporter.java b/forge-gui/src/main/java/forge/error/BugReporter.java
index d274d2dee4b..ac5fff873ac 100644
--- a/forge-gui/src/main/java/forge/error/BugReporter.java
+++ b/forge-gui/src/main/java/forge/error/BugReporter.java
@@ -55,7 +55,7 @@ import forge.gui.WrapLayout;
import forge.gui.toolbox.FHyperlink;
import forge.gui.toolbox.FLabel;
import forge.gui.toolbox.FOptionPane;
-import forge.model.BuildInfo;
+import forge.util.BuildInfo;
/**
* The class ErrorViewer. Enables showing and saving error messages that
diff --git a/forge-gui/src/main/java/forge/gui/menus/HelpMenu.java b/forge-gui/src/main/java/forge/gui/menus/HelpMenu.java
index fc7ebf5eff3..cd3443c6cb8 100644
--- a/forge-gui/src/main/java/forge/gui/menus/HelpMenu.java
+++ b/forge-gui/src/main/java/forge/gui/menus/HelpMenu.java
@@ -12,7 +12,7 @@ import javax.swing.JMenuItem;
import javax.swing.KeyStroke;
import forge.gui.toolbox.FOptionPane;
-import forge.model.BuildInfo;
+import forge.util.BuildInfo;
import forge.util.FileUtil;
public final class HelpMenu {
diff --git a/forge-gui/src/main/java/forge/view/FView.java b/forge-gui/src/main/java/forge/view/FView.java
index 7ac34c66ea5..591e3e3727a 100644
--- a/forge-gui/src/main/java/forge/view/FView.java
+++ b/forge-gui/src/main/java/forge/view/FView.java
@@ -55,8 +55,8 @@ import forge.gui.toolbox.FProgressBar;
import forge.gui.toolbox.FScrollPane;
import forge.gui.toolbox.FSkin;
import forge.gui.toolbox.FSkin.SkinnedLayeredPane;
-import forge.model.BuildInfo;
import forge.properties.NewConstants;
+import forge.util.BuildInfo;
public enum FView {
SINGLETON_INSTANCE;
diff --git a/forge-gui/src/test/java/forge/model/FModelTest.java b/forge-gui/src/test/java/forge/model/FModelTest.java
index 78d82f4c32a..894fbc4f5af 100644
--- a/forge-gui/src/test/java/forge/model/FModelTest.java
+++ b/forge-gui/src/test/java/forge/model/FModelTest.java
@@ -9,6 +9,7 @@ import org.testng.annotations.BeforeTest;
import org.testng.annotations.Test;
import forge.properties.ForgePreferences;
+import forge.util.BuildInfo;
/**
* Tests FModel.
diff --git a/forge-net/pom.xml b/forge-net/pom.xml
index b49651eac19..0343b5c6c02 100644
--- a/forge-net/pom.xml
+++ b/forge-net/pom.xml
@@ -22,6 +22,11 @@
forge
forge-game
${project.version}
-
+
+
+ com.google.code.gson
+ gson
+ 2.2.4
+
diff --git a/forge-gui/src/main/java/forge/net/protocol/ClientProtocol.java b/forge-net/src/main/java/forge/net/protocol/ClientProtocol.java
similarity index 100%
rename from forge-gui/src/main/java/forge/net/protocol/ClientProtocol.java
rename to forge-net/src/main/java/forge/net/protocol/ClientProtocol.java
diff --git a/forge-gui/src/main/java/forge/net/protocol/ClientProtocolJson.java b/forge-net/src/main/java/forge/net/protocol/ClientProtocolJson.java
similarity index 97%
rename from forge-gui/src/main/java/forge/net/protocol/ClientProtocolJson.java
rename to forge-net/src/main/java/forge/net/protocol/ClientProtocolJson.java
index f4866b20016..ac566ccdbe4 100644
--- a/forge-gui/src/main/java/forge/net/protocol/ClientProtocolJson.java
+++ b/forge-net/src/main/java/forge/net/protocol/ClientProtocolJson.java
@@ -7,6 +7,7 @@ import org.apache.commons.lang3.StringUtils;
import com.google.gson.Gson;
import com.google.gson.JsonParseException;
+
import forge.net.protocol.toclient.AuthResultPacketClt;
import forge.net.protocol.toclient.ChatPacketClt;
import forge.net.protocol.toclient.EchoPacketClt;
diff --git a/forge-gui/src/main/java/forge/net/protocol/package-info.java b/forge-net/src/main/java/forge/net/protocol/package-info.java
similarity index 100%
rename from forge-gui/src/main/java/forge/net/protocol/package-info.java
rename to forge-net/src/main/java/forge/net/protocol/package-info.java
diff --git a/forge-gui/src/main/java/forge/net/protocol/toclient/AuthResultPacketClt.java b/forge-net/src/main/java/forge/net/protocol/toclient/AuthResultPacketClt.java
similarity index 100%
rename from forge-gui/src/main/java/forge/net/protocol/toclient/AuthResultPacketClt.java
rename to forge-net/src/main/java/forge/net/protocol/toclient/AuthResultPacketClt.java
diff --git a/forge-gui/src/main/java/forge/net/protocol/toclient/ChatPacketClt.java b/forge-net/src/main/java/forge/net/protocol/toclient/ChatPacketClt.java
similarity index 100%
rename from forge-gui/src/main/java/forge/net/protocol/toclient/ChatPacketClt.java
rename to forge-net/src/main/java/forge/net/protocol/toclient/ChatPacketClt.java
diff --git a/forge-gui/src/main/java/forge/net/protocol/toclient/EchoPacketClt.java b/forge-net/src/main/java/forge/net/protocol/toclient/EchoPacketClt.java
similarity index 100%
rename from forge-gui/src/main/java/forge/net/protocol/toclient/EchoPacketClt.java
rename to forge-net/src/main/java/forge/net/protocol/toclient/EchoPacketClt.java
diff --git a/forge-gui/src/main/java/forge/net/protocol/toclient/ErrorIncorrectPacketClt.java b/forge-net/src/main/java/forge/net/protocol/toclient/ErrorIncorrectPacketClt.java
similarity index 100%
rename from forge-gui/src/main/java/forge/net/protocol/toclient/ErrorIncorrectPacketClt.java
rename to forge-net/src/main/java/forge/net/protocol/toclient/ErrorIncorrectPacketClt.java
diff --git a/forge-gui/src/main/java/forge/net/protocol/toclient/ErrorNoStateForPacketClt.java b/forge-net/src/main/java/forge/net/protocol/toclient/ErrorNoStateForPacketClt.java
similarity index 100%
rename from forge-gui/src/main/java/forge/net/protocol/toclient/ErrorNoStateForPacketClt.java
rename to forge-net/src/main/java/forge/net/protocol/toclient/ErrorNoStateForPacketClt.java
diff --git a/forge-gui/src/main/java/forge/net/protocol/toclient/IPacketClt.java b/forge-net/src/main/java/forge/net/protocol/toclient/IPacketClt.java
similarity index 100%
rename from forge-gui/src/main/java/forge/net/protocol/toclient/IPacketClt.java
rename to forge-net/src/main/java/forge/net/protocol/toclient/IPacketClt.java
diff --git a/forge-gui/src/main/java/forge/net/protocol/toclient/WelcomePacketClt.java b/forge-net/src/main/java/forge/net/protocol/toclient/WelcomePacketClt.java
similarity index 87%
rename from forge-gui/src/main/java/forge/net/protocol/toclient/WelcomePacketClt.java
rename to forge-net/src/main/java/forge/net/protocol/toclient/WelcomePacketClt.java
index af3bde5f20d..5e7bf397a2d 100644
--- a/forge-gui/src/main/java/forge/net/protocol/toclient/WelcomePacketClt.java
+++ b/forge-net/src/main/java/forge/net/protocol/toclient/WelcomePacketClt.java
@@ -1,6 +1,6 @@
package forge.net.protocol.toclient;
-import forge.model.BuildInfo;
+import forge.util.BuildInfo;
/**
* TODO: Write javadoc for this type.
diff --git a/forge-gui/src/main/java/forge/net/protocol/toclient/package-info.java b/forge-net/src/main/java/forge/net/protocol/toclient/package-info.java
similarity index 100%
rename from forge-gui/src/main/java/forge/net/protocol/toclient/package-info.java
rename to forge-net/src/main/java/forge/net/protocol/toclient/package-info.java
diff --git a/forge-gui/src/main/java/forge/net/protocol/toserver/AuthorizePacketSrv.java b/forge-net/src/main/java/forge/net/protocol/toserver/AuthorizePacketSrv.java
similarity index 100%
rename from forge-gui/src/main/java/forge/net/protocol/toserver/AuthorizePacketSrv.java
rename to forge-net/src/main/java/forge/net/protocol/toserver/AuthorizePacketSrv.java
diff --git a/forge-gui/src/main/java/forge/net/protocol/toserver/ChatPacketSrv.java b/forge-net/src/main/java/forge/net/protocol/toserver/ChatPacketSrv.java
similarity index 100%
rename from forge-gui/src/main/java/forge/net/protocol/toserver/ChatPacketSrv.java
rename to forge-net/src/main/java/forge/net/protocol/toserver/ChatPacketSrv.java
diff --git a/forge-gui/src/main/java/forge/net/protocol/toserver/EchoPacketSrv.java b/forge-net/src/main/java/forge/net/protocol/toserver/EchoPacketSrv.java
similarity index 100%
rename from forge-gui/src/main/java/forge/net/protocol/toserver/EchoPacketSrv.java
rename to forge-net/src/main/java/forge/net/protocol/toserver/EchoPacketSrv.java
diff --git a/forge-gui/src/main/java/forge/net/protocol/toserver/IPacketSrv.java b/forge-net/src/main/java/forge/net/protocol/toserver/IPacketSrv.java
similarity index 100%
rename from forge-gui/src/main/java/forge/net/protocol/toserver/IPacketSrv.java
rename to forge-net/src/main/java/forge/net/protocol/toserver/IPacketSrv.java
diff --git a/forge-gui/src/main/java/forge/net/protocol/toserver/IncorrectPacketSrv.java b/forge-net/src/main/java/forge/net/protocol/toserver/IncorrectPacketSrv.java
similarity index 100%
rename from forge-gui/src/main/java/forge/net/protocol/toserver/IncorrectPacketSrv.java
rename to forge-net/src/main/java/forge/net/protocol/toserver/IncorrectPacketSrv.java
diff --git a/forge-gui/src/main/java/forge/net/protocol/toserver/package-info.java b/forge-net/src/main/java/forge/net/protocol/toserver/package-info.java
similarity index 100%
rename from forge-gui/src/main/java/forge/net/protocol/toserver/package-info.java
rename to forge-net/src/main/java/forge/net/protocol/toserver/package-info.java