Miware,
I should have responded in-line but was lazy. Let me clarify..
Maven would address only these following points you brought up.
- A1) a repository where to store published plug-ins (plenty of examples/resources for this, but a selection has to be made)
- A2) a protocol to access data / files from the repo (again, plenty of existing choices and a selection has to be made)
- A3) a way for plug-in authors to publish/upload their plug-ins into the repo
A plugin manager/UI is the last part of the puzzle. I I think we are just using our terminology differenty a "gui" is something launched from a desktop interface such as Windows that is graphical. A UI is the "gui" of Rising World where you play normally. A gui like you launch from a desktop is out of the question since not all servers offer a gui. Windows always has a gui but dedicated Linux servers offer only a command line.
Like you said, some rented game servers do not offer a console option. This immediately rules out the option of a command-line tool
It seems like RCON is the way to go. I tried it just now on my personal server and I like the tool However it needs a few improvements.
[*]Offer a standard RW console in RCON to run any console command remotely
[*]Offer option to runas <player> the above
[*]Add a panel to implement the plugin manager
- The panel should have a tool to point to a specified repo and list plugins available and select available version numbers.
[*]Assuming loading/unloading plugins is dangerous while users are logged in and world is modifiable, offer a "maintenance mode" which will ensure game is read-only and any outstanding database calls are completed, prevent any user change from saving.
[/list]I still like the idea of implementing a tool in the UI of RW itself. The maiin reason is that players in single-player mode may want to mod too. So a UI should be available which can actually benefit single and multi games.
[*]Single Player - a config screen can be placed under Settings to manage plugins for the client only
[*]In multiplayer - a console command to launch the same UI as above but this version only manages the server plugins only
[/list]
B) Also, a number of policy decisions are required:
B1) If the publishing / uploading is open to anyone and/or if some registration / authentication is required
B2) If the "system" (i.e. ultimately JIW staff) enforces some kind of quality control or not
B3) If there are controls on who is downloading what or not (and, in case, which kinds of controls)
B4) If the plug-in manager is the only supported/documented way of installing plug-ins (restricting manual addition of files to a well-known directory will be difficult, but installation might require additional steps than simply dropping files; or not!)
Here is one section I should address a bit clearer:
B1)
Whoever manages the repo must decide who is allowed to upload to it. I was thinking the well known modders here would specifically request it (or they can host their mods on their own which is why the plugin manager has to allow for manually installing into the plugins folder).
I do not know how RW authenticates internally but if it should be interfaced by some kind of standard protocol such as LDAP. The Administrator of the repository is given access to look up users via LDAP and grant write access accordingly.
B2)
So regarding quality control, I would assume that JIW is not going to offer quality control. Otherwise we would need to add a build system to grab the source code from a developer's source repository, build it, scan for bugs and malicious code and then upload the build into the repo.
The Maven repos act as mirrors to other repos. They accumulate jars from many different companies they mirror. There is no assumption of QA on the person running that repo. Only the original author who built and deployed the jar is the one who is assumed to have done QA.
Same thing over in the minecraft world we also assume the authors of plugins are not writing malicious code but without looking at source code we cannot be sure.
However, there's also the Steam Workshop which would in a way offer something similar to the plugin manager we are talking about. Now does the Steam Workshop ensure that players are safe from malicious plugins? This is also a consideration because Steam Workshop support has been requested in the past. I do not know enough about how this works or how its supposed to work.
B3)
I'm not following you on this. I interpret it to mean we should limit who the mods are distributed to. My believe is that the limitation is only on who can upload, not who can download.
B4)
I think that the plugin manager is just a tool to automate the manual process. I may want to test various versions of a plugin or test different combinations and for me it might be simpler just to manipulate a few files on the command line on my server then restart RW. I see no benefit to limiting manual intervention. The plugin will read the configuration of the plugins installed by reading each jar and the Manfiest file in each jar.