LOGO

Run a Local Minecraft Server - Guide with & without Mods

December 1, 2014
Run a Local Minecraft Server - Guide with & without Mods

Setting Up a Minecraft Server

Sharing a Minecraft map with players on the same network is straightforward. However, establishing a dedicated server offers a more convenient experience. This allows individuals to join and leave without requiring the initial host to constantly launch Minecraft.

Running a Vanilla Minecraft Server

A basic, unmodded Minecraft server is relatively simple to set up. This provides a clean environment for players who prefer the standard game experience.

The process involves downloading the official Minecraft server software from Mojang. It’s crucial to ensure you have the correct version matching your players’ Minecraft clients.

After downloading, you'll need to run the server JAR file. This typically requires Java to be installed on your system. Initial execution will generate configuration files.

Implementing Mods on Your Server

For those seeking an enhanced gameplay experience, running a modded Minecraft server is also achievable. This introduces new content, features, and mechanics to the game.

Setting up a modded server necessitates the use of a server launcher like Forge or Fabric. These launchers facilitate the installation and management of mods.

You’ll need to download the appropriate launcher version compatible with your desired Minecraft version and mods. Configuration can be more complex than a vanilla server.

Key Considerations

Regardless of whether you choose a vanilla or modded server, several factors are important. These include sufficient RAM allocation, a stable internet connection, and appropriate port forwarding.

RAM is critical for server performance, especially with numerous players or complex mods. Port forwarding allows external players to connect to your server.

Regularly backing up your server data is also highly recommended. This safeguards against data loss due to unforeseen issues.

The Benefits of Operating a Minecraft Server

A common drawback of Minecraft's local multiplayer functionality, whether on PC or the Pocket Edition, is the dependency on the initial host's availability to access previously built worlds. Consider a family with two children and two parents who collaborate on a significant structure hosted by one child.

Accessing that world for further work necessitates that child to launch their game and enable LAN sharing. With each world stored on individual computers, coordinating collaborative map editing becomes cumbersome for multiple players.

A streamlined solution involves establishing a dedicated, stand-alone server on the local network. This allows players to join and contribute at their convenience, eliminating the need for a single person to constantly maintain world access.

Furthermore, a Minecraft server can be hosted on hardware not optimized for gameplay itself; we have successfully operated servers on compact Raspberry Pi devices without issue.

Below, we will explore the process of setting up a fundamental local Minecraft server, both in its vanilla form and with modifications.

Setting Up a Basic Local Server

The process of establishing a local server can be approached in two primary ways: utilizing the official Minecraft server software or employing a server management panel. Each method offers distinct advantages depending on technical expertise and desired control.

Using the Official Minecraft Server

This method provides the most direct control over server configuration but requires some command-line familiarity. First, download the latest server JAR file from the official Minecraft website.

Next, create a new folder for your server files and place the JAR file inside. Run the JAR file, which will generate several configuration files. Carefully review and edit the server.properties file to customize settings like the server name, game mode, and difficulty.

Finally, launch the server again to begin hosting your Minecraft world. Players on the same network can then connect using the server's local IP address.

Employing a Server Management Panel

For those less comfortable with command lines, a server management panel offers a user-friendly interface. Popular options include Multicraft and Pterodactyl.

These panels simplify server creation, configuration, and management through a web browser. They often include features like automatic updates, mod installation, and resource monitoring.

While offering convenience, server management panels may introduce a slight performance overhead compared to the official server software.

Setting Up a Simple Vanilla Minecraft Server

Installing the basic vanilla Mojang-supplied Minecraft server can be approached in a couple of different ways. One method is specifically designed for Windows, involving a simple .EXE file download and execution with a user-friendly graphical interface. However, this approach doesn’t extend easily to OS X and Linux users. Therefore, we will focus on the .JAR based method, which offers broader platform compatibility with only minor adjustments needed for different operating systems.

The initial step involves downloading the official Minecraft server JAR file. As of this guide, version 1.7.10 is current. You can locate it at the bottom of the official Minecraft.net download page. The .JAR file is what you need, regardless of your operating system.

Once the download is complete, move the .JAR file to a dedicated location. We used a folder named /HTG Test Server/. You are free to choose any location, but ensure it’s clearly labeled, secure, and remember that running the .JAR file will unpack all server-related files into the same directory, so avoid placing it in a root directory or a home folder.

