Index
- Introduction
- Specific Minecraft Version
- Custom Java parameters
- Forge
- SpigotMC
- BungeeCord
- Technic/Tekkit Pack
Introduction
Here are some custom configuration examples for MSCS.
Some custom settings may only apply before a world is created. Be sure to edit mscs.properties after creating a new world and before it is started for the first time.
Be sure to check out the Adjusting World Properties section in the README for a list of all the settings and replacement variables available.
Specific Minecraft Version
The version must exist in version_manifest.json.
Use a specific Release version
mscs-client-version=1.6.4
mscs-server-version=1.6.4
Use a specific Snapshot version
mscs-version-type=snapshot
mscs-client-version=14w11b
mscs-server-version=14w11b
Use the latest Snapshot version
mscs-version-type=snapshot
Custom Java parameters
Do you want a crazy Java command? You can do it with mscs-server-command:
mscs-server-command=$JAVA -Xms$INITIAL_MEMORY -Xmx$MAXIMUM_MEMORY -Xincgc -XX:NewRatio=3 -XX:+UseThreadPriorities -XX:CMSFullGCsBeforeCompaction=1 -XX:SoftRefLRUPolicyMSPerMB=2048 -XX:+CMSParallelRemarkEnabled -XX:+UseParNewGC -XX:+UseAdaptiveSizePolicy -XX:+DisableExplicitGC -Xnoclassgc -oss4M -ss4M -XX:+UseFastAccessorMethods -XX:CMSInitiatingOccupancyFraction=90 -XX:+UseConcMarkSweepGC -XX:UseSSE=4 -XX:+UseCMSCompactAtFullCollection -XX:ParallelGCThreads=8 -XX:+AggressiveOpts -Djava.awt.headless=true -jar $SERVER_LOCATION/$SERVER_JAR $SERVER_ARGS
Yes, this command could be used... but we do not guarantee that it will work or that it will make a server any faster/better/harder/stronger.
Forge
Forge has an easy to use installer that can be used to install all of the needed files to run a Forge server, starting with version 1.6.2-9.10.0.818. To install a version compatible with Minecraft 1.8.9, download the Forge installer forge-x.x-xx.xx.x.xxxx-installer and run the following as the minecraft user (sudo su minecraft):
cd /opt/mscs/server
wget http://files.minecraftforge.net/maven/net/minecraftforge/forge/1.8.9-11.15.1.1722/forge-1.8.9-11.15.1.1722-installer.jar
java -jar forge-1.8.9-11.15.1.1722-installer.jar --installServer
The installer should install the forge server jar to /opt/mscs/server/forge-1.8-11.14.2.1434-universal.jar and a bunch of library files in /opt/mscs/server/libraries/.
Create a new server:
mscs create forge 25565
forge can be replaced with any name. Ensure that port 25565 is an unused port, or change it if nessessary.
This will create the directory forge in /opt/mscs/worlds as well as the server.properties and mscs.properties files:
Change the directory to the world that was created:
cd /opt/mscs/worlds/forge
Modify the mscs.properties file and add/alter these lines, replacing versions and file paths as needed:
mscs-client-version=1.8.4
mscs-server-version=1.8.4
mscs-server-jar=forge-1.8.9-11.15.1.1722-universal.jar
mscs-server-url=
Start the server:
mscs start forge
If the server fails to start, the eula.txt file may need to be edited and accepted:
editor /opt/mscs/worlds/forge/eula.txt
The server should start up and run
The server startup can be monitored by running:
mscs console forge
Once you are done watching the server boot up, you can press <Ctrl-D> to detach.
Simply add mods as you would normally by dragging them into the /opt/mscs/worlds/forge/mods folder,
assuming forge is the name of your world.
SpigotMC
Installing SpigotMC is very similar to installing Forge. Change to the /opt/mscs/server/ directory, download the SpigotMC installer BuildTools.jar, and run the following as the minecraft user (sudo su minecraft):
cd /opt/mscs/server
wget https://hub.spigotmc.org/jenkins/job/BuildTools/lastSuccessfulBuild/artifact/target/BuildTools.jar
java -jar BuildTools.jar
This will build the spigot-X.X.X.jar server file.
Create a new server:
mscs create spigot 25565
spigot can be replaced with any name. Ensure that port 25565 is an unused port, or change it if nessessary.
This will create the directory spigot in /opt/mscs/worlds as well as the server.properties and mscs.properties files:
Change the directory to the world that was created:
cd /opt/mscs/worlds/spigot
Modify the mscs.properties file and add/alter these lines, replacing versions and file paths as needed. You will
need to change the mscs-server-jar as a bare minimum:
mscs-client-version=1.8.7
mscs-server-version=1.8.7
mscs-server-jar=spigot-1.8.7.jar
mscs-server-url=
Start the server:
mscs start spigot
If the server fails to start, the eula.txt file may need to be edited and accepted:
editor /opt/mscs/worlds/spigot/eula.txt
The server should start up and run
The server startup can be monitored by running:
mscs console spigot
Once you are done watching the server boot up, you can press <Ctrl-D> to detach.
Simply add plugins as you would normally by dragging them into the /opt/mscs/worlds/spigot/plugins folder,
assuming spigot is the name of your world.
BungeeCord
BungeeCord is a proxy server that sits between the Minecraft client and server that allows players on a server to easily transfer between worlds (regardless of whether the world is running on vanilla, Forge, SpigotMC, etc). The setup for BungeeCord can be rather complex. To fully understand the configuration options available, visit the BungeeCord Configuration Guide.
Although BungeeCord is not a normal Minecraft server, MSCS is able to control the server as if it were with a little work. Lets start by creating a fake world named lobby on the default port of 25565.
mscs create lobby 25565
lobby can be replaced with any name. Ensure that port 25565 is an unused port, or change it if nessessary.
Change the directory to the world that was created:
cd /opt/mscs/worlds/lobby
This will create the directory lobby in /opt/mscs/worlds as well as the server.properties and mscs.properties files:
server.properties is not needed for this server. Delete this file.
rm server.properties
Modify the mscs.properties file and add/alter these lines:
mscs-enabled=true
mscs-server-jar=BungeeCord.jar
mscs-server-url=
mscs-initial-memory=512M
mscs-maximum-memory=512M
Create a config.yml file that will apply for the worlds on this server. For example: alpha and beta on ports 25566 and 25567 respectively. Note, change the name of the admin from username to the Minecraft player name that will be administering BungeeCord.
groups:
username:
- admin
disabled_commands:
- disabledcommandhere
player_limit: -1
permissions:
default:
- bungeecord.command.server
- bungeecord.command.list
admin:
- bungeecord.command.alert
- bungeecord.command.end
- bungeecord.command.ip
- bungeecord.command.reload
listeners:
- max_players: 20
fallback_server: alpha
host: 0.0.0.0:25565
bind_local_address: true
ping_passthrough: false
tab_list: GLOBAL_PING
default_server: alpha
tab_size: 20
force_default_server: false
motd: 'Message of the day'
query_enabled: true
query_port: 25565
timeout: 30000
connection_throttle: 4000
servers:
alpha:
address: localhost:25566
restricted: false
motd: '&1Alpha MOTD'
beta:
address: localhost:25567
restricted: false
motd: '&2Beta MOTD'
ip_forward: false
online_mode: true
Change to the /opt/mscs/server/ directory, download the BungeeCord server jar BungeeCord.jar, and run the following as the minecraft user (sudo su minecraft):
cd /opt/mscs/server
wget http://ci.md-5.net/job/BungeeCord/lastSuccessfulBuild/artifact/bootstrap/target/BungeeCord.jar
Create the two worlds alpha and beta. Since both worlds will only be accessed locally by the BungeeCord proxy server, use the optional ip argument for the create function to limit access to localhost:
mscs create alpha 25566 127.0.0.1
mscs create beta 25567 127.0.0.1
Start the worlds to set themselves up:
mscs start alpha
mscs start beta
If the servers fail to start, the eula.txt file may need to be edited and accepted:
editor /opt/mscs/worlds/alpha/eula.txt
editor /opt/mscs/worlds/beta/eula.txt
BungeeCord requires that the world servers be in offline mode. BungeeCord handles authentication as long as online_mode is set to true in config.yml like the example above. To do this, edit the server.properties file for the alpha and beta worlds and change the values of online-mode in both files to false.
editor /opt/mscs/worlds/alpha/server.properties
editor /opt/mscs/worlds/beta/server.properties
Finally, if everything is correctly setup, we can start the worlds:
mscs start lobby
mscs start alpha
mscs start beta
Technic/Tekkit Pack
This example was written for Attack of the B-Team version 1.0.9c
This works for many of the Technic/Tekkit based modpacks, although some settings may need to be adjusted for different modpacks.
Create the world:
mscs create bteam 25565
bteam can be replaced with any name. Ensure that port 25565 is an unused port, or change it if nessessary.
This will create the directory bteam in /opt/mscs/worlds as well as the server.properties and mscs.properties files:
Change the directory to the world that was created:
cd /opt/mscs/worlds/bteam
Rename server.properties to server.properties.bak so a back up of these settings is available
mv server.properties server.properties.bak
These settings can be used in case server.properties is overwritten or deleted
level-name=bteam
server-port=25565
server-ip=
enable-query=true
query.port=25565
Download the mod pack to the world directory
wget http://servers.technicpack.net/Technic/servers/bteam/BTeam_Server_v1.0.12c.zip
Unzip the mod pack
unzip <current_version>.zip
While unzipping, it may ask to overwrite server.properties
If you first renamed server.properties to server.properties.bak it should not ask to overwrite
Move or remove the zip
mv <current_version>.zip /path/to/final/location/
rm <current_version>.zip
Edit mscs.properties and add these settings
If a setting below already exists in mscs.properties, replace it with these
mscs-client-version=1.6.4
mscs-initial-memory=2G
mscs-maximum-memory=3G
mscs-server-jar=BTeam.jar
mscs-server-location=/opt/mscs/worlds/bteam
Merge the settings from server.properties.bak to the server.properties file created by the Technic pack.
You should replace any setting from Technic's server.properties with the setting found in the backup server.properties.bak
level-name=bteam
server-port=25565
server-ip=
enable-query=true
query.port=25565
Start the server
mscs start bteam
The server should start up and run
The server startup can be monitored by running:
mscs console bteam
Once you are done watching the server boot up, you can press <Ctrl-D> to detach.
License
See LICENSE
Disclaimer
Minecraft is a trademark of Mojang Synergies AB, a subsidiary of Microsoft Studios. MSCS and MSC-GUI are designed to ease the use of the Mojang produced Minecraft server software on Linux and UNIX servers. MSCS and MSC-GUI are independently developed by open software enthusiasts with no support or implied warranty provided by either Mojang or Microsoft.