diff --git a/all/pom.xml b/all/pom.xml
new file mode 100644
index 0000000000..051795bd72
--- /dev/null
+++ b/all/pom.xml
@@ -0,0 +1,90 @@
+
+
+ 4.0.0
+
+
+ dev.openrs2
+ openrs2
+ 1.0.0-SNAPSHOT
+
+
+ openrs2-all
+ jar
+
+ OpenRS2 All
+
+ Zip file for end users, containing OpenRS2, all of its transitive
+ dependencies and launcher scripts.
+
+
+
+
+ dev.openrs2
+ openrs2-decompiler
+ ${project.version}
+
+
+ dev.openrs2
+ openrs2-deob
+ ${project.version}
+
+
+ dev.openrs2
+ openrs2-deob-ast
+ ${project.version}
+
+
+ dev.openrs2
+ openrs2-game
+ ${project.version}
+
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-shade-plugin
+
+
+ package
+
+ shade
+
+
+
+
+ true
+ jar-with-dependencies
+
+
+
+ dev.openrs2.game.GameServer
+
+
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-assembly-plugin
+
+
+ make-assembly
+ package
+
+ single
+
+
+
+
+
+ ${project.basedir}/src/assembly/bin.xml
+
+ false
+
+
+
+
+
diff --git a/all/src/assembly/bin.xml b/all/src/assembly/bin.xml
new file mode 100644
index 0000000000..cf5ef21f3f
--- /dev/null
+++ b/all/src/assembly/bin.xml
@@ -0,0 +1,20 @@
+
+
+ bin
+
+ zip
+
+
+
+ ${project.basedir}/src/bin
+ bin
+
+
+
+
+
+ lib
+ openrs2.jar
+
+
+
diff --git a/all/src/bin/openrs2-decompiler b/all/src/bin/openrs2-decompiler
new file mode 100755
index 0000000000..b06e58506b
--- /dev/null
+++ b/all/src/bin/openrs2-decompiler
@@ -0,0 +1,3 @@
+#!/bin/sh -e
+cd `dirname "$0"`/..
+exec java -cp lib/openrs2.jar dev.openrs2.decompiler.Decompiler "$@"
diff --git a/all/src/bin/openrs2-decompiler.cmd b/all/src/bin/openrs2-decompiler.cmd
new file mode 100644
index 0000000000..5cc4d3a78a
--- /dev/null
+++ b/all/src/bin/openrs2-decompiler.cmd
@@ -0,0 +1,3 @@
+@echo off
+cd /d %~dp0\..
+java -cp lib\openrs2.jar dev.openrs2.decompiler.Decompiler %*
diff --git a/all/src/bin/openrs2-deob b/all/src/bin/openrs2-deob
new file mode 100755
index 0000000000..04d00c165f
--- /dev/null
+++ b/all/src/bin/openrs2-deob
@@ -0,0 +1,3 @@
+#!/bin/sh -e
+cd `dirname "$0"`/..
+exec java -cp lib/openrs2.jar dev.openrs2.deob.Deobfuscator "$@"
diff --git a/all/src/bin/openrs2-deob-ast b/all/src/bin/openrs2-deob-ast
new file mode 100755
index 0000000000..a4440c2bd5
--- /dev/null
+++ b/all/src/bin/openrs2-deob-ast
@@ -0,0 +1,3 @@
+#!/bin/sh -e
+cd `dirname "$0"`/..
+exec java -cp lib/openrs2.jar dev.openrs2.deob.ast.AstDeobfuscator "$@"
diff --git a/all/src/bin/openrs2-deob-ast.cmd b/all/src/bin/openrs2-deob-ast.cmd
new file mode 100644
index 0000000000..6122db5cc7
--- /dev/null
+++ b/all/src/bin/openrs2-deob-ast.cmd
@@ -0,0 +1,3 @@
+@echo off
+cd /d %~dp0\..
+java -cp lib\openrs2.jar dev.openrs2.deob.ast.AstDeobfuscator %*
diff --git a/all/src/bin/openrs2-deob.cmd b/all/src/bin/openrs2-deob.cmd
new file mode 100644
index 0000000000..38af8ddaff
--- /dev/null
+++ b/all/src/bin/openrs2-deob.cmd
@@ -0,0 +1,3 @@
+@echo off
+cd /d %~dp0\..
+java -cp lib\openrs2.jar dev.openrs2.deob.Deobfuscator %*
diff --git a/all/src/bin/openrs2-game b/all/src/bin/openrs2-game
new file mode 100755
index 0000000000..6854b95a3a
--- /dev/null
+++ b/all/src/bin/openrs2-game
@@ -0,0 +1,3 @@
+#!/bin/sh -e
+cd `dirname "$0"`/..
+exec java -cp lib/openrs2.jar dev.openrs2.game.GameServer "$@"
diff --git a/all/src/bin/openrs2-game.cmd b/all/src/bin/openrs2-game.cmd
new file mode 100644
index 0000000000..e0b17aa0fa
--- /dev/null
+++ b/all/src/bin/openrs2-game.cmd
@@ -0,0 +1,3 @@
+@echo off
+cd /d %~dp0\..
+java -cp lib\openrs2.jar dev.openrs2.game.GameServer %*
diff --git a/pom.xml b/pom.xml
index 59be1288b0..8e5eac0c19 100644
--- a/pom.xml
+++ b/pom.xml
@@ -20,6 +20,7 @@
+ all
asm
bundler
decompiler