[Linux] How to setup a Bukkit Minecraft Server!
#1
Information 
This tutorial is brought to you by 610Studios.

Before you even begin to install Bukkit PLEASE make sure you meet the system requirements for Bukkit.

1. Checking your system requirements

Generally, I say you need about 100MB of ram per player on a Bukkit server with some plugins.

Minimum Requirements:

CPU: Intel Pentium 4 1.8 GHz or AMD Athlon XP 1600+ or PowerPC 750 1000 MHz/G4 700 MHzand better
RAM: 512MB of RAM
Disk Space: 2GB
WAN Up: 3 Mbit/s
WAN Down: 2 Mbit/s

So, you will be able to host about 5 players on this type of server.

Recommend Requirements:

- CPU: Intel Pentium 4 2.4 GHz or AMD Athlon XP 2200+ G4 1.8 GHz or - - IBM 970 and better
- RAM: 2GB of RAM
- Disk Space: 16GB
- WAN Up: 8 Mbit/s
- WAN Down: 4 Mbit/s

On a server type like this, you should be able to host 20 players.

If you meet or exceed this requirements, move on to step #2 !

2. Installing

- Go to the Bukkit Server download page: https://dl.bukkit.org/downloads/craftbukkit/

- Go to the right side and find the green "Recommended Build" button.

- Right click on the green button.

- Select "Copy Link Address" (or a similar option)

- Go to PUTTY and create a new directory for Bukkit. I will the directory "server".

- Go into the directory with the following command: cd [directory name] (cd server, in my case.)

- Then, type the following command in: wget [PASTE LINK IN (Use Shift + Insert to paste in PUTTY)]

- Now, create a file in the folder and name it "start.sh".

Hint: I suggest the nano editor for editing. Type "sudo apt-get install nano" to get it. (the apt-get command may vary depending on your Linux Distribution. For example, Yum is used in CentOS and other Linux operating systems as well.) To edit using nano, type "nano start.sh".

- Edit the file and copy the following text into the file:

Code:
#!/bin/sh
 BINDIR=$(dirname "$(readlink -fn "$0")")
 cd "$BINDIR"
 java -Xmx1024M -jar craftbukkit.jar -o true


Hint: Use shift + insert to paste it into your file. To save in nano, press Ctrl + X on your keyboard, then type y + enter.

- Save the file.
- Now, make the file executable. Use the following command to make it executable: chmod +x start.sh

Before running your server make sure you have Java! First, make sure you have Java. Use the command "java -version" to check. If it returns "The program java can be found in the following packages" it means that Java has not yet been installed. To install it, first type this command "sudo apt-get update" to make sure you have the latest packages. (the apt-get command may vary depending on your Linux Distribution. For example, Yum is used in CentOS and other Linux operating systems as well.) After the command has completed type this command "sudo apt-get install default-jre" (again, the apt-get command may vary.)

- Type ./start.sh to start the server.

- Have fun with your server! Connect to your server with your server IP and the port 25565.

Note: This will only install the bare bones of your Bukkit server. Please proceed to step 3 for configuration options. (You will learn how to make yourself OP, setup the server name, etc)

3. Configuration

How to make yourself OP:

- Find the ops.txt file.
- Edit the file. (Nano: nano ops.txt)
- Type your name into the file and anyone esle that you want to make op. 1 name per line.
- Save the file. (Nano: Press Ctrl + X, then type y + enter.)
- You have made yourself op!

Alternative Method:

- Start your server.
- Wait until it has finished loading.
- When it says "done" type this command in: /op THENameOFThePERSONyouWANTtoOP
- You have made yourself op!

server.properties Configuration:

- Find the server.properties file.
- Edit the file. (Nano: nano server.properties)
- Change the server properties to suit your needs. Example on how everything works is below.

UNDERSTAND SOME PARTS ARE "QUOTED"


