Category: Tutorial

  • How to Install Mods in a Minecraft Server

    Magic forest added via mods in Minecraft. Image by Stampf from Pixabay

    Minecraft’s true potential is unlocked when you begin experimenting with mods. While vanilla Minecraft offers an incredible experience, mods can transform your gameplay with new mechanics, blocks, creatures, and entire dimensions. However, setting up a modded Minecraft server requires more technical knowledge than simply playing with mods on a single-player world. This guide will walk you through how to install mods in a Minecraft server.

    Getting Ready

    Before diving into mod installation, you need to ensure your server environment is properly prepared. This foundation is crucial for a smooth modding experience.

    Server Requirements

    Running a modded Minecraft server is more resource-intensive than vanilla Minecraft. At minimum, you should have:

    • 4GB RAM dedicated to the server (8GB+ recommended for larger modpacks)
    • multi-core CPU with good single-thread performance
    • At least 10GB free storage space (more for extensive modpacks)
    • A stable internet connection with sufficient upload bandwidth

    Backup Your Server

    Before making any modifications to your server, create a complete backup of your existing setup:

    1. Stop your server completely
    2. Make copies of your entire server directory, including:
      • World files
      • Configuration files
      • Server JAR file
      • Any existing mods

    Choose Your Mod Loader

    The two primary mod loaders for Minecraft are Fabric and Forge. Each has its own ecosystem of mods, and they are generally not cross-compatible. Your choice will depend on the specific mods you want to use:

    • Fabric: Lightweight, updates quickly to new Minecraft versions, popular for optimization mods and vanilla-plus experiences
    • Forge: Larger ecosystem, better for complex modpacks, and has been around longer with more extensive documentation

    Check which mod loader your desired mods require before proceeding.

    Java Considerations

    Modded Minecraft servers often benefit from (or require) specific Java versions:

    • Java 17 is required for Minecraft 1.18+ servers
    • Java 16 works for 1.17 servers
    • Java 8 is typically used for older versions (1.16.5 and below)

    To check your current Java version:

    java -version
    

    Install the appropriate Java version for your Minecraft server version and mods.

    Fabric Options

    Fabric has gained popularity for its lightweight approach and quick updates to new Minecraft versions. Here’s how to set up a Fabric modded server:

    Installing Fabric Server

    1. Visit the official Fabric download page (https://fabricmc.net/use/)
    2. Select your Minecraft version from the dropdown
    3. Click on the “Download server jar” button
    4. Create a new directory for your modded server
    5. Move the downloaded Fabric server installer JAR into this directory
    6. Run the installer with:java -jar fabric-server-launch.jar
    7. After installation completes, the installer will create several new files
    8. Run the server once to generate the necessary files:java -jar fabric-server-launch.jar nogui
    9. Accept the EULA by editing the eula.txt file and changing eula=false to eula=true

    Adding Mods to Fabric

    1. Create a mods folder in your server directory if it doesn’t already exist
    2. Download Fabric-compatible mods from trusted sources like:
    3. Place the .jar files of your desired mods into the mods folder
    4. Important: Most Fabric mods require the Fabric API mod to function. Be sure to download and install this mod as well
    5. Restart your server to load the newly added mods

    Fabric Configuration

    Most Fabric mods store their configuration files in the config directory. To adjust mod settings:

    1. Start your server at least once with the mods installed
    2. Locate the generated configuration files in the config directory
    3. Stop the server
    4. Edit the configuration files using a text editor
    5. Save changes and restart the server

    Tip: For server-client synchronization, ensure players have the same mods installed as your server.

    Forge Options

    Forge has been the standard mod loader for many years and supports an extensive library of mods. Here’s how to set up a Forge modded server:

    Installing Forge Server

    1. Visit the official Forge download page (https://files.minecraftforge.net/)
    2. Select your Minecraft version
    3. Download the “Installer” version (not the MDK)
    4. Create a new directory for your modded server
    5. Run the Forge installer:java -jar forge-[version]-installer.jar --installServer
    6. Wait for the installation to complete
    7. For newer Forge versions, run the server once using the run script:
      • On Windows: run.bat
      • On Linux/Mac: sh run.sh
    8. For older Forge versions, run:java -jar forge-[version].jar nogui
    9. Accept the EULA by editing the eula.txt file

    Adding Mods to Forge

    1. Locate the mods folder in your server directory (or create it if it doesn’t exist)
    2. Download Forge-compatible mods from trusted sources:
    3. Place the .jar files into the mods folder
    4. Be aware of mod dependencies—many mods require other mods to function properly
    5. Start your server to load the newly added mods

    Forge Configuration

    Forge mods typically store their configurations in the config directory:

    1. Start your server once with the mods installed
    2. Navigate to the config directory
    3. Stop the server
    4. Edit the configuration files using a text editor
    5. Save changes and restart the server

    Note: Some more complex Forge mods may use additional configuration methods or have server-specific configuration files.

    Considerations and Challenges

    Running a modded Minecraft server comes with specific challenges and considerations that require attention:

    Performance Optimization

    Modded servers are more resource-intensive than vanilla:

    • Allocate sufficient RAM using Java arguments:java -Xmx6G -Xms4G -jar server.jar nogui
    • Install performance-enhancing mods like:
      • Lithium (Fabric) or Performant (Forge)
      • Phosphor or Starlight for lighting optimization
      • FerriteCore for memory usage reduction

    Mod Compatibility

    Not all mods work well together:

    • Check mod compatibility before adding to your server
    • Test new mods in a separate test environment first
    • Pay attention to version requirements—mods must match your Minecraft and mod loader versions
    • Some mods are client-side onlyserver-side only, or required on both

    Updating Considerations

    Updating modded servers requires careful planning:

    • Always backup your entire server before updates
    • Update the mod loader first, then individual mods
    • Check for mod updates that are compatible with new versions
    • Inform players about required client-side mod updates
    • Consider using a mod management tool like CurseForge or MultiMC for tracking versions

    Troubleshooting Common Issues

    When problems arise:

    • Check server logs located in the logs directory for error messages
    • Look for mod conflicts in the crash reports
    • Verify that all required dependencies are installed
    • Ensure client and server mod versions match exactly
    • Remove mods one by one to identify problematic ones

    Security Considerations

    Modded servers have additional security concerns:

    • Only download mods from trusted sources
    • Be cautious of server-side mods that might contain malicious code
    • Set up proper permission systems for admin commands added by mods
    • Consider using a whitelist for private modded servers
    • Regularly update mods to patch security vulnerabilities

    Conclusion

    Installing mods on a Minecraft server opens up endless possibilities for customization and enhanced gameplay. Whether you choose Fabric for its lightweight approach and quick updates or Forge for its extensive mod ecosystem, proper preparation and understanding of the process will ensure a smooth experience.

    Remember that modded servers require more resources and technical knowledge to maintain, but the rich experiences they provide make the effort worthwhile. Start small with a few compatible mods, get comfortable with the configuration process, and gradually expand your modded server as you build confidence.


    If you enjoyed this guide, check out our related article: How to Create a Java Minecraft Server for Free

  • How to Create a Java Minecraft Server for Free

    Person building a server rack.
    Someone building a server rack. This will be (not literally) you after reading this article. Photo by panumas nikhomkhai.

    Making A Minecraft Server For Free

    Are you dreaming of creating your own Minecraft world where you and your friends can build, explore, and adventure together? Running your own Minecraft server gives you complete control over your gaming experience, from the rules and plugins to who gets to join. In this comprehensive guide, I’ll walk you through everything you need to know about making a Minecraft server for free!

    Downloading Server Software: Choosing the Right Option

    The first step in creating your Minecraft server is choosing and downloading the appropriate server software. You have several excellent options, each with its own advantages:

    Official Mojang Server

    The vanilla server from Mojang is the official, unmodified Minecraft server software. It’s the simplest option and ensures complete compatibility with the base game.

    Pros:

    • Directly from Mojang, ensuring 100% compatibility
    • Simplest to set up
    • Always up-to-date with the latest Minecraft version

    Cons:

    • Limited customization options
    • Less efficient with server resources
    • No built-in plugin support

    You can download the official server JAR file from Minecraft’s official website.

    Spigot

    Spigot is one of the most popular modified server options, offering improved performance and plugin support.

    Pros:

    • Better performance than the vanilla server
    • Supports plugins via the Bukkit API
    • More configuration options

    Cons:

    • Slightly more complex setup
    • May have slight delays in updates after new Minecraft versions

    Download Spigot through BuildTools or find pre-built versions on various Minecraft server sites.

    Paper

    Paper is a high-performance fork of Spigot, designed to improve server performance even further.

    Pros:

    • Significantly better performance than both vanilla and Spigot
    • Compatible with most Spigot/Bukkit plugins
    • Includes additional bug fixes and optimizations

    Cons:

    • May occasionally have compatibility issues with some plugins

    Download Paper from their official website.

    Purpur

    Purpur is a fork of Paper that adds even more customization options and performance enhancements.

    Pros:

    • Includes all Paper optimizations plus additional improvements
    • Highly customizable game mechanics
    • Unique features not found in other server software

    Cons:

    • May have compatibility issues with some plugins
    • Less documentation available compared to more established options

    Download Purpur from their GitHub page.

    Real-life Example

    When I created my first server for a group of 10 friends, I initially started with the vanilla server. We quickly ran into performance issues when everyone was online and building complex redstone contraptions. After switching to Paper, our server ran much more smoothly even with multiple players exploring different areas simultaneously. The difference was night and day!

    First Run and Configurations

    Once you’ve downloaded your preferred server software, it’s time to set it up and configure it to your liking.

    Initial Setup

    1. Create a new folder on your computer for your server files
    2. Place the downloaded server JAR file in this folder
    3. Create a start script to launch the server:

    For Windows, create a file named start.bat with the following content:

    @echo off
    java -Xmx2G -jar server.jar nogui
    pause
    

    For Mac/Linux, create a file named start.sh with:

    #!/bin/bash
    java -Xmx2G -jar server.jar nogui
    

    Make sure to replace server.jar with the actual name of your JAR file.

    1. Run the start script. The first run will fail, but it will generate an eula.txt file
    2. Open eula.txt and change eula=false to eula=true to accept the Minecraft End User License Agreement
    3. Run the start script again to properly start your server

    Essential Configurations

    After the first successful run, several configuration files will be created. The main one is server.properties, which contains all the basic settings for your server.

    Allowing Cracked Minecraft Clients

    While I don’t recommend this for security reasons, some server owners choose to allow “cracked” (non-premium) Minecraft clients to connect. To do this:

    1. Open server.properties
    2. Set online-mode=false

    Warning: This opens your server to potential security risks and is technically against Minecraft’s terms of service.

    Setting Up a Whitelist

    A whitelist is essential for controlling who can join your server:

    1. In server.properties, set white-list=true
    2. To add players to the whitelist, use the in-game command: /whitelist add [username]
    3. You can also edit the whitelist.json file directly

    Giving Yourself Operator (OP) Status

    As the server owner, you’ll want administrative powers:

    1. While the server is running, access the server console
    2. Type: op [your_username]
    3. You should now have OP status when you join the server

    Installing Essential Plugins

    If you’re using Spigot, Paper, or Purpur, you can enhance your server with plugins. Here are some essential ones:

    • EssentialsX: A comprehensive plugin that adds commands for teleportation, homes, warps, and much more
    • WorldEdit: Powerful in-game world editing tools
    • GriefPrevention: Protects players’ builds from being destroyed by others
    • Vault: A required dependency for many economy and permission plugins

    To install plugins:

    1. Download the plugin JAR files from a reputable source like SpigotMC
    2. Place them in the plugins folder in your server directory
    3. Restart your server
    4. Configure the plugins using their respective config files in the plugins/[PluginName] folders

    Real-life Example

    When I set up a server for a small community, we used the EssentialsX plugin to create a spawn area with teleportation points to different game zones. We set up kits for new players that included basic tools and food to get started. This dramatically improved the new player experience and kept people engaged from their first login.

    Opening Your Server to the World Using Ngrok

    If you want to play with friends over the internet without the technical hassle of port forwarding, Ngrok is an excellent solution.

    Setting Up Ngrok

    1. Create a free account at ngrok.io
    2. Download and install Ngrok
    3. Authenticate Ngrok with your authtoken:ngrok authtoken YOUR_AUTH_TOKEN
    4. Start your Minecraft server first
    5. In a separate command window, run:ngrok tcp 25565 (25565 is the default Minecraft port)

    Ngrok will provide you with a forwarding address (like 0.tcp.ngrok.io:12345) that you can share with your friends.

    Benefits and Limitations

    Benefits:

    • No need to modify your router settings
    • Works even behind strict firewalls
    • Changes IP dynamically, providing some security

    Limitations:

    • Free Ngrok sessions last only 2 hours before you need to restart
    • The address changes each time you restart Ngrok
    • Limited to 4 connections on the free plan

    Real-life Example

    I once used Ngrok for a spontaneous Minecraft building competition with friends scattered across different countries. Within minutes, everyone was connected and building together, despite most players being behind university networks that wouldn’t allow traditional port forwarding.

    Port Forwarding: The Traditional Approach

    For a more permanent solution, port forwarding allows direct connections to your server.

    Basic Port Forwarding Steps

    1. Find your computer’s local IP address (usually starts with 192.168.x.x)
    2. Access your router’s admin panel (typically by entering 192.168.0.1 or 192.168.1.1 in your browser)
    3. Log in with your router credentials
    4. Find the port forwarding section (may be under “Advanced Settings”)
    5. Create a new port forwarding rule:
      • External Port: 25565
      • Internal Port: 25565
      • Protocol: TCP (or Both TCP/UDP)
      • Internal IP: Your computer’s local IP address
    6. Save the settings
    7. Find your public IP address (Google “what is my IP”)
    8. Share your public IP with friends to connect

    Security Precautions

    Port forwarding opens a direct connection to your computer from the internet, so security is essential:

    • Enable a firewall on your computer to limit access only to the Minecraft port
    • Set up a strong whitelist to control who can join
    • Keep your server software updated to patch security vulnerabilities
    • Consider using a dedicated machine for your server, not your main computer
    • Never share access to your router’s admin panel

    Potential Security Concerns

    • DDoS attacks: Your home internet connection could be targeted
    • IP exposure: Your home IP address becomes known to players
    • Unauthorized access: Improperly secured servers can be compromised

    If these concerns worry you, consider the alternatives in the next section.

    Free Alternatives: Hosted Solutions

    If running a server on your own computer isn’t ideal, several free hosted solutions exist:

    Aternos

    Aternos is a popular free Minecraft server hosting service:

    Pros:

    • Completely free with no hidden costs
    • Supports mods, plugins, and various server types
    • User-friendly web interface
    • No technical knowledge required

    Cons:

    • Servers shut down when no players are online
    • Queue system during peak times
    • Limited customization compared to self-hosting
    • Occasional performance issues

    Sign up at Aternos.org.

    Hamachi (LogMeIn Hamachi)

    Hamachi creates a virtual private network (VPN) that makes it seem like you and your friends are on the same local network:

    Pros:

    • No port forwarding required
    • Relatively simple to set up
    • Secure connection between players

    Cons:

    • Limited to 5 players on free plan
    • Everyone needs to install and configure Hamachi
    • Can cause connection issues with other applications

    Download from LogMeIn.

    Radmin VPN

    Radmin VPN is a modern alternative to Hamachi with fewer limitations:

    Pros:

    • Free for up to 50 players
    • Lighter on system resources than Hamachi
    • Generally better connection stability

    Cons:

    • Everyone still needs to install the software
    • Can interfere with some network settings
    • Less widely used, so fewer tutorials available

    Download from Radmin’s website.

    Real-life Example

    My nephew and his school friends used Aternos for months to run a collaborative building server. The service automatically saved snapshots of their world, which came in handy when someone accidentally set off too much TNT near their main castle! Despite occasional waiting times in the queue, they found it much easier than trying to set up their own server.

    Finding People to Play With

    A server needs players! Here’s how to find people to join your Minecraft community:

    Reddit Communities

    Several subreddits are dedicated to finding Minecraft servers and players:

    • r/MinecraftBuddies: Focused on finding players for smaller, private servers
    • r/mcservers: For advertising your server to potential players
    • r/Minecraft: The main Minecraft subreddit, good for general advice

    When posting:

    • Clearly state the type of server and gameplay style
    • Mention the version and any major plugins/mods
    • Explain your server rules and community values
    • Include age requirements if applicable

    Discord Communities

    Discord is an excellent place to build and grow your server community:

    • Join the official Minecraft Discord to meet potential players
    • Look for Minecraft server listing Discord servers
    • Create your own Discord for your server to build community

    Safety Considerations

    When inviting strangers to your server, keep these safety tips in mind:

    What to Watch Out For:

    • Griefers: Players who join just to destroy others’ creations
    • Inappropriate behavior: Monitor chat for bullying or harassment
    • Profanity and mature content: Establish clear rules about appropriate language
    • Personal information sharing: Discourage players from sharing personal details

    Best Practices:

    • Start with a small, trusted group before expanding
    • Implement protection plugins like CoreProtect to roll back any grief damage
    • Use a moderation plugin to filter chat and manage problem players
    • Consider an age-appropriate server policy to create a safer environment
    • Set clear rules and enforce them consistently

    Real-life Example

    I once joined a small SMP (Survival Multiplayer) server advertised on r/MinecraftBuddies that grew into an amazing community. The owner carefully vetted new members through brief Discord interviews, which kept out troublemakers. They also used plugins to log all player actions, which meant griefing was quickly addressed and reversed. This careful approach to community building created one of the most positive gaming experiences I’ve had.

    Conclusion

    Creating and running your own free Minecraft Java server is incredibly rewarding. Whether you choose to host it on your own computer or use a service like Aternos, you now have all the knowledge you need to create a customized Minecraft experience for you and your friends.

    Remember that the most important aspect of any server is the community you build. Take the time to create a welcoming environment with clear rules, and you’ll soon have a thriving world full of creativity and adventure.

    For more information about Minecraft servers, we also wrote a post about Minigames servers.

    Happy crafting!


    Did you find this guide helpful? Have you created your own Minecraft server using these methods? Share your experiences in the comments below!