To start the server for the first time, execute the following command in the command prompt from the directory containing the .JAR file:

Windows: java -Xmx1024M -Xms1024M -jar minecraft_server.1.7.10.jar nogui

OS X: java -Xms1G -Xmx1G -jar minecraft_server. 1.7.10.jar nogui

Linux: java -Xms1G -Xmx1G -jar minecraft_server. 1.7.10.jar nogui

This command initiates the Minecraft server JAR file. It invokes Java, allocates 1GB of initial and maximum memory, specifies the file as a JAR, identifies the JAR file, and disables the graphical user interface. You can increase the memory allocation if needed for larger worlds or servers with numerous players, but reducing it is not recommended.

If you encounter issues installing Java on Linux, or require assistance creating a launch shortcut on OS X, consult the comprehensive guide available on the official Minecraft wiki for launching the server JAR file.

Upon the first execution, you’ll observe a message similar to this:

[Server thread/INFO]: Starting minecraft server version 1.7.10

[Server thread/INFO]: Loading properties

[Server thread/WARN]: server.properties does not exist

[Server thread/INFO]: Generating new properties file

[Server thread/WARN]: Failed to load eula.txt

[Server thread/INFO]: You need to agree to the EULA in order to run the server. Go to eula.txt for more info.

[Server thread/INFO]: Stopping server

This behavior is expected. Locate the EULA.txt file in the server directory, open it, and change “eula=false” to “eula=true” to signify your acceptance of the Mojang server user agreement. Save the file and rerun the server command. The “nogui” tag is optional, depending on your preference.

Running the command with the “nogui” tag keeps the server output and command interface within the terminal window.

how-to-run-a-simple-local-minecraft-server-with-and-without-mods-1.jpg

Conversely, removing the “nogui” tag will launch a GUI window, offering a more streamlined and manageable server experience.

how-to-run-a-simple-local-minecraft-server-with-and-without-mods-2.jpg

The GUI displays the same information as the terminal window, along with server statistics and a list of connected players. We recommend using the GUI unless you are operating on a resource-constrained machine or a headless device.

During the second server run, after EULA acceptance, additional files are downloaded and the default world is created. This default world resides in the /world/ directory and mirrors the structure of a standard /.minecraft/saves/[someworldname]/ folder. You can play on this generated world, or replace its contents with a saved game from a standalone Minecraft installation or a downloaded world save.

To connect to your new server, ensure you are on the same local network as the host computer and know the host computer’s IP address.

With the IP address, launch Minecraft, select Multiplayer from the main menu, and either add a new server or use the direct connect feature. Refer to the Connecting to Remote Servers section of the Exploring Minecraft Multiplayer Servers lesson for assistance.

how-to-run-a-simple-local-minecraft-server-with-and-without-mods-3.jpg

You are now connected to the freshly created server. The world loads smoothly, and everything appears to be functioning correctly. The game defaults to survival mode, but we will demonstrate how to change this shortly.

On the server side, the console window will display a stream of events: player connections, deaths, communications, and other notifications. You can also execute server commands from the console or, if you have operator privileges, within the game chat.

Numerous commands are available, though many are specialized and infrequently used. A complete list can be found on the Minecraft wiki. Below is a table highlighting the most essential commands for managing a basic server.

Note: The leading “/” is not required when entering commands in the server console, but it is necessary when typing them in the in-game chat window.

/defaultgamemode [s/c/a]

Sets the default game mode for new players to Survival, Creative, or Adventure.

/difficulty [p/e/n/h]

Adjusts the game difficulty to Peaceful, Easy, Normal, or Hard.

/gamemode [s/c/a] [player]

Changes the game mode for a specific player.

/list

Displays a list of currently connected players.

/(de)op [player]

Grants or revokes operator privileges for a player.

/save-(all/on/off)

Controls world saving: “all” forces an immediate save, “on” enables automatic saving (default), and “off” disables automatic saving.

/setworldspawn [ x y z ]

Defines the world spawn point for all players. Without coordinates, it uses the operator’s current location.

/spawnpoint [player] [ x y z]

Sets a unique spawn point for an individual player.