op-permission-level=4 [Set the permission level for ops. "1 - Ops can bypass spawn protection.
2 - Ops can use /clear, /difficulty, /effect, /gamemode, /gamerule, /give, and /tp, and can edit command blocks.
3 - Ops can use /ban, /deop, /kick, and /op.
4 - Ops can use /stop." (They can stop the server!) You can put: 1 or 2 or 3 or 4]



level-name=world [Which world folder should we load? (DON'T CHANGE THIS IF YOU DON'T KNOW WHAT YOU ARE DOING!) You can put: World folder name]


enable-query=false [Should we enable GameSpy4 protocol server listener? (DON'T CHANGE THIS IF YOU DON'T KNOW WHAT YOU ARE DOING!) You can put: TRUE (yes) or FALSE (no)]


allow-flight=false [Should we allow users to fly in survival mode with a user mod? (Note: This has no effect in creative!) You can put: TRUE (yes) or FALSE (no)]


announce-player-achievements=true [Should we tell everyone on the server someone has gotten a achievement? You can put: TRUE (yes) or FALSE (no)]


server-port=25565 [What port should Bukkit bind to? (Make sure it's not a port that is already used! You can put: A port number here]


level-type=DEFAULT [Determines what world type should be generated. "DEFAULT - Standard world with hills, valleys, water, etc.
FLAT - A flat world with no features, meant for building.
LARGEBIOMES - Same as default but all biomes are larger.
AMPLIFIED - Same as default but world-generation height limit is increased.
CUSTOMIZED - Since snapshot 14w21b, servers also support the custom terrain. First you have to generate a customized world in singleplayer and copy it to the server" You can put: FLAT or LARGEBIOMES or AMPLIFIED or CUSTOMIZED"]



enable-rcon=false [Should we let people access the console remotely? DON'T CHANGE THIS IF YOU DON'T KNOW WHAT YOU ARE DOING!]


level-seed= [What seed should we use? You can put: A seed here]


force-gamemode=false [Should we force a player's game mode to the server default? (Ex: You changed a player from survival (server default) to creative, then when they leave and come back it changes back to survival) You can put: TRUE (yes) or FALSE (no)]


server-ip= [Set this if you want Bukkit to bind to a different a particular address. DON'T CHANGE THIS IF YOU DON'T KNOW WHAT YOU ARE DOING!]


max-build-height=256 [The max height a player can build to. Note: Terrian may generate higher then max build height. You can put: A number 1-29999984]


spawn-npcs=true [Spawn villagers? You can put: TRUE (yes) or FALSE (no)]


white-list=false [Must be in whitelist.txt to join? (Ops already are whitelisted, if you use this mode.) You can put: TRUE (yes) or FALSE (no)]


spawn-animals=true [Should we spawn animals? (Cows, Pig, Sheep, etc) You can put: TRUE (yes) or FALSE (no)]


hardcore=false [Should we ban players if they die? You can put: TRUE (yes) or FALSE (no)]


snooper-enabled=true [Should we send data to snoop.minecraft.net ? You can put: TRUE (yes) or FALSE (no)]


online-mode=true [Should we check player's accounts against The Minecraft Account Database? DON'T CHANGE THIS IF YOU DON'T KNOW WHAT YOU ARE DOING! (Understand, it may be illegal to change this to false!) You can put: TRUE (yes) or FALSE (no)]


resource-pack= [N/A]


pvp=true [Should players be able to attack each other? (and damage each others health) You can put: TRUE (yes) or FALSE (no)]


difficulty=1 [How hard should the game be? 0 - Peaceful 1 - Easy 2 - Normal 3 - Hard You can put: 0 or 1 or 2 or 3]


enable-command-block=false [Should the command block be enabled? DON'T CHANGE THIS IF YOU DON'T KNOW WHAT YOU ARE DOING! You can put: TRUE (yes) or FALSE (no)]


gamemode=0 [What should the server game mode be? 0 - Survival 1 - Creative 2 - Adventure 3 - Spectator You can put: 1 or 2 or 3 or 4]


player-idle-timeout=0 [If a player is idle, how many seconds should we wait until we kick them? DON'T CHANGE THIS IF YOU DON'T KNOW WHAT YOU ARE DOING! You can put: Any number.]


max-players=20 [How many players are able to be on the server at once You can put: A number 0-2147483647]


spawn-monsters=true [Should we spawn monsters at night? (Creepers, Enderman, etc) You can put: YES or NO]


generate-structures=true [Should we generate structures? (Villages) You can put: YES or NO]


view-distance=10 ["Sets the amount of world data the server sends the client, measured in chunks in each direction of the player (radius, not diameter). It determines the server-side viewing distance. The 'Far' viewing distance is 16 chunks, sending 1089 total chunks (the amount of chunks that the server will load can be seen in the debug screen). 'Normal' view distance is 8, for 289 chunks. 10 is the default/recommended. If you have major lag, reduce this value." You can put: A number 3 - 15]


motd=A Minecraft Server [This is what is under the server name on the server list. (Like a description) The motd DOES NOT support color. A motd over 59 characters may show a communication error on the server list. You can put: A description about your server here]


Some "quotes" in server.properties Configuration are from the following website: http://minecraft.gamepedia.com/Server.properties.

- After making the necessary changes, save the file. (Nano: Ctrl + X and type y + enter)

4. Using Screen
If you plan to keep your server on 24/7 follow these steps...

- Type the following command: apt-get update (Command varies on distributions. For example, Yum is used in CentOS and other Linux operating systems as well.) (No need to do this if you did it earlier with nano.)

- Wait until it is done installing. Then, type the word "screen" and press enter.

- Press the space bar until you reach the end of the text and exit.

- Enter the server directory with the cd command.

- Start the server.

- Wait until the server has finished loading. Press Ctrl + A + D (all at the same time)

- You should of exited your Bukkit Server Console, however, your server will still be running. If you wish to go back to the console type the following command: screen -r

- You should now be back to the console!


CONFIG. FOR OTHER FILES:

- Bukkit.yml - http://wiki.bukkit.org/Bukkit.yml
- If it is not listed, ask! Smile

We hope you enjoyed this tutorial! If you liked this tutorial, feel free to leave a rep!

- Have a question? Don't hesitate to ask it!
- Comments? We're always open to feedback!

Robert G
#2
i don't really think we need another tutorial on "installing" minecraft servers. you literally just run the jar file with java -jar. and configuring is pretty self explanatory.
#3
(2014-08-25, 9:47:35 am)ninetailfox97 Wrote: i don't really think we need another tutorial on "installing" minecraft servers. you literally just run the jar file with java -jar. and configuring is pretty self explanatory.
There is no other tutorial located on the forums that detailedly explains on how to set up and configure the server. We want to create a easy to follow tutorial for beginner users.
Robert G
#4
(2014-08-26, 10:01:40 am)iSystem Wrote:
(2014-08-25, 9:47:35 am)ninetailfox97 Wrote: i don't really think we need another tutorial on "installing" minecraft servers. you literally just run the jar file with java -jar. and configuring is pretty self explanatory.
There is no other tutorial located on the forums that detailedly explains on how to set up and configure the server. We want to create a easy to follow tutorial for beginner users.


And even some of them are well explained.
#5
Great tutorial, except one thing bothers me.

(2014-08-25, 8:10:04 am)iSystem Wrote: Generally, I say you need about 100MB of ram per player on a Bukkit server with some plugins.

0MB is definitely not enough for server that nobody uses. 100MB is definitely not enough for server for one person. 200MB is definitely not enough for a server for two people.

I would rather say Minecraft requires around 400MB + 25MB * number of users.
There are 10 sorts of people in the world; those who understand ternary, those who don't, and those who thought this was a binary joke.
#6
(2014-08-27, 5:32:44 am)xfix Wrote: Great tutorial, except one thing bothers me.

(2014-08-25, 8:10:04 am)iSystem Wrote: Generally, I say you need about 100MB of ram per player on a Bukkit server with some plugins.

0MB is definitely not enough for server that nobody uses. 100MB is definitely not enough for server for one person. 200MB is definitely not enough for a server for two people.

I would rather say Minecraft requires around 400MB + 25MB * number of users.

i think he is using that generalization for servers with a large amount of people, maybe requiring atleast 2gb or more.
#7
(2014-08-26, 7:26:56 pm)Lucifer Wrote:
(2014-08-26, 10:01:40 am)iSystem Wrote:
(2014-08-25, 9:47:35 am)ninetailfox97 Wrote: i don't really think we need another tutorial on "installing" minecraft servers. you literally just run the jar file with java -jar. and configuring is pretty self explanatory.
There is no other tutorial located on the forums that detailedly explains on how to set up and configure the server. We want to create a easy to follow tutorial for beginner users.


And even some of them are well explained.
This tutorial tells you have to configure the basics by the way. Smile We appreciate your feedback and will pass this on to our team. Wink
Robert G




Users browsing this thread: 1 Guest(s)

Switch to mobile version

Sponsors: Ftpit - ZXPlay - GalaxyHostPlus - Verelox- HostUS - Host4Fun - Evolution-Host - NodeBlade - HostDare - VPSMost


BitCoin donations: 1DQxbstaTb5SWk6QC2gFeQUTFR64JX4cEo