GSoC 2014 Server Side

For online multiplayer we've built upon our STKaddons code base (live at to reuse a lot of the account code. This has a nice side effect that the accounts at the site can also be used for online multiplayer. The goal of this project is to have a way to manage what happens in online play. The initial step for this is to add the possibility to assign different roles (all with corresponding permissions) to users. STKAddons currently enforces this very simplistically, so a proposal should mention what has to be improved (or renewed) together with a list of roles and their permissions. (Keep in mind that it should be relatively easy for us to add new roles in the future. For instance if we would want to spoil our donators or contributors with some fun privileges, it would be nice if we could use this role system.)

An administration panel/portal should be developed that the moderators can use to manage the different users. It should be nicely integrated with the already present user panel. The proposal should list all the features/possibilities of the panel and the improvements/integrations that need to be done with the user panel.

The above mentioned features will be done server-side using PHP and MySQL. As part of this project however some small additions to the C++ client should be done as well. For one we would like the roles to have meaning in the game as well. Secondly an in-game report option should be added to report cheaters (as well as patched servers). Again some panel should be made for the web client that lists the reports. The proposal should mention where and for what report functionality is added and how the panel will look. (Is it integrated with the other panel?)

Something similar to the latter was suggested for addons. A very simplified bug tracker so that users can report that an addon is buggy or isn't compatible with a certain STK version. The maker of the addon should then be notified and have the chance to commit revisions. If the addon is in a buggy state for a long specified time it should be removed from the addons repository. Please detail your vision in the proposal.

Some reasoning should also be done concerning notifications. A mail can't obviously be sent for each report of a cheater or a malfunctioning addon. Some smart algorithms should be used to limit the mail traffic, and it should be combined with a notification system on the site. I.e. if an addon is buggy, it's likely 100 reports will be filed for that addon. In the best case scenario the author should only receive one mail that asks him to have a look at the "bug reports" on the stkaddons site. (API's for mails, database access and accessing the server from inside the game client are already present and should of course be used. (and improved ;) ))

Exposing some additional statistics on the pages under would also be nice. For example, we don't have any statistics on monthly addon downloads (the clients.php page only reports on all file downloads each month, which includes news.xml and similar regularly updated files making the numbers less useful), and for online mode being able to see the total number of servers and players could also come in handy. Thinking of additional statistics to add is encouraged.

The STKAddons code base is getting a bit messy so code restructuring is heavily encouraged. It would also be nice to have regression testing for the newly added features in the form of unit testing. If time allows this could be expanded to full coverage. We realize that this might be a lot for 3 months, so it's up to the student to come up with a promising but realistic timeline prioritizing features he thinks are most important. If unit-testing is considered more important than statistics, so be it. We do prefer few finished features over a lot half-finished features.



Retrieved from ""

User Tools