One of the largest problems is that it is required for MineOS to be able to accurately determine the versions, because it will determine which āpingā protocol to use. Protocols have changed much from 1.5 (still in use), 1.6.4, 1.7, and will continue to change going forward as Mojang creates new aspects of the world.
Now, I need to accurately determine the version because I have to send the correct āSend me your server statusā packet. Sending the correct packet gives an immediate response and an immediate socket closure, whereas sending the wrong packet gives a response sometimes delayed 3 or more seconds and a socket timeout at 20. 3 seconds, even if constant, would make the web-ui unusable (because that would be the delay for each request that checks if the server is online).
Now, ultimately, most of the forge jars created will still be similar in nature and could possibly still use the same 5 (or a few more) hard-coded paths I have put in place, but itās not really the technical reason there that is most deterring: it is the notion that if a server doesnāt start up properly or is unbearably delayed, it would not be feasible for the end-user admin to determine whether the problem is in the MineOS scripts (version detection), the Forge jar-creating process, or some other facet of the creation process. In other words, Iād be relegating the responsibility of creating a working jar to myself (which is something I have no experience in) and opening up endless combinations of forge mods which I myself am not entirely certain I can anticipate.
At least with self-made forge jars, when it doesnāt work, an admin knows to try starting up the server manually (most of the time), by opening it at the command line. When it doesnāt work, they know itās not in the MineOS workflow, so they know how to hone in on the problem. By trying to create the jar for them, that distinction is muddled.
Letās put it another way: Iām not familiar (or even very inclined) to learn how to create forge jars, but if any users out there can lay down the foundation work for automating jar creation and validating its mods, Iād be happy to integrate it into the MineOS workflow. Short of that (getting help from admins interested in using it, trusting it), it is unsure whether this endeavor will have a good effort/payout ratio.
As a side note, youāll see that this workflow for creating jars is useful even if one didnāt use MineOS, which is another reason for its separation from the main product (i.e., a different git-hosted project).