SoC Ideas Addon Server 2013

From The Battle for Wesnoth Wiki
Revision as of 12:46, 22 April 2013 by Crab (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)


This page is related to Summer of Code 2013
See the list of Summer of Code 2013 Ideas



This is a Summer of Code 2013 Idea



Description

Addon Server: Create a new and shiny one

Page for the idea: SoC_Ideas_Addon_Server_2013

Wesnoth has an addon server that originally only hosted extra campaigns, but now also hosts Multiplayer Maps, Factions, Eras and more. Also the amount of hosted addon has increased over the years. The server itself is almost unchanged and can use an upgrade. Performance-wise things are not bad, but it would be nice to store additional meta-information on the server and have a better integration for translations.


There are 2 submitted student proposals for this idea The revamped addon server/client will feature the following (mostly in addition to the existing capabilities):

  • Include integration with the various tools, such interacting with WesCamp
  • Better versioning handling: new versions will be recorded as separate entries in the database to track updates and file differences or git repository may be used; automatic update detection will be supported on the client side
  • Database: a MySQL database will be used to store information about add-ons
  • Forum accounts: give add-on authors the ability to publish using forum account(s) instead of the passphrase
  • Documentation: improve documentation of server configuration and guide on how to setup an addon server


See Perennate for more information.

This proposal aims to rewrite and improve the addon server with Boost.Asio. The current server becomes old and has few drawbacks:

  • The code is monolithic, resumed in a single file which made it hard to extend and maintain.
  • The responses are in english only, support for gettext should be added.
  • The translation of the addons are not synchronized with Wescamp.
  • Native handling of the different types of add-on (campaigns, factions, eras, …).

The hope is to design a new and robust server with the help of Boost.Asio, make it extensible with every layer of code clearly defined. Moreover the wire has been completely reviewed to integrate translatable features. It'll add meta-information on the different types of add-on.
See Trademark/GSoC 2013/Addon Server: Create a new and shiny one for more information.

Additional Information

The first step for this project will be writing the specifications for the new server and discuss them with our developers and users. Once the specifications are done you will implement the server and update the in-game user interface.

Suggested skills: C++, the boost asio library (can be learned during the process).

Whom to ask about this

mordante

This page was last edited on 22 April 2013, at 12:46.