/stop

Shuts down the server.

/time set [value]

Modifies the in-game time.

/tp [target player] [destination]

Teleports a player to another player or specified coordinates.

/weather [clear/rain/thunder]

Changes the weather conditions.

These commands provide the core functionality for managing a small, private server. Additional commands are available for public or semi-public servers, but are generally unnecessary for personal use.

With our private server successfully launched, the next step is to explore how to enhance it with mods. Our next guide will cover server modding.

Establishing a Modded Minecraft Server

Similar to how a Forge mod loader can be integrated into a standard Minecraft installation, it can also be readily incorporated into a Minecraft server environment.

The same installer previously utilized for Forge can be reused; simply execute it again (whether using the .EXE or .JAR file) and adjust the settings accordingly.

how-to-run-a-simple-local-minecraft-server-with-and-without-mods-4.jpg

Choose the “Install server” option and designate a new, empty directory. Installing Forge on the server doesn’t require a separate installation step beforehand, unlike the client-side process detailed earlier.

Important Note: If you’ve proceeded directly to this section eager to implement mods, reviewing the preceding section is still recommended. Several steps are shared, and repeating them in full would be redundant.

Allow a moment for the server and Forge files to download, then navigate to the installation directory. The subsequent actions will closely resemble the setup for a vanilla Minecraft server.

Within the directory, initiate the “forge.*.universal.jar” file using the same command appropriate for your operating system, as outlined in the vanilla installation section of the tutorial.

The server will launch and then terminate, prompting you to accept the EULA, just as before. Open the newly generated EULA.txt file and change “false” to “true”.

Restart the server to verify the installation and, as a precautionary measure, connect to the world. Remember that joining requires a modified client – vanilla clients cannot connect to modded servers.

Use a Forge-installed Minecraft version matching the server’s version, but without any mods initially loaded, to mirror the server’s state.

The setup appears successful. Spawning near a village is a welcome sight. Let’s introduce some excitement for the villagers by creating a portal to another dimension.

how-to-run-a-simple-local-minecraft-server-with-and-without-mods-5.jpg

Unfortunately, our attempt to demonstrate the portal’s functionality was met with confusion from the villagers. While Forge is installed, the necessary mod to enable the magical dimension is still missing: the Twilight Forest mod.

Now that Forge is confirmed to be functioning correctly, the next phase involves installing the desired mods. This process is straightforward. Ensure the mod’s .JAR file (in this instance, the Twilight Forest mod) is present in both the /mods/ folder of your new Forge server and the /mods/ folder of the Minecraft client used to connect.

Terminate your Minecraft client and halt the server using the “stop” command. Copy the required files, then restart the server. Subsequently, restart your client and attempt to join the server.

how-to-run-a-simple-local-minecraft-server-with-and-without-mods-6.jpg

We experienced a setback when a villager inadvertently fell into the newly created Twilight Forest portal and failed to teleport. We will need to explore the portal ourselves.

how-to-run-a-simple-local-minecraft-server-with-and-without-mods-7.jpg

Remarkably, the portal led directly to a castle. This may be an exceptionally fortunate map seed: we began near a village in the Overworld, constructed a portal, and arrived adjacent to a castle in the Twilight Forest (if using Twilight Forest on 1.7.10 or other 1.7.* versions, the seed is: 1065072168895676632)!

Further Adjustments and Enhancements for Your Server

You are now prepared to begin, regardless of whether you opted for a modified or vanilla installation. However, this does not signify the completion of server customization. Several additional adjustments can be implemented to refine your server experience.

Optimizing Server Performance

Several subtle changes can yield noticeable improvements in server responsiveness. These tweaks focus on resource allocation and configuration settings.

  • Server Timing: Adjusting the server tick rate can influence gameplay smoothness.
  • Memory Allocation: Ensure sufficient RAM is allocated to the server process.
  • Network Bandwidth: Monitor network usage to identify potential bottlenecks.

Customizing Server Settings

Beyond performance, tailoring server settings to your preferences is crucial. This allows for a unique and personalized gameplay environment.

Consider modifying settings related to player permissions, world generation, and game rules. These adjustments can significantly alter the overall server experience.

Utilizing Server Console Commands

The server console provides a powerful interface for real-time management and troubleshooting. Familiarize yourself with essential commands.

Commands can be used to manage players, execute administrative tasks, and diagnose server issues. Effective console command usage is a valuable skill for any server administrator.

Regular Server Maintenance

Consistent maintenance is vital for long-term server stability and performance. This includes backups, updates, and log analysis.

Regularly backing up your server data safeguards against data loss. Keeping the server software updated ensures you benefit from the latest bug fixes and security enhancements.

Exploring Community Resources

The server community offers a wealth of knowledge and support. Leverage these resources to learn from experienced administrators.

Forums, wikis, and online communities provide valuable insights, troubleshooting assistance, and access to custom content. Engaging with the community can greatly enhance your server management capabilities.

Expanding Your Server with Additional Mods

Further customization of your Minecraft server is achievable through the installation of additional mods. It's important to recognize that an increased number of mods will demand greater processing power from your CPU, GPU, and RAM.

Maintain a detailed record of all mods implemented, as all players connecting to your server will be required to have the exact same mods installed.

For optimal functionality, the /mods/ directory within your Minecraft client should precisely mirror the /mods/ directory on the server.

Discovering Useful Server Mods

Seeking inspiration for beneficial server modifications? Refer to the resources detailed in the "Where to Find Mods?" segment of our comprehensive Minecraft modding guide.

These resources can provide valuable suggestions and help you select mods that enhance your server experience.

Enabling Remote Access to Your Server

To facilitate gameplay with individuals beyond your immediate local network, configuring port forwarding is essential. This process allows players situated outside your home network to connect to and access the server.

Generally, typical home broadband connections possess sufficient capacity to accommodate numerous concurrent players without performance issues.

Server Security Considerations

Given the absence of a password protection system on the server, implementing a whitelist is strongly recommended. This feature restricts access to only authorized players.

The server's whitelist can be managed using specific commands. Utilize the command structure /whitelist [on/off/list/add/remove/reload] [playername] to enable, disable, view, add, remove, or reload the whitelist as needed.

  • /whitelist on: Activates the whitelist.
  • /whitelist off: Deactivates the whitelist.
  • /whitelist list: Displays the currently whitelisted players.
  • /whitelist add [playername]: Adds a specific player to the whitelist.
  • /whitelist remove [playername]: Removes a player from the whitelist.
  • /whitelist reload: Refreshes the whitelist from its configuration file.

Properly utilizing these commands ensures that only intended participants can join your server, enhancing security and control.

Configuring Your Server with server.properties

Within the server directory, a file named server.properties is located. This file functions as a straightforward configuration document, editable through any text editor.

Although certain settings can be altered using server or in-game commands, a significant number are only adjustable through direct file modification.

The file utilizes straightforward boolean (true/false) and numerical values to control various server aspects.

These include enabling flight in survival mode, disabling The Nether dimension, and modifying server timeout durations, among numerous other options.

While the purpose of many settings is readily apparent, some necessitate a deeper comprehension of the underlying variable.

A comprehensive explanation of each variable within the server.properties file is provided below.

 

Having established a server, whether modded or vanilla, eliminates the need for coordinating online times to access your world.

This facilitates effortless world sharing with household members or friends regardless of geographical location.

Key Server Configuration Options

General Settings

These settings control the fundamental aspects of your Minecraft server.

  • level-name: Specifies the name of the world folder.
  • gamemode: Sets the default game mode (survival, creative, adventure, spectator).
  • difficulty: Determines the game's difficulty level (peaceful, easy, normal, hard).
  • spawn-protection: Defines the radius around the spawn point that is protected from modification.

Player Settings

These options manage player-related behaviors and restrictions.

  • max-players: Sets the maximum number of players allowed on the server.
  • online-mode: Enables or disables authentication with Minecraft's servers.
  • pvp: Enables or disables player-versus-player combat.

Performance Settings

These settings impact the server's performance and stability.

  • max-tick-time: Sets the maximum time a single server tick can take.
  • view-distance: Controls how far players can see.

Advanced Settings

These settings offer more granular control over server behavior.

  • enable-command-block: Enables or disables command blocks.
  • motd: Sets the message of the day displayed in the server list.
#minecraft server#local server#minecraft#server setup#mods#how to run server