Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Feature request](MS6): Server Pack Exports #324

Open
1 task done
kreezxil opened this issue Apr 29, 2022 · 6 comments
Open
1 task done

[Feature request](MS6): Server Pack Exports #324

kreezxil opened this issue Apr 29, 2022 · 6 comments
Assignees
Labels
accepted Feature Ask which got accepted. enhancement New feature, request or improvement

Comments

@kreezxil
Copy link
Sponsor

Whats the feature you would like to be added?

Have SPC create a mod manifest, much in the same way that the official pack launchers make their exports. This would allow for a few things, the main part of which will be a drastically smaller server pack (pre-installed) size to upload to CurseForge.

Anything else you would like to add?

Currently, most of the FTB mod packs, under the server files section, has a binary that is distributed that acts like a client, it says it's gathering the files and eventually shows itself downloading them.

However, and I don't remember where, this was not a binary, it was a script that did it.

I think you're already scanning the cf API anyway, meaning you're probably not that far off from creating this already.

It would be useful for the super mega packs, which sadly will die off because people would rather not play mod packs that go above a gigabyte anyway. Not until the poverty class computer is a 32 GB standard computer, at least.

for reference: https://www.feed-the-beast.com/modpack/91_ftb_oceanblock/server-files

Code of Conduct

  • I agree to follow this project's Code of Conduct
@kreezxil kreezxil added the enhancement New feature, request or improvement label Apr 29, 2022
@Griefed
Copy link
Owner

Griefed commented Apr 29, 2022

Heya Kreezxil,

thanks for this feature request. 🙂

I have indeed already thought about adding such a feature. Namely, adding an option to export a ServerStarter compatible format.

However, and I don't remember where, this was not a binary, it was a script that did it.

Correct me if I am wrong. This sounds a lot like: https://github.com/BloodyMods/ServerStarter
I have no idea how the FTB people generate the OS binaries which you linked below, but I would prefer OS-independant exports anyway. Generate once, run anywhere. Plus, if their installers download from CurseForge, we run into the CurseForge API and token problem again. See below.

I think you're already scanning the cf API anyway, meaning you're probably not that far off from creating this already.

Unfortunately, due to the changes/limitations to the CurseForge API, I am not. At least not currently.
A rewrite of the way SeverPackCreator accesses CurseForges API is still planned, but it will require the user to set a valid CurseForge API token in the configuration in order to access CurseForge related features. Otherwise it will create either of the following situations:

  1. Some checks/values are gathered from CurseForge until a rate limit is hit, thus effectively killing the feature for any potential user and generating incomplete server packs, i.e garbage.
  2. A given user, without a valid CurseForge API token, can not generate such packages/exports etc..

It is not possible to ship a CurseForge API token with ServerPackCreator without compromising it. ServerPackCreator is open source, so anyone can figure out how to get a hold of a token, should any be embedded into it. Or they could use a decompiler and get it this way.

If and when the API rewrite for SPC is done, I may consider this as a feature for the webservice. There, the admin(s) who run it can set a token and any generated server pack could have the option to additionally include a ServerStarter export.

Of course, tests need to be made whether ServerStarter still works after the CurseForge API changes. It may be entirely possible that ServerStarter has become useless due to these changes. So, preferrably, ServerStarter tests must happen before I start working on this. If ServerStarter has become unreliable due to CurseForges changes, this feature is pretty much already dead, unfortunately.

I don't see any other feasible way of reliably implementing this.

TL;DR: Exports would be awesome, but thanks to CurseForges API changes, they would only be available on a webservice instance with a valid token configured. ServerStarter functionality must be evaluated first, then I can come back to this when the CurseForge API implementation is done.

Cheers,
Griefed

@Griefed
Copy link
Owner

Griefed commented Jun 23, 2022

CurseForge/Modrinth API implementation has been scrapped completely.

I have yet to come up with a good idea how server pack exports could be realized in a useful way and whether this feature would make sense for ServerPackCreator. Personally, I would put this under "Out of scope", but oh well.

Modrinth manifests provide a lot of information about a modpack, and ServerPackCreator is going to make use of them. Maybe someone will come up with a good idea sometime, but currently, that someone is not me. 😂

@kreezxil
Copy link
Sponsor Author

kreezxil commented Jun 23, 2022 via email

@Griefed
Copy link
Owner

Griefed commented Jun 24, 2022

Alrighty, I'll move it to the discussions-section.

@Griefed
Copy link
Owner

Griefed commented Jun 24, 2022

See discussion: #345

Cheers,
Griefed

@Griefed Griefed closed this as completed Jun 24, 2022
@Griefed Griefed added the rejected Feature Ask which got rejected. label Feb 17, 2023
@Griefed Griefed added accepted Feature Ask which got accepted. and removed rejected Feature Ask which got rejected. labels Sep 24, 2023
@Griefed
Copy link
Owner

Griefed commented Sep 24, 2023

Version 6, the webservice rework, will support this feature.
Currently, the plan is to have the webservice exclusively use the Modrinth API to create server pack scripts of a given Modrinth modpack which, upon execution, will then download all required mods and setup the modloader etc.

@Griefed Griefed reopened this Sep 24, 2023
@Griefed Griefed changed the title [Feature request]: Server Pack Exports [Feature request](v6): Server Pack Exports Sep 24, 2023
@Griefed Griefed changed the title [Feature request](v6): Server Pack Exports [Feature request](MS6): Server Pack Exports Dec 14, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
accepted Feature Ask which got accepted. enhancement New feature, request or improvement
Projects
None yet
Development

No branches or pull requests

2 participants