DEVTOME.COM HOSTING COSTS HAVE BEGUN TO EXCEED 115$ MONTHLY. THE ADMINISTRATION IS NO LONGER ABLE TO HANDLE THE COST WITHOUT ASSISTANCE DUE TO THE RISING COST. THIS HAS BEEN OCCURRING FOR ALMOST A YEAR, BUT WE HAVE BEEN HANDLING IT FROM OUR OWN POCKETS. HOWEVER, WITH LITERALLY NO DONATIONS FOR THE PAST 2+ YEARS IT HAS DEPLETED THE BUDGET IN SHORT ORDER WITH THE INCREASE IN ACTIVITY ON THE SITE IN THE PAST 6 MONTHS. OUR CPU USAGE HAS BECOME TOO HIGH TO REMAIN ON A REASONABLE COSTING PLAN THAT WE COULD MAINTAIN. IF YOU WOULD LIKE TO SUPPORT THE DEVTOME PROJECT AND KEEP THE SITE UP/ALIVE PLEASE DONATE (EVEN IF ITS A SATOSHI) TO OUR DEVCOIN 1M4PCuMXvpWX6LHPkBEf3LJ2z1boZv4EQa OR OUR BTC WALLET 16eqEcqfw4zHUh2znvMcmRzGVwCn7CJLxR TO ALLOW US TO AFFORD THE HOSTING.

THE DEVCOIN AND DEVTOME PROJECTS ARE BOTH VERY IMPORTANT TO THE COMMUNITY. PLEASE CONTRIBUTE TO ITS FURTHER SUCCESS FOR ANOTHER 5 OR MORE YEARS!

Setting up a Minecraft Server

This guide hasn't been updated since early 2014, and isn't accurate with the current up-to-date minecraft. Anticipate an update by either TheDischarger or another generous minecrafter

(Note: This tutorial will only cover windows 7, any other operating system may be different)
Minecraft is a great sandbox, indie game created by the indie company Mojang. Like any game, it’s even more fun by playing with other players. Servers are network nodes that sure it’s resources and data with other users, thus establishing a linked connection with each other. In game terms, a server is what allows players (clients) to all connect to a computer running the server software (server) and creates a spot for where players can meet up, play with each other.

Requirements

Realise that Minecraft is built on Java and the Java lightweight game API. This means that a lot of RAM will be used so be prepared to have the resources. Minecraft also requires you to run it’s server software dedicated, meaning a separated program will host the server on your computer. This means that if you’re going to play Minecraft on the same computer with your server being hosted on, this can cause some usage problems like CPU processing load and RAM utilization. Having a dedicated server will make things a lot easier, but I’m going to assume you don’t have to resources for now.
The resources that Minecraft runs off on includes:

  • At least a dual core CPU
  • At least 4 gigabytes of RAM (Will change depending on your server)
  • Decent networking speed (20 MBPS D/L and 4 MBPS U/L is fine)
  • Some knowledge in administering (You don’t have to do everything once the server is created in most cases)
  • Necessary peripherals to actually use the computer
  • Latest version of Java (Will explain how to verify this)

(PROTIP: You don’t actually need to buy Minecraft to run a server, although you probably should because it’s a great game, getting it cracked is plain illegal and also, if you’re not hosting the server for a friend or another person, then you’ll of course have to go on to manage it yourself) The main limitations you’re going to have and lag is going to be caused by RAM and network speed (which are both not so easy to get). Now that we are established with what we are going to need, it’s time to actually get on with setting up the server.

Installing Java


The game was based off of Java, and every so often Java comes with a new update that has the possibility of speeding things up. Some common misconception with installing Java is that they download via the button on the homepage. This is actually the version of Java that is meant for the type of browser you’re using. In order to download the correct version, follow these steps (As of 12/26/13):

  1. Navigate to the Java homepage
  2. Click the ‘Download’ hyperlink on the top of the page
  3. Click the ‘See all Java downloads.‘ hyperlink near the footer of the page
  4. Select ‘Windows Offline (64-bit)’ if you use 64-bit windows, select ‘Windows Offline (32-bit)’ if you use 32-bit windows
  5. Download and then install it
  6. Check if it has been installed correctly by going into CMD under admin privileges, type in ‘java -version’, see if you get a print listing the latest Java version

