Categories
Uncategorized

Minecraft – Upgrading to a 1.16 Server

Yeah, it’s a big deal with the nether update. Lots of gold farms, lots of new areas, and people are excited to see everything.

However, care must be taken when upgrading to Minecraft 1.16. Lots of posts and videos have been made on how to upgrade a singleplayer world, but even more care must be taken for multiplayer, as you have a lot of other players depending on you, the sysop, to maintain their builds, their contraptions, their stuff.

I myself run a Spigot/Paper server for myself and my inlaws, and the question came up today, “So would you guys like to go explore the new nether biomes on Saturday?”

I had to remind them that, “Hey, Minecraft 1.16 may be out, but Spigot usually takes a few days and Paper is going to be behind THAT, so we may not be able to make this Saturday work. We’re relying on the punctuality of those developers. And even if we do get Spigot or Paper by Saturday, chances are very high that our favorite server plugin, EssentialsX, which gives us the /tpask, /home, and /spawn commands will not have been updated on top of that. I will do everything I can to make sure we can have some fun with new, cool things on Saturday, but I can’t guarantee it.”

As a failsafe my plan is to temporarily run the vanilla Mojang server straight-up. We’ll lose performance, and we’ll definitely lose support for the few plugins I run, namely EssentialsX, Dynmap, and DiscordSRV, but we won’t be dead in the water without those.

But this is multiplayer. I can’t magically wave a hand or flip a switch and suddenly we’re playing on 1.16 and everything works still.

Rather, I will need to spend time taking the server down temporarily (which, with only four of us is not a big deal – sometimes we go days without anybody logging in).

Once the server is down, the plan is to make a full folder backup, archive it away as “Final 1.15.2 Save.zip” or something.

Verify Backup Integrity

Optionally I can also take the world, world_the_end, and world_nether folders from the save, create a new 1.15.2 instance with my launcher and copy the save file in as its own world. There are some folder finagling steps that must be done, though.

  • Copy world/ in as .minecraft/saves/worldName
  • Copy world_nether/DIM-1/ in as .minecraft/saves/worldName/DIM-1
  • Copy world_the_end/DIM1/ in as .minecraft/saves/worldName/DIM1

Through some testing, the playerdata/ and level.dat files in the world_the_end/ and world_nether/ folders seem to be either unused or duplicates.

Loading up the server world in singleplayer 1.15.2 should prove that yes, the server save was backed up correctly.

Verify Upgradeability

Once this is confirmed, exit and copy the entire save directory to the 1.16 saves location (if using the Vanilla launcher, this may actually be the same folder and can be loaded with a different version. But if you’re like me and using something like MultiMC, this is an entirely different instance of Minecraft so as to avoid version clashing, and so the save must be copied in full to the v1_16/.minecraft/saves/ folder).

When loading, the warning that “This world was saved in an old version of Minecraft. Upgrading is irreversible. Are you sure!?” Well we’ve already created the backup, so like with every other Minecraft Backup tutorial out there, we just say, “I know what I’m doing! Proceed with upgrade.”

Now the world is loaded in 1.16.x. Open it to a LAN with cheats, fly around, check out key builds and contraptions and confirm that they’re working.

Next travel to the Nether. If you’re like me and have only explored out to, say, (500,500), (-500,-500) that entire area will be deemed nether_wastes, and no ancient debris will be generated down at lower bedrock because …there is nothing to generate. HOWEVER, as I tested and confirmed, generating new chunks by flying past these borders do generate new nether biomes properly.

A newly generated salt flat (Basalt Delta) at (600,-600)
Soul sand valley at (1000,-1000)
Rain in the a Crimson Forest? Only when watching nether chunks generate whilst flying in a straight line into unexplored territory.

Upgrade the Server

So with the key builds listed out to re-verify, run the upgrade. For Spigot and Paper, this should be as simple as

wget -4 -O BuildTools.jar https://hub.spigotmc.org/jenkins/job/BuildTools/lastSuccessfulBuild/artifact/target/BuildTools.jar
java -jar BuildTools.jar --rev latest

or downloading paper-<version>.jar and changing the startup script with the new version number, and then just starting up the server like normal.

HOWEVER, if you’re like me and don’t have any essential plugins that will break your entire world if you were to leave them out, consider, at least temporarily downloading server.jar direct from minecraft.net and changing the startup script to load that directly rather than the Spigot or Paper variants.

Once this is done, it will definitely be prudent to log in, op the player or switch into creative and fly around to those various key builds and verify that they’re still functional and uncorrupted.

Vanilla back to CraftBukkit/Spigot/Paper

SpigotMC has not updated to 1.16 yet. Nobody knows how long it will be. It’s lead developer is like so many others – aloof and mysterious. However, it will be presumably updated quickly. It may be today, it may be tomorrow, it may be next month. It’s hard to gauge based on historical evidence.

And PaperMC, while known to be quick with updates, also has to wait for Spigot before it can move forward. However, Paper is also known as a drop-in replacement for Spigot that overlays on top of Spigot’s config files VERY well and only adds its own tweaks for performance. Therefore, reverting to Spigot can likely be done immediately and the re-migrating back to Paper, if there is any delay from their release after Spigot’s, will be extremely straightforward.

That said, Spigot plugins are ALSO subject to waiting for the SpigotMC core release. And plugins are even less predictable than Spigot itself! With no sarcasm, it may be months of waiting for something like Dynmap or EssentialsX to become available. A bit of hunting for some hidden beta ore pre-releases of these plugins may be available somewhere, but it will be prudent to re-add them carefully.

So as soon as Spigot updates, the plan is to carefully follow the previous backup plan. One cannot be too careful with these sorts of things. It would be wise to first revert to Spigot/Paper, making sure the server is up to date, and starting it plugin-free. Once everything is started, it will be a fairly straightforward, though possibly lengthy process to re-download new versions of plugins, load them in one at a time, restart the server, verify that they work, all of that.

Dynmap with the new Nether

This is gonna be nasty. With so many new blocks and new terrains I have very low hopes that Dynmap’s developers will be able to get something out very fast. From my sketchy knowledge of how Dynmap works, they will probably want to generate new shaders for the nether, and possibly new perspectives given that the nether is now more honeycombed than ever before, what with “vertical biomes” having been introduced.

The v0.3 branch is their default, and there seems to be no other one that has any recent developments or any telltale naming that would indicate one could self-compile it for 1.16. However, when it does finally become available, I’ve written a gist that explains my techniques of mapping the Nether Roof which also has a few steps on how to re-render an entire map from scratch, make changes in situ, cancel and re-start a render again.

Conclusion

Not much of a conclusion, as I’m only halfway through this process at the moment. I want to give SpigotMC a chance to become updated before I go whole hog and run this thing from Vanilla for the next week and a half. If they I don’t have a good, solid server version from Spigot or Paper, I will plan on switching temporarily to Vanilla.

Categories
Computer Games Graphics Minecraft

Shaders in MultiMC Minecraft

Gathering all of the resources of the Internet, I finally pinned down the technique to install an Optifine shader in an instance of Minecraft from the MultiMC launcher. Specifically since I started playing again in a major way from v1.14.4, installing mods is not as simple as it used to be, and Optifine is no exception, especially when it comes to a third-party launcher like MultiMC.

Requirements:

Process:

In the vanilla launcher create an “installation” of the Minecraft version for which you are running the shader. In my case this is 1.14.4.

Run the new installation to download that version of Minecraft from minecraft.net, then exit.

If it hasn’t already downloaded minecraft.jar for this version, it will do so, and then launch the game.

Quit this instance of Minecraft.

Having the Optifine jar downloaded (in this case, it would be named OptiFine_1.14.4_HD_U_F5.jar), run it directly by either double clicking it or invoking it from a command line.

If you were to continue using the vanilla launcher, you could click the Install button. However we’re using MultiMC, so we want to Extract, which will give us the actual drop-in mod jar that we can load into MultiMC.

At this point, we now have two files for Optifine: the original installer and the new “OptiFine_1.14.4_HD_U_F5_MOD.jar”.

Open MultiMC and create a new instance, picking the same Minecraft version as before.

Once created click the “Edit Instance” button and move to the Version tab from the left.


Click the “Install Fabric” button on the right and choose the latest version it will allow. Fabric Loader will be added to the list of versions for this instance.

At this point, move to the Loader Mods tab in the instance window. Click the Add button and locate your Optifabric jar as well as the OptiFine_*_MOD.jar extracted from the previous step. These two mods should now be visible in the Loader Mods list.

Click the Launch button at the bottom. At this point if you had your file explorer open to this MultiMC instance, you would notice as Optifine is being loaded for the first time a few folders are being created and the console giving you a nice, verbose output.

After a point, Minecraft will launch as expected, though it will now include Fabric with the version and display the OptiFine mod to indicate that it was loaded successfully.

At this point, all of the Optifine options are available in Options/Video Settings both from the start screen and from in-game.

Assuming you are running a version of Optifine that supports shaders (in preview versions this may be grayed out to indicate that support for Shaders has not yet been implemented and tested to a level that sp614x has re-enabled it), click the Shaders button.

Initially only two selections are available: OFF and (internal).

The internal shader does offer a few more options by ungreying all of the buttons on the right-hand side of the shader selection window, but leaving all of those options on default displays a fairly typical Minecraft render.

To load the new shader (in this case Sonic Ether), you do not need to exit Minecraft!! Download the shader pack from the website, saving the entire ZIP file into some location.

Restore the MultiMC launcher window. If the Instance editor is also open, switch to the Version tab and click the “Open .minecraft” button at the bottom right.

Navigate into the “shaderpacks” folder from .minecraft and copy-paste SEUS-Renewed-v1.0.1.zip in.

Switch back to Minecraft. SEUS-Renewed-v1.0.1.zip should have appeared in the Shaders selection window. Again, Minecraft does not need to be restarted manually. The entry in this window will simply appear as soon as Optifine has detected the presence of the file in the shaderpacks directory.

Click on it the new entry and watch as Minecraft performs a soft reload of the window. The Shader Options button will now be ungreyed, and a few different settings can be tweaked from here, but at this point, SEUS should be running from your MultiMC instance when the world is loaded!

For example, the Lighting & Shadows/Shadow Resolution=4096 improve the overall sharpness of the shadows cast.

Shadow Resolution = 1024
Shadow Resolution = 2048
Shadow Resolution = 4096

Left clicking these options will increase their value, while right clicking will decrease them. Additionally, the hover tooltips display what they are, though many are advanced and should probably be researched and experimented with before tweaking dramatically in one direction or the other.

Anyway, this is my first time using this, and I’m definitely looking forward to playing around with it!!

Resources

Categories
Computer Games Minecraft

Minecraft

History

It’s interesting that I purchased my old Alienware M14x R2 just to play Minecraft.

Years ago, a friend I knew on Achaea said that they really enjoyed Minecraft, and that I should try it out. Well, I totally did, and totally regretted it. That’s because at that time, all I had was my Dell B120 from college, and for no strange reason, the game would not run at all, or if it did, the lag was so severe that I waited for 20 minutes for the FPS to progress for one frame. So instead of the minimum desired FPS of something like 60 FPS, I was getting something more like 1200 SPF — great sunblock, terrible game experience.

A few years later, in 2013, another friend from another MUD recommended I try it out. He’d been playing for a long time before I started, and knew quite a bit, and I gave him a rundown of my experience. I also told him I was still super interested in this, and that we’d just bought my mom a new laptop, and that it would maybe be able to handle it. I gave the demo a shot on her machine, which required quite a big Java update, and pretty soon was running successfully (albeit with still-pretty-severe lag) Minecraft 1.4.7!

It got me hooked immediately. I played a good, solid week in the evenings, installing a few optimization plugins installed (namely Optifine) and managing to get it running semi-decently on my B120. However, the lag was such that after a while, I found no progress being made due to resets and deaths and all sorts of other things. Not the ideal learning environment to say the least.

So after a few months of saving up, I bought the Alienware, and did not regret the decision. After that we had a single player shared out to a port and were going multiplayer. Hooray!

Today, NoDumbQuestions!

Fast-forward to now. A podcast of which I’m a huge fan, called NoDumbQuestions, has a moderator on Reddit who goes by mvoviri. Quite a while ago he started a Discord server for some of the fans, and I jumped in on the ground floor which, in typical Discord fashion, means that I haven’t felt like the newcomer, and have stuck around. A couple months in, he asked, “Hey, would anybody be interested in playing Minecraft?” and I was quick to respond, having set Minecraft aside every since about 1.7.4.

A few weeks later, there was the announcement, and he and another guy were quick to set up a spawn area, and I jumped in, and immediately remembered why I shouldn’t have stopped playing when I started galavanting about and died immediately, lost the starter equipment, tried again from scratch, lost everything again, and couldn’t even stay alive long enough to get a chest made.

It was a couple of weeks after that that I gave it one more go, and stuck with it. And in the past few months, I’ve done way more progress here than I have in any other server or single-player world! Well, besides my own server that I run from work, and play almost exclusively in Creative Mode on.

NDQ Minecraft Base

I’ve picked a cliff-top Taiga Mountain (half snow) area on which to build my main area. This was chosen specifically due to the dark overhand just from appearance alone. At the base of this cliff is a fairly wide Sunflower Plain with a few rises where I decided to place the livestock, since a mountain-top doesn’t offer many flat areas unless I were spending the time to get good tools, which I don’t usually.

Started with a small-ish house right on the cliff edge, and dug in to create the mine. Found a few natural caverns, and popped out on the back side of the mountain into a deep canyon where I built a small run of weird wooden letters “ATWHA” at semi-regular intervals. All with iron tools, because I haven’t played Survival in 5 years and even then never learned a THING about enchanting.

Hermitcraft

At this point, I started watching MumboJumbo in Hermitcraft Season 6. And oh my gosh, if you make it your profession to play this game, can you do some really cool stuff! I had no idea that half of the things these people were doing were even possible. Elytra? What in the world is THAT? I mean, I’d heard of it, but never even tried it in Creative.

Also watched Grian in the same series, and was super impressed. My goodness, two points of view make quite an interesting source of inspiration. Needless to say, I’ve got to expand this clifftop house into more than just a building underneath which lies a boring strip mine.

In this time, watching both of those Youtuber players through the entire season to date (11/2019), I’ve started a real strip mine with two block spacing, a series of nether portals that lead to an underwater stronghold (you can’t just build an end portal? I thought you could…) and an island not far away from it where I’ve made a remote base with good ocean proximity, and found one other player on the server selling fully enchanted elytra for 1 gold block.

After watching numerous Hermitcraft episodes, I now have so many ideas rattling around in my head.

Current Activities

I’ve made a huge amount of progress in the NDQ server, touching on pretty much everything that I can think of that I never saw before (enchantments, potions, elytra, mapping, ocean monument near the stronghold, economy with other players, automated redstone farming, and the nuances of mob spawning and contemplating why the creeper “farm” I built won’t spawn creepers at all!

Yesterday I tried mapping out the map blocks in and around my area. Then learned that ClearItems for Spigot is the most annoying, most brute-force method of saving server memory that could exist. I hit the ground too hard while flying around, and died. Okay, if I run back really quick I might be able to find all that expensive armor and weapons and tools. Not behind this rock. Maybe behind thi…. <[ClearItems] Deleted 29 items to reduce lag.>

Needless, this weekend did not see much progress in terms of big, fun projects, due to having to mine up new diamonds and paper for villager trades and enchantments.

Then late last night, I made a small, but fully automated sugar cane and bamboo farm. I had another one set up on the mountain near the house, but the weirdnesses surrounding minecarts and solid blocks were faulty, plus the room I had to work was very small, so I started a new one and put it down on the flat ground in the valley. It’s not too compact, but at least it works!

This morning, while watching Iskall85 doing his thing, I remembered ConCorp‘s “logo” map item that they’d made in-game and got the idea to do the same, only with NDQ’s logo. Quick made an empty, Zoom-level 1 map, hit the “teleport me to a random place,” and found a nice, relatively flat area and marked out the corners, then pasted the map along with screenshots up in my house. Thank goodness for /home and /spawn. They’ve made life much, much easier!