Skip to content

Releases: loksonarius/mcsm

Release v0.0.4

11 Feb 21:55
6fd3942
Compare
Choose a tag to compare

Cleaning up the house 🏠

This version addresses a lot of the implementation complaints from the previous release and adds a few new features.
A brief overview:

  • The help subcommand has been reworked to actually print usage docs for any subcommand passed in -- it will still display general usage docs if no argument is given. The new usage docs go quite in depth about the functionality of every subcommand with specifics that help in actually using mcsm. Try it out with mcsm help!
  • The config subcommand now prints out all the the config values that will be used in both commands and server files instead of just what was parsed from the server.yaml. The structure's been updated, so a few keys will have changed. Now that config defaults are taken into account, the output can be used to understand everything as it will run in one go.
  • Config validation was actually implemented now, so any modest gotcha's around some server types' config files such as build heights needing to be a multiple of 8 or game modes needing to have a specific spelling are checked for and reported on before launching the server during mcsm run. A validate subcommand has also been added to perform this static validation on-demand!
  • The bedrock server type now uses a cached versions source, so install requests are way faster now -- at least as fast as any other current server types. 👀

There's going to be one more iteration of cleanups and self-care before further features are added. Hopefully, by release v0.0.6, we can settle on how mods and plugins are downloaded and configured 😁

Release v0.0.3

19 Jan 04:03
b12828c
Compare
Choose a tag to compare

Bedrock support's done! 🚀

At this point, there's a decent amount of initial server types supported to start consolidating, refactoring, documenting, and such. The major want by this point is getting some use of the tool to find any initial flaws in the user design or limitations of the server definition spec!

Some things about the current implementation that aren't great:

  • bedrock version checking is currently implemented as a makeshift webscrapper against Gamepedia's Minecraft Bedrock Edition pages!
    • while mildly fragile, the real issue here is speed -- it's pretty slow
    • the current idea is spinning off some "bedrock server versions" API thingy to act as a cache of sorts
  • code coverage keeps going down as more utility functions dot the packages
    • this may be a necessary evil, but realistically speaking, there's a lot of code living in these cracks that isn't direct calls to the outside world
    • there's enough untouched, bespoke code to justify making the effort to properly test it
  • installing plugins and mods is currently really lame
    • ideally, we could support following URL redirects and compressed archives (.zip and .tar.gz) to improve UX
    • even better would be figuring out some sort of mod page integration so people can specify sources directly like curse-forge or bukkit 👀
    • there's no way to configure mods that are installed!
  • the config subcommand only shows what's been parsed, not what will be used
    • this shouldn't be too hard to fix, it's really low hanging fruit 🍎 🔫
  • there's no validation of config presets!
    • really need to go back and implement this for currently implemented presets 😅

The next couple of releases will all center around improving the current implementation and adding user guides for everything we already support!

Release v0.0.2

15 Jan 05:51
dd66d24
Compare
Choose a tag to compare

Paper support has arrived! 🪂

Now that we have 2 different Java server-types supported, Bedrock's next!
As we handle more and more server types, we'll be able to really figure out and optimize around what they have in common -- and as of right now, the Java-less bedrock server type stands out as the best candidate!

An immediate challenge that'll have to get sorted out: figuring out available versions of Bedrock along with download links. Unlike Vanilla and Paper, there's really no meta-API we can hit for info (that we know of at least 🤷). Let's see what we can do anyway.

After support for Bedrock gets add, the next steps will likely be around enabling some config solution for mods and plugins, as well as adding some optimize-by-default sorta option to have any unset config optimized when possible -- prod-ready EzPz 👨‍🍳

Release v0.0.1

08 Jan 03:16
Compare
Choose a tag to compare

Woo, first bug fix! 🎉 🎉 🎉

Quickly realized that the binaries being published were being compiled dynamically, which mean real problems when I tried running mcsm from a download and it kept error'ing out about No such file existing.
Added a quick GCO_ENABLED=0 to the build script and that seemed to do it 👍

Now we focus on Paper servers!

Release v0.0.0

08 Jan 02:29
Compare
Choose a tag to compare

First release during alpha setup of mcsm! 🎉

By this point, we have CI setup to keep things tested and published as we continue developing, so it's full steam ahead on accomplishing our alpha release checklist!

This initial version of mcsm supports installing, configuring, and running a Vanilla server. That's about it. 😅

Next goal is adding support for Paper installs 👀 preliminary checks of the work involved look more than promising!