GithubHelp home page GithubHelp logo

dcmci's Introduction

Dreamcraft

Discord Youtube

Minecraft Java Server Installer for Raspberry Pi, PINE64 and Other SBCs.

This installer simplifies the installation and setup of a Minecraft Java Server.

If you have already installed this, running it again will allow you to upgrade.

Log4j / Log4shell / Khonsari Ransomware with Dreamcraft Installer Minecraft Server

An exploit in Apache's Log4j that affects all versions of Minecraft 1.7-1.18 was discovered December 10, 2021. I was swift to take action with Dreamcraft Installer and had a patch out in under a day. All Dreamcraft-installed servers using Dreamcraft Installer 3.1 or higher automatically patch against this flaw in all versions of Minecraft. If you had used an older version of Dreamcraft Installer to setup your server, you must run an upgrade install using Dreamcraft Installer 3.1 or higher in order to patch your server. Always use the latest version of Dreamcraft Installer to receive the latest versions, patches, fixes and features. Even if you're staying with the same version of Minecraft server (even Cuberite), simply run an Upgrade install in Dreamcraft Installer to ensure you have the latest (patched) version of your chosen server flavor.

Notchian clients (used to connect to Cuberite) are believed to be vulnerable to this issue. Therefore Cuberite now sanitizes chat messages to prevent malicious payloads.

About The Dreamcraft Installer

The installer will setup a "Normal" difficulty server and allow you to select between a Survival world complete with mobs, nether and more, or a Creative world to hone your skills as a master builder.

The installer attempts to detect things like how much RAM you have (and available), and adjusts the server settings based on what it finds.

Looking For Help? Dreamcraft Installer installs Minecraft Java servers. If your question has to do with something other than installing a Minecraft server with Dreamcraft Installer, the question likely is not for us. Questions surrounding gameplay, how to use a Minecraft server, etc., should be directed to the Minecraft documentation. Once your Minecraft server is installed, Dreamcraft's job is done.

MINECRAFT VERSION

Minecraft Version 1.18.1 is fully supported as of Dreamcraft Installer 3.1.

Dreamcraft Installer always installs the latest version of Minecraft available for each server type, unless you select a seed which requires a specific version. The update to each installer is the responsibility of the server development team (E.G., Paper, Fabric, Spigot) and I check for updates regularly and update Dreamcraft as quickly as possible following an update.

Note: If you run Dreamcraft Installer and are not getting the latest Minecraft version as an option, 1) ensure you have not selected a Level Seed that requires a different version and 2) make sure you are using the recommended distro as outlined in the Base Distro OS section below.

Note that as system requirements change for Minecraft, you may need to update or even switch your Base Distro OS since older distros may not have current enough versions of needed libraries. Please see the Base Distro OS information below, which will be updated along with these requirements.

Always have an up-to-date backup of your world files.

Base Distro OS

Do not use Dreamcraft Installer on a Base Distro OS that contains a desktop environment, or any other running applications. Dreamcraft Installer is intended to setup a dedicated Minecraft Java server, and the device should be used for nothing else.

NEVER install Dreamcraft on your desktop system. This is a dedicated server. That means once you install it, the system is no longer useable for anything else.

For the Raspberry Pi 4 Ubuntu Server 64-bit is the officially supported and recommended option.

Download Ubuntu Server 21.10 64-Bit here: https://cdimage.ubuntu.com/releases/21.10/release/ubuntu-21.10-preinstalled-server-arm64+raspi.img.xz

Server Versions

Fabric Supports Plugins / Fast Build Time

A lightweight, modular Minecraft server. More Info

Note: Most Fabric mods will also require you install the Fabric API, which must be downloaded manually and placed in the ~/minecraft/mods folder. Get the Fabric API here: https://www.curseforge.com/minecraft/mc-mods/fabric-api

Paper Supports Plugins / Fast Build Time

A performance-optimized Minecraft server based on Spigot and compatible with Spigot plugins. More Info

Forge Supports Plugins / Fast Build Time

Yet another modular Minecraft server. More Info

Spigot Supports Plugins / Slow Build Time

An optimized server based on Craftbukkit, Spigot allows you to include mods in your server (both Spigot and CraftBukkit compatibility). Spigot will run a high-performance multiplayer Minecraft server on a Raspberry Pi 4 with 4GB or 8GB RAM, or other devices with a minimum of 4GB RAM. Spigot was the original Dreamcraft default server, circa Dreamcraft 1.x. More Info

Cuberite (Currently Experimental) Slow Build Time

Cuberite is an alternate server which, while written in C++ accepts connections from Java clients. Note that you will need to use an old client to connect (currently supports 1.12.2). Advantage to Cuberite is that it will run on extremely under-powered devices, such as older Raspberry Pi.

Vanilla Fast Build Time

Vanilla is the official Mojang Minecraft server release. It does not allow mods, and is not as well optimized for SBC use, but will run great on a Raspberry Pi 4 with 4GB RAM or higher. More Info

Game Modes

Survival

Players must collect resources, build structures, battle mobs, eat, and explore the world in an effort to thrive and survive.

Creative

Creative mode strips away the survival aspects of Minecraft and allows players to easily create and destroy structures and mechanisms with the inclusion of an infinite use of blocks and flying.

Adventure

Adventure mode creates a unbreakable world. You can build, battle mobs, eat, and explore a world without being able to break a single block.

Hardcore

Hardcore Minecraft is Minecraft but at the hardest level. If you die, you cannot respawn. Collect resources, build structures, battle mobs, eat, and explore the world- carefully of course.

Hardware Requirements

  • A vanilla server OS based on Debian (such as Raspberry Pi OS Lite) with nothing else running and no desktop environment.
  • If your board has more than 4 GB RAM, you must use a 64-Bit OS to utilize it effectively. Running a 32-bit OS will result in less RAM dedicated to your Minecraft Server.
  • Minimum 4 GB RAM.
  • GOOD Power Supply.
  • Adequate Cooling for Overclock During Heavy Load.
  • Reliable Storage Media (Kingston Endurance microSD or UASP-enabled USB 3 SSD).
  • Ethernet connection to network (don't use Wi-Fi).

Software Requirements

  • To play the game, you will need a valid Minecraft Java account, and to have Minecraft Java installed on your computer (Windows, Mac, AMD64 Linux). One account is required per player, and can be purchased from https://minecraft.net
  • The recommended Base OS (see "Base OS" section above for the currently accepted distro).

Note: You do not need a Minecraft Java account in order to run the server. I.E., you could boot up a Dreamcraft server even without an account, and players with accounts can use it. However, it is quite handy to be able to sign in the game to moderate disputes or deal with grief. This can only be done if you have an account.

Plugin Support

For any of the server versions which support plugins (see "Server Versions" above) simply place the plugin ZIP file in ~/minecraft/plugins and then run ~/minecraft/restart

Remember, adding plugins can have a negative impact on your server performance. Some plugins may also introduce bugs, glitches or other issues. Be selective about which plugins you add to your server.

You can download plugins from https://www.spigotmc.org/resources/ or any other Bukkit / Spigot plugin resource.

Level Seeds

During installation, you can choose from one of our provided level seeds, or use your own.

All Biome World via Reddit/Plebiain

This seed provides all biomes within easy reach of one another. It also includes many structures, making it an exciting seed to explore.

Paradise Valley via Reddit/SpaceBoiArt

An ideal seed for colossal builds. The level plains of Paradise Valley are surrounded by mountains, with resource-rich forests only a short journey from spawn.

Other Included World Seeds

  • Minecraft Title Screen
  • Slime Farm
  • Obsidian Farm
  • Woodland Mansion
  • Triple Island Ocean Monument
  • Spruce Village and Coral Reef
  • Shipwreck Village
  • Underwater Temple
  • Diamond Paradise

Note About Backups

Please consider automating a backup of your world. You can first stop the server with the provided stop script, then run your backup, and then restart your server with the provided server script.

Automated Overclocking

If your board is supported and tested by me, the installer will automatically set overclock settings to maximize performance.

Therefore, you must absolutely ensure your power supply is a good one. We'll be using a bit more power than normal.

You are welcome to adjust the overclock settings if desired. However, I would recommend trying my defaults first.

I have chosen to be conservative with my overclocking for two reasons:

  1. I want you to get the best possible performance out of your Minecraft server, but also wish to ensure it is rock-solid stable.
  2. I do not want to void your warranty. I.E., I will NOT enable force_turbo.
  3. I do not wish to damage your Pi.

When I overwrite your /boot/config.txt file, I first create a backup of your original at /boot/config-DATETIME.txt, so if you're unable to boot for some reason, hopefully you can easily recover. Note that you are running this script at your own risk, and I am not responsible for anything that happens as a result of your running this installer. Except smiles. I'll accept responsibility for smiles.

Usage

Run the installer immediately following a fresh reboot (to avoid having residual apps taking up RAM thereby resulting in less RAM allocated to your game server).

The command is simple:

sudo ./install

Once installation is complete, you must reboot for the server to begin functioning. If you selected to auto-load at boot, your server will immediately begin generating the world on first boot. Otherwise, you'll need to run the server manually.

To reboot do not use traditional Linux commands. You must use:

sudo ~/minecraft/reboot

Important Note: First Boot

On first boot, your Minecraft Server will generate the world. This can take around 10 minutes, so hang tight while this happens, and then connect to your Minecraft Server's IP address from Minecraft Java as soon as it is ready. You can tail the log file if you'd like to see the progress, or sipmly retry connecting via Minecraft Java after a few minutes.

Post-Install

Commands

If you opted to have Dreamcraft load your Minecraft server at boot, your Minecraft server will be running in a screen session.

Important Note: All commands must be run as the user you originally specified in Dreamcraft Installer (do not run as root, for example).

screen -ls will reveal running screen sessions. There should be one called pinecraft.

screen -r pinecraft re-attaches to the Dreamcraft screen session (the Minecraft console) where you can enter console commands directly.

From within the screen session, detach (exit) by pressing CTRL-A followed by D. This will detach the screen session but leave your Minecaft server running.

Scripts

~/minecraft/stop Safely stop your Minecraft server. Never reboot your system or power off using traditional Linux commands unless you have first run this script and allowed it to complete. Failure to safely stop your Minecraft server will result in lost blocks and potentially world corruption. Running this script is the same as entering the stop command within the Minecraft console.

~/minecraft/server Start the Minecraft server. This script is automatically run upon boot if you selected this feature. Of course, if you specified for Dreamcraft to automatically load your Minecraft server on boot, you generally won't need this script.

sudo ~/minecraft/reboot Note: This is the only of the scripts where sudo is required. When you need to reboot your Minecraft server, you must do so safely, otherwise all blocks that are stored in RAM will be lost (could be a full day's worth). Run this script to shutdown the Minecraft server software, store all blocks, and reboot the server. Note: It can easily take 15-20 minutes to stop the Minecraft server. Don't abort once you run this script. It is working hard to save all the blocks for your world and if you stop it or force a reboot, you will lose blocks.

Networking

Your Minecraft server runs on port 25565. If you'd like others to be able to join your server, forward that port to your Minecraft server in your firewall.

Within your LAN, you can access your Minecraft server by the IP address of your Raspberry Pi Minecraft server.

Note: If you open up your server to the world you introduce the risk of someone connecting and griefing (damaging your builds). To protect your server world, either limit the logins to specific users (see Minecraft documentation), restrict your firewall to only allow trusted IPs that you specify (see your networking documentation) or if you truly want it to be a public server, add some mods to protect your world (see Spigot documentation).

Log Files

~/minecraft/logs/latest.log

The current Minecraft Server log file. You can run tail -f ~/minecraft/logs/latest.log on your Minecraft Server to see what's happening. Logs are rotated and gzipped by date.

Version History

Dreamcraft 3.1 - All applicable installers support 1.18. The Java version has been increased to 17, and the installer improved. Also addressed some changes in the Forge installer which broke compatibility with earlier versions of Dreamcraft Installer.

Dreamcraft 3.0 - All applicable installers support 1.17.1. A few bug fixes.

Dreamcraft 2.9 - Dreamcraft Installer will now attempt to install the latest Java. If that fails, it will try installing older versions until it finds one that works on your system. If the version of Java is older than 16, Dreamcraft Installer will install 1.16.5. If, however, Java 16 is successful, the Minecraft version will default to 1.17 for custom or random seeds. Choosing a seed from an older version of Minecraft will hide incompatible server flavors and attempt to install the server version that is compatible with the selected seed. Linux username is now automatically detected and presented as a selection list. The default server was changed from to Fabric (formerly Paper).

Dreamcraft 2.8 - Ensure Java version 16 is installed, which is required for Minecraft 1.17.

Dreamcraft 2.7 - Forge modded server now included as one of the server options.

Dreamcraft 2.6 - Minecraft server now running on "Dreamcraft" screen session. ~/minecraft/stop no longer looks for Java PID to send SIGHUP, but rather sends the stop command to the "Dreamcraft" screen session. Minecraft server now starts automatically upon installation complete; No need to reboot. User can now attach "Dreamcraft" screen session to access the Minecraft server console (handy for running op commands). The safe stop command now executes automatically at system shutdown or reboot.

Dreamcraft 2.5 - Fix initialization issue on new Dreamcraft servers following root patch introduced in 2.3. Improve upgrade process and add option to fully remove previous install and replace with a new install (create a new world as well).

Dreamcraft 2.4 - Upgrade Software: Fabric (0.7.2), Paper (1.16.5-566).

Dreamcraft 2.3 - Prevent user from running ~/minecraft/server as root/sudo.

Dreamcraft 2.2 - Added seed selection and custom seed input.

Dreamcraft 2.1 - Added Vanilla server. Label Paper as the new Default server version (previously was Spigot). Hide output of installers (to hide the misleading errors in Paper's installer). Added experimental support for Cuberite.

Dreamcraft 2.0 - Dreamcraft now supports installation of Paper, Fabric, and Spigot. Also, previous versions deployed a Survival server. Now, user may choose Survival or Creative during install.

Dreamcraft 1.1 - New installer interface.

Dreamcraft 1.0 - Initial release, installs, configures and optimizes a Spigot Minecraft server, as seen on Category5 Technology TV.

Troubleshooting

Server gets killed by Linux

Try dmesg -T| grep -E -i -B100 'killed process' after this happens to see why Linux killed the process. It is most likely you are running other applications on your system (which is a big no-no) and have run out of resources. You should only run this on a completely headless SBC, with no desktop environment, and nothing else running. You can adjust the amount of RAM allocated by editing the server script in ~/minecraft

Overclock says N/A

The type of hardware you're using hasn't been tested by me, and I haven't added automatic overclocking for your board. You'll need to perform your own overclocking. If you do so successfully, please let me know what you had to do, and if I can test it, I may add it to a future update.

Post-Install Configuration

Give your Minecraft server a try before you start changing the config. It's very possible to break things if you modify the config, so it's a good start to test your server first, and then just tweak what's needed / desired.

You'll find your config file here: ~/minecraft/server.properties

Mojang Documentation: https://minecraft.gamepedia.com/Server.properties#Java_Edition_3

Frequently Asked Questions

Remember, Dreamcraft Installer installs a Minecraft server like any other. Our goal is to make it easy for you to get up and running with an efficient, high-performance server, but we don't rework how the resulting server works in any way. Therefore, the official Minecraft docs are the perfect place to get help with your server configuration.

That said, we get some questions regularly, and we're here to help if we can, so we'll record them here.

First, here are some helpful links:

Modify server.properties, the main config file for your server's settings https://minecraft.gamepedia.com/Server.properties#Java_Edition_3

Find Plugins for Spigot / Paper / Fabric https://www.spigotmc.org/resources/categories/spigot.4/

Don't Forget: Plugins can negatively impact server performance. Select carefully.

And here are some FAQ's:

How do I become admin? /op says I don't have permission.

After connecting to your server as the user you want to make admin, look at your ~/minecraft/logs/latest.log file and find the UUID for that user.

Edit ~/minecraft/ops.json as follows:

[
  {
    "uuid": "UUID",
    "name": "USERNAME",
    "level": 4
  }
]

Replace UUID with your UUID, and USERNAME with the actual username.

Here is a helpful tool I found to assist: https://gameplay.tools/minecraft/uuid

Then, restart your Dreamcraft server with ~/minecraft/reboot

When your server comes back online, that user will be admin, and can now use the /op command to create other admins.

How do I re-generate my world?

To completely destroy your world and regenerate it, you simply need to remove the files.

Step 1: Stop your Minecraft server. ~/minecraft/stop

Step 2: Remove the world (this cannot be undone): rm -rf ~/minecraft/world*

Step 3: Restart your Minecraft server by whichever means you prefer (E.G., reboot your server with sudo ~/minecraft/reboot) - Remember, the first time the server loads, it will generate a new world. Give it 10 minutes or so before you attempt to connect.

dcmci's People

Contributors

spartianking avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.