Now that that’s done, you have successfully setup Java. In the case where you have installed Java and you don’t get a print in the command prompt, follow the steps or skip it:

  1. Right click ‘Computer’ in the start menu
  2. Click properties
  3. Click ‘Advanced system settings’
  4. Click ‘Environment Variables’
  5. In the ‘System variables’ category, find and select the Path variable
  6. Click edit, add to the end of the text ‘c:\Program Files\Java\jre7\bin’. If you use 32-bit Java on a 64-bit OS use ‘c:\Program Files (x86)\Java\jre7\bin’
  7. Restart your computer
  8. Type in ‘java -version’ in the command prompt again

This should work by now, if you still receive problems, then snooping around google and Minecraft forums might help.

Setting up the Server Software

As I said earlier, you need server software to be running in the background of your desktop in order for clients or players to connect to you. The official Minecraft sitehas a download that includes the client and the server for all major operating systems. You will want to click the ‘minecraft_server.x.x.x.exe’ hyperlink and it should start downloading the ‘.exe’ version of the server. The purpose of downloading the ‘minecraft_server.x.x.x.jar’ is to allow you a little bit more customizability (like changing RAM allocation towards the server, but I’ll talk about that near the end). Once you downloaded the server file, it’s time to generate the rest of the server files. Place the file inside a folder, and then double click it. You should have a bunch of other files in a minute. Close the server after it’s done generating the world. This part is when you get to edit the server configuration.

Configuring the server files

You will need to configure the server to your personal settings and likings before anyone can start connecting to it. Find the file named “server.properties” and open it with a text editor of your choice (chances are, it’ll probably be a unknown file type by windows. Just open it, press ok with “select a program…” checkbox checked then choose your editor). You will see all the basic settings in your server and world. I’ll start listing out what the necessities do:

  • op-permission-level: a number value from 1 to 4 will determine the power and commands that server operators can use. 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.
  • allow-nether: a “true” or “false” statement will determine the ability to teleport to the nether.
  • level-name: any text will determine the name of your world (like creating a new world in single player).
  • allow-flight: a “true” or “false” statement will kick any player that uses any third party program to fly (there may be glitches in the game that tricks the server into thinking that they are flying, and will kick them).
  • server-port: a number value in here will determine the port. By default, 25565 is automatically set for you and there’s no basic reason to change it (unless you have multiple servers under a single public IP). Anyone connecting to your server doesn’t have append the value port.
  • level-type: a specific text will determine the level generator type. 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.
  • level-seed: a number value will determine the generation data for your world. The same as generating a new world with a specific seed in single player.
  • server-ip: THIS IS WHERE YOU PLACE YOUR IPV4 IP. Do not use this to connect to your server though, sites like whatsmyip will give your public IP.
  • spawn-npcs: a “true” or “false” statement will determine of NPCs like villagers will spawn (does not affect NPCs structures).
  • white-list: a “true” or “false” statement will determine if the server will only allow minecraft player names and IPs inside the ‘white-list.txt’ file in your server folder.
  • spawn-animals: a “true” or “false” statement will determine if the server will spawn animals.
  • hardcore: a “true” or “false” statement will determine if the server’s difficulty will go into ‘hardcore’ mode.
  • online-mode: a “true” or “false” statement will determine if the server will allow any ‘cracked minecraft clients’. You should probably set this to false so that people can’t just walk into your server after being banned.
  • pvp: a “true” or “false” statement will determine if the server will allow player vs player combat
  • difficulty: a number value 1 to 4 will determine the game difficulty. 0 = Peaceful, 1 = Easy, 2 = Medium, 3 = Hard.
  • enable-command-block: a “true” or “false” statement will determine if the server will allow a command blocked to be toggled. If you only want typable server commands, this should be set to false.
  • gamemode: a number value 0 to 2 will determine the mode of gameplay by default. 0 = Survival, 1 = Creative, 2 = Adventure.
  • max-players: a number value will determine how many players can be entered into the server at any time. Your limit should be low if you have low system specifications (likewise 8 for a small server with around 4-6 gigabytes of RAM).
  • spawn-monsters: a “true” or “false” statement will determine if the server will allow aggressive monsters to spawn.
  • generate-structures: a “true” or “false” statement will determine if the server will allow any generative structures to spawn (like a village).
  • view-distance: a number value allows you to control the fog distance. This should be kept to default, but you can lower it a little if you have a purpose (like a maze map).
  • motd: any value will determine your server’s description when they add your server to their ‘server list’ on their client.

There is one option that will only appear as soon as the first player enters the game:

  • spawn-protection: any number determines the radius of the spawn protection. 0 will protect the single block at the spawn point. 1 will protect a 3×3 area centered on the spawn point. 2 will protect 5×5, 3 will protect 7×7, etc.

There are probably some I haven't went through, but those should either be kept alone or not even changed at all. Other than that, here is my configuration for an example:

#Minecraft server properties
#Sat Dec 26 22:35:49 EST 2013
generator-settings=
op-permission-level=4
allow-nether=true
level-name=Discharger's Server
enable-query=false
allow-flight=false
announce-player-achievements=true
server-port=25565
level-type=DEFAULT
enable-rcon=false
level-seed=
force-gamemode=false
server-ip=xxx.xxx.1.x
max-build-height=256
spawn-npcs=true
white-list=false
spawn-animals=true
hardcore=false
snooper-enabled=true
online-mode=true
resource-pack=
pvp=true
difficulty=2
enable-command-block=false
gamemode=0
player-idle-timeout=0
max-players=8
spawn-monsters=true
generate-structures=true
view-distance=10
motd=Discharger's Minecraft Server!

Tweaking Minecraft like this is very basic. The real advanced stuff is actually managing the server, getting players and moderators to help run your server and keep your purpose.

Connecting to your server

There are actually two famous ways to connect to your server. You can either port forward your router (requires router permissions like a username and a password) or use Hamachi which is basically a virtual-LAN. Port forwarding tends to be much more faster and easier (since the client doesn’t have to install the program and connect to your network). We are going to use port forwarding in this tutorial, but Hamachi isn’t hard to use. You will first need access your router:

  1. Open up your command prompt
  2. Type in “ipconfig /all”
  3. Right click, click on mark then drag the beginning number of the “Default Gateway” IP towards to end number, right click
  4. Paste it into the URL of any web browser
  5. Enter Credentials

This part will be different to many people since not all routers are the same unfortunately. Fortunately, the terms and process are very similar (it’s a matter of where to find it):

  1. Click on a hyperlink “Port Forwarding / Port Triggering”
  2. Add a new port/service
  3. Type in for name “Minecraft” (Can be anything)
  4. Select the rules as “TCP/UDP”
  5. Starting Port: “25565”, Ending Port: “25565”
  6. Server IP address field should be the same as your “IPv4 Address” in your command prompt after “ipconfig /all”

After you added the service, you are done in port forwarding your server, now anyone can connect to you in the world while the server is up!

You do NOT use your private IP (IPV4) address to allow people to connect to a server. Other than the security, people won’t be able to connect in the first place because it is a LAN IP. You have to have clients connect to your server using a public IP (you can find this by simply googling “What’s my IP?”). If you have people on your same network however, you can use a private IP and it’ll probably a little more faster as well as no hassle when port forwarding.

Server in-game commands

Ultimately, a server requires moderators and operators in order to keep it running (or a public server at least). In order to prevent chaos by those pesky griefers, hackers or abusers, moderators have a variety of commands they can use. The /kick is a great basic command against those rule breakers, and the /help is great for newbies! Here is a quick reference on commands:
< > - Required
[ ] - Option

  • /help [page] : list all the commands that exist on the server and the user can use.
  • /? [page] : list all the commands that exist on the server and the user can use.
  • /me <message> : displays the users name and message after it with no formatting except a italicized formatting with a ‘*’ preceding it. Used mainly like a emote.
  • /tell <playername> <message> : Used to send any player on the current server a message.
  • /msg <playername> <message> : Used to send any player on the current server a message.
  • /w <playername> <message> : Used to send any player on the current server a message.

The following commands are only available for operators (mostly for level 3 ops):

  • /ban <playername> [reason] : Bans the specified player from the game.
  • /ban-ip <ip-address> : Bans the specified IP from connecting to the game.
  • /ban-ip <playername> : Bans the specified player’s IP from connecting to the game.
  • /banlist [ips] :
  • /kick <playername> [reason] : Kicks the specified player from the game.
  • /achievement give <achievement name> [player] : This is used to force an achievement onto the player who typed this command in (or the player if specified).
  • /clear <playername> [item] [metadata] : Clears the inventory of any player specified (or a specific item with it’s metadata if specified).
  • /debug <start> : Starts a debug process which notifies performance bottlenecks into the console during its active state.
  • /debug <stop> : Stops the debug sessions and creates a results file.
  • /defaultgamemode <survival> : Changes the default game mode of the server into survival.
  • /defaultgamemode <creative> : Changes the default game mode of the server into creative.
  • /defaultgamemode <adventure> : Changes the default game mode of the server into adventure.
  • /difficulty <peaceful> : Changes the difficulty of the server into peaceful mode.
  • /difficulty <easy> : Changes the difficulty of the server into easy mode.
  • /difficulty <normal> : Changes the difficulty of the server into normal mode.
  • /difficulty <hard> : Changes the difficulty of the server into hard mode.
  • /effect <playername> <effect> [seconds] [amplifier] : Gives the specific effects to the specified player (if seconds and/or amplifier is specified, it will adjust that effect).
  • /effect <playername> clear : Clears the effect of any specified player.
  • /enchant <playername> <enchantment ID> [enchantment level] : Enchants the item the specified player is holding in their hand, and the enchantment’s level will adjust if specified.
  • /gamemode survival [playername] : Changes the gamemode of user who typed this command in into the survival gamemode (or another player if specified).
  • /gamemode creative [playername] : Changes the gamemode of user who typed this command in into the creative game mode (or another player if specified).
  • /gamemode adventure [playername] : Changes the gamemode of user who typed this command in into the adventure game mode (or another player if specified).
  • /gamerule <rulename> [true] : This command will make a specific game rule behavior change to true.
  • /gamerule <rulename> [false] : This command will make a specific game rule behavior change to false.
    • commandBlockOutput - Allows any Command Blocks to notify admins if toggled.
    • doFireTick - Allows any fire to spread.
    • doMobLoot - Allows mobs to drop items/loot.
    • doMobSpawning - Allows mobs to naturally spawn.
    • doTileDrops - Allows any block to drop into its own item.
    • keepInventory - Allows players to keep their previous inventory after death.
    • mobGriefing - Allows creepers, endermen, ghasts, and withers mobs to change blocks/tiles or to allow zombies, skeletons, and zombie pigmen to pick up items.
    • naturalRegeneration - Allows players to regenerate health if their food is at a required amount.
    • doDaylightCycle - Allows day and night to cycle between each other.
  • /give <playername> <item> [amount] [metaTag] [dataTag] - Drops the specified item in front of the specified player. An amount, metatag and datatag can also be specified.
  • /kill : Deals a great number of damage to any user who types it in. As of now, nothing will be immune from /kill.

Getting Users on your Server

One of the final steps is to actually get players on your server. Traditional methods like recruiting friends, their friends recruiting other friends and even post your server to a server list. This is still effective today, but a better idea to lure people into your server is to host promotions and build great unique features. This is entirely up to you, but most servers can promise free gear or materials upon first time users, users joining during certain times or users voting a ‘thumbs up’ on your server on Minecraft Server Lists. This part is extremely dependant on all the players on it’s server. With good a good advertising strategy, you can probably get a good community base in a short period of time.

Minecraft How To Sandbox Adventure Games


QR Code
QR Code setting_up_a_minecraft_server (generated for current page)
 

Advertise with Anonymous Ads