MovingBlocks / FacadeServer

A headless facade that acts as a game host and provides web-based administration. Automation category: Terasology Facade. See https://forum.terasology.org/threads/facadeserver-headless-server-with-web-interface.1906
Apache License 2.0
4 stars 11 forks source link

Games resource #4

Closed gianluca-nitti closed 7 years ago

gianluca-nitti commented 7 years ago

Contents

The code on this branch adds support for management of the savegames stored on the server from the web client/API, as described in the 16 July (week 7) devlog update.

Before merging

I'm marking this as WIP since there are a couple of parts that I think need to be improved before this branch is merged:

Also, as pointed out at the end of the blog post, the engine can be started in this new state (StateEngineIdle) suggested by @msteiger by specifying the -dontStartDefault command line switch, but at the moment there is no way to actually avoid the creation of a default game because you can't login to the web interface without a valid client identity certificate, which is generated when connecting to a running game. The planned solution to this problem is to set up a sort of admin password that can be used to login to the web interface to only administer savegames without a client identity (but obviousluy as always any idea is welcome); let me know if I should add it on this branch or wait for this pull request to be reviewed and add it later.

How to test

It's possible to access the new resources through the "Games and Modules" tab in the web client, you can either use the version hosted on GitHub Pages here or clone the repository locally and following the build instructions in the README (basically, you need to have npm installed, install the dependencies including the development ones and run npm run web). I'm aware that there is still some small usability problem in the frontend application but it shouldn't be a problem when using it for testing the server. For example, if you connect to an not existing server, no warning is shown and various buttons become unresponsive (as pointed out by @skaldarnar last week). This week I mainly focused on the server and I'm going to fix this soon, in the meanwhile please press the "Connect" button on the "Server Address" dialog only when the local server is running and has completed initialization. Fixed.

msteiger commented 7 years ago

Thank you very much!