Rhapsody's Rocky Beginnings

## A Shitty Start

Rhapsody SMP has a rough history regarding its beginnings, including (but not limited to) constant crashes, memory leaks, server-exclusive bugs, constant server-side player kicking, and unfortunately timed world resets.

## Rhapsody SMP: A Modded Forge Server?

Originally, Rhapsody SMP was a project of Dyatlov's in 2021 that was meant to be privately hosted and enjoyed by just a few close friends. They had put together a mod pack for an earlier version of Forge. However, upon launching the world intended for play, they realized in that moment that the world was so beautiful that it needed to be shared with more than just the small group of people they originally planned to have join.

This is when Dyatlov first began the nearly impossible feat of turning a forge server into one that could be just as reliably enjoyed in the same way any spigot, bukkit or paper server could be. The technology for this vision was just not something that was available at the time (and as of Oct 2023, it still remains unseen). Planning a public server with both mods and plugins was not completely unheard of, but certainly nothing that had been successfully accomplished with any stability. Unfortunately, even with the help of staff members from one of their earliest server projects, their goal of upkeeping and hosting a stable forge server with plugins was not possible for the group.

Their vast efforts to attempt this feat, however, is ultimately what caused the server's infamous rocky launch.

### What went wrong?

Everything from constant console spam and errors to frequent crashes, world corruption, and even bugs that only a handful of people had ever reported.

* The original main idea was to preserve a map which had been generated with a Forge mod, but transfer the map to a paper-run environment instead in order to employ plugins. Because the original world was not generated with any extra mobs, blocks, or items from mods, this was thought to be a good solution considering the vanilla environment should not have anything new or different to process. Boy were we wrong... **Apparently the AIR blocks differ from Forge to Vanilla Minecraft**. This caused the paper environment to be confused as hell anytime *anything* moved through an "air" block, which created nothing but endless console errors.
* But that wasn't the only issue. A structure generation mod had previously been employed to generate structures throughout the transferred world. Regardless of having used a chunk pre-loader for the entire modded world before transferring it to paper, new structures from a mod that was not even in the paper environment attempted to look for their names and "load"... Which meant that every time somebody went into a structure that was not from vanilla Minecraft, the entire server would act like Patrick Star after Squidward just asked "Is this for here or to-go?".
* Furthermore, plugins REFUSED to play nice with this mod-generated world, causing normally easy to use plugins to throw tantrums in the console, further causing lag, slowing the server, consuming ungodly amounts of memory, throttling connection for players, and confusing staff. The plugin which gave Dyatlov and staff the most trouble was **Dynmap**.

### The Dynmap Shitfest

Dynmap is a plugin for paper servers that allows anyone with the server's IP to view a live map of the entire server in a browser. While extremely cool and useful, it often comes with some extreme downsides. Some misfortunes which Rhapsody experienced while utilizing the dynamic map included intense resource consumption, immense lag, and even bugs in-game involving lighting anomalies caused by poor chunk rendering.

#### The World Reset (Part One)

Before it was discovered that the Dynmap plugin was the cause of half of the server's issues, it was thought that there was world corruption in Rhapsody's overworld. The indicator for this was the lighting issues caused by Dynmap's poor rendering, as giant, blocky, several chunk-wide shadows would be cast across the map in places where there was nothing casting shadows. This happened in seemingly random locations for no real reason, which made Dyatlov inclined to believe that the world was not stable. Therefore, the world was replaced with another mod-generated world, which Dynmap continued to poorly render, causing all of the same issues, and ultimately leading to the removal of the plugin.

#### The World Reset (Part Two)

Because the affects of Dynmap's rendering touched the second Rhapsody world, it was thought that more stability could be achieved by resetting the world one more time after the problematic plugin was removed. The time between these resets was just a few days, but active players had already explored and built in that world quite a bit, including Dyatlov- so it was rather sad to see that world go.

The world was also reset this time so that a default vanilla world could be generated instead of the ever-problematic forge-created worlds. At this point, the idea for having a modded map loaded into a paper server was discarded for stability's sake, and the SMP became entirely Paper-run, freeing it of absolutely all of its issues regarding lag, connection timeouts, lighting anomalies, and significantly decreased the chances of the world becoming corrupted or crashing.

This was the last time Rhapsody's overworld was reset, and the current world remains to be Rhapsody's official world with no future of resetting ever again.

##### Then what happened?

Obviously, almost all issues caused by the dynamic map were resolved entirely once the plugin was removed. A light-level checker & updater plugin was installed for a brief period of time to correct any in-game lighting issues caused by the Dynmap's rendering. Dynmap or any other live map plugins will never be installed on the server again.

To this day, new players still try to "recommend" the Dynmap plugin to staff, as it's one of the most mainstream plugins employed by most SMP servers, not realizing that it is an infamous piece of Rhapsody's history. Both fortunately and unfortunately, most players (sometimes begrudgingly) now refer to the maps built into the game, though mods like JourneyMap and Xearo's Minimap are allowed.

## What We Learned

Don't use a world generated with mods for a paper server. Especially not in tandem with the Dynmap plugin. It isn't worth it.

Even though Rhapsody may not be able to boast a beautiful mod-generated landscape that made Dyatlov want to make the server public in the first place, it is still a very unique and special map regardless of the terrain, especially since the players that have joined have worked so hard to make it that way without any special mods.

## Is Rhapsody SMP Stable Now?

In short: Yes! There are several measures in place to upkeep the stability of Rhapsody's world including:

* Frequent backups,
* server file cleanups,
* careful restarts,
* maintenance when required, and
* avoiding reloading plugins or files with commands or while the server is online.

Our goal is to keep Rhapsody's world as intact as possible for as long as possible, so that it can be enjoyed and cherished for a very long time. The server is not scheduled to endure any major changes like world resetting ever again, except very occasionally for the other dimensions like the nether and end (but never the overworld).