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

Server integration via a Bukkit plugin #238

Open
AlexTMjugador opened this issue Jul 19, 2023 · 0 comments
Open

Server integration via a Bukkit plugin #238

AlexTMjugador opened this issue Jul 19, 2023 · 0 comments
Labels
enhancement New feature or request good first issue Good for newcomers

Comments

@AlexTMjugador
Copy link
Member

AlexTMjugador commented Jul 19, 2023

Related problem or need

The discussion and research that led to #38 (comment) identified the need of providing non-technical server owners and hosting providers with easier means to run PackSquash, that readily work with the software stack they already know and use. However, we think that this need can be addressed better, despite the aforementioned suggestion being rejected.

Proposed solution

There are lots of server environment options, but a common component for the vast majority of them is a modded Minecraft server capable of running plugins targeting the Bukkit API. Therefore, a server plugin for integrating with PackSquash addresses the stated need in a significant way: server owners would be able to easily apply the knowledge they already have to install and configure a plugin, and hosting providers can leverage existing processes to provision servers with plugins.

As a rough guideline, the plugin could have the following features:

  • Fetch the suitable PackSquash binary (not necessary if the PackSquash API suggested in Add crate for API use #215 ever materializes in a form directly usable by plugins).
  • Manage the options passed to PackSquash.
    • These can be stored in a file in YAML or TOML format and passed as-is.
    • Alternatively, or in addition to the options file, configuration commands may be appropriate.
  • Run the PackSquash binary (or call its API), logging the results accordingly.
  • Configure the server to use the generated resource packs.
    • The plugin could also implement a minimal HTTP server to serve the pack to clients, enabling zero-configuration pack hosting (assuming no firewall configuration is required).

Alternative solutions

Given the sheer variety of server environments, alternatives such as Fabric mods could also address this need, but we have not yet identified other alternatives with a higher return on investment.

Additional context

The PackSquash Wiki has documentation on how to integrate it with other applications, which includes server plugins.

Since a PackSquash Bukkit plugin would not share code with the main PackSquash project, it's best to develop it on a separate repository. Please contact us if you have something working and would like to see it get some official recognition.

@AlexTMjugador AlexTMjugador added the enhancement New feature or request label Jul 19, 2023
@AlexTMjugador AlexTMjugador added the good first issue Good for newcomers label Jul 20, 2023
@AlexTMjugador AlexTMjugador moved this to Accepted ideas in PackSquash roadmap Jun 15, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request good first issue Good for newcomers
Projects
Status: Accepted ideas
Development

No branches or pull requests

1 participant