12-22-2015, 07:46 PM
Sorry, but that sound unreasonably difficult and too dependent on a single person.
Consider this instead:
We create a github repository that will represent the plugin index. Each plugin that we want to add to the repository will get a single Lua file inside that repo with information such as the source location, author, description etc. For now, source location would have to point to another GitHub repo.
The plugin repository integration would query this GitHub repo regularly for updates about available plugins. For each plugin that the admin installs from this repository, the plugin would remember the metadata and regularly check the plugin's GitHub repo for updates, using the GitHub API. When a new version is detected, all the files get downloaded (again via GitHub API) and the plugin gets updated.
Anyway, all this would be much easier if Cuberite exports its HTTP client and server classes to the API, I think I'll start working on that today.
Consider this instead:
We create a github repository that will represent the plugin index. Each plugin that we want to add to the repository will get a single Lua file inside that repo with information such as the source location, author, description etc. For now, source location would have to point to another GitHub repo.
The plugin repository integration would query this GitHub repo regularly for updates about available plugins. For each plugin that the admin installs from this repository, the plugin would remember the metadata and regularly check the plugin's GitHub repo for updates, using the GitHub API. When a new version is detected, all the files get downloaded (again via GitHub API) and the plugin gets updated.
Anyway, all this would be much easier if Cuberite exports its HTTP client and server classes to the API, I think I'll start working on that today.