-
Notifications
You must be signed in to change notification settings - Fork 1
Setup
Viet Nguyen edited this page Jan 22, 2017
·
1 revision
##Setup Example ###Assumptions
- This is a single server setup. If you are managing multiple server, you obviously know what you are doing.
- This example is based on Debian.
- We assumed that you already have Java 8 installed.
- We use /home/minecraft folder for server files
- We use /home/minecraft/worlds folder for world folder
- We use /home/minecraft/playerdata for playerdata
- We use /home/minecraft/stats for stats
###Steps
- Create the following folders:
- /home/minecraft/proxy1
- /home/minecraft/proxy2
- /home/minecraft/proxy1/plugins
- /home/minecraft/proxy2/plugins
- /home/minecraft/server1
- /home/minecraft/server2
- /home/minecraft/server1/plugins
- /home/minecraft/server2/plugins
- /home/minecraft/worlds
- /home/minecraft/worlds/world1
- /home/minecraft/worlds/world2
- /home/minecraft/playerdata
- /home/minecraft/stats
- Install Redis & screen:
apt-get install redis-server
apt-get install screen
- Download server softwares to the appropriate folder:
- Download BungeeCord:
- Download link: http://ci.md-5.net/job/BungeeCord/lastSuccessfulBuild/artifact/bootstrap/target/BungeeCord.jar
- Download to:
- /home/minecraft/proxy1
- /home/minecraft/proxy2
- Download PaperSpigot:
- Download link: https://ci.destroystokyo.com/job/PaperSpigot/lastSuccessfulBuild/artifact/paperclip.jar
- Download to:
- /home/minecraft/server1
- /home/minecraft/server2
- Download Kosmos (our plugin):
- Download link: https://github.com/minecraftly/kosmos/releases
- Download to:
- /home/minecraft/proxy1/plugins
- /home/minecraft/proxy2/plugins
- /home/minecraft/server1/plugins
- /home/minecraft/server2/plugins
- Run servers to generate configs NOTE: Startup script for startup must have the "--world-dir" start-up parameter, so that all spigot servers can share the same "worlds" folder.
For example, we use /home/minecraft/worlds folder for all Spigot servers to access world files:
cd /home/minecraft/proxy1 && java -jar BungeeCord.jar
cd /home/minecraft/proxy2 && java -jar BungeeCord.jar
cd /home/minecraft/server1 && java -Dcom.mojang.eula.agree=true -jar paper.jar --port 25567 --level-name world1 --world-dir /home/minecraft/worlds
cd /home/minecraft/server2 && java -Dcom.mojang.eula.agree=true -jar paper.jar --port 25568 --level-name world2 --world-dir /home/minecraft/worlds
- Proxies & servers config Here are a few things that need changes in the config of Spigot Minecraft server to make things work. Most of the configurations are very standard, just double check and make sure that "server-ip" and "server-port" are defined correctly.
-
Proxy config:
- /home/proxy1/config.yml:
query_port: 25565
- /home/proxy2/config.yml:
query_port: 25566
- /home/proxy1/config.yml:
-
Server config:
- server.properties
server-ip={the public or private server IP that is attached to your machine} server-port={whatever port you want} online-mode=false
- bukkit.yml
connection-throttle: -1
- spigot.yml
bungeecord: true
- Spigot Startup Script Startup script for startup must have the "--world-dir /{folder location}" start-up parameter, so that all spigot servers can share the same collection of worlds.
For example, we use /home/minecraft/worlds folder for all Spigot servers to access world files:
java -jar spigot.jar --world-dir /home/minecraft/worlds
- Kosmos config Kosmos config is very simple. The files can be found at plugins/Kosmos/config.json Make sure all servers are shutdown before applying the configs
{
"redisConfig": {
"ip": "127.0.0.1",
"port": 6379,
"password": "",
"timeOut": 3000,
"maxNumPools": 20
},
"myAddress": {
"ipAddress": "YOUR-SERVER-IP-ADDRESS",
"port": -1
},
Minecraftly is distributed under the GNU GPLv3 license.