For$
<!-- begin site header -->
<div id=

Author Topic: Web interface for server management.  (Read 17865 times)

Delirium

  • Newbie
  • *
  • Posts: 27
    • View Profile
Web interface for server management.
« on: April 14, 2011, 09:24:39 am »
Would be cool if there is a web interface for managing server options, kicking/banning players, random stats, Picture generator which generates a picture telling the server name, actual players and stuff.
Make it idiot proof and someone will make a better idiot.

Ligustah

  • Newbie
  • *
  • Posts: 42
    • View Profile
Re: Web interface for server management.
« Reply #1 on: April 14, 2011, 12:32:21 pm »
Maybe make a plugin that supplies a simple shell-like interface.
That would make it easy to deploy different forms of interfaces on top,
and the web interface would not neccessarily need to be on the same machine.

Delirium

  • Newbie
  • *
  • Posts: 27
    • View Profile
Re: Web interface for server management.
« Reply #2 on: April 14, 2011, 11:09:49 pm »
What's about RPC? Wouldn't that be an option?
Make it idiot proof and someone will make a better idiot.

Ligustah

  • Newbie
  • *
  • Posts: 42
    • View Profile
Re: Web interface for server management.
« Reply #3 on: April 15, 2011, 08:29:32 pm »
I just saw that libevent already includes a basic http server and seems to support RCP out of the box.
But i haven't quite understood the documentation of their RCP implementation.

Maybe it would be better to make a simple JSON based interface. That would make it extremely easy to code a web interface. The drawback would be that it's a bit overkill for command line interface scenarios.

Tough decision to make :P

I do think that Mineserver needs both, a web interface and a command line interface (aka telnet) and that both should share most of their code. Repeating code is bad practise.

Delirium

  • Newbie
  • *
  • Posts: 27
    • View Profile
Re: Web interface for server management.
« Reply #4 on: April 16, 2011, 01:15:26 pm »
Yeah, I think Mineserver should be as easy to manage as possible. I think there should be also a standarized Pluginconfig thing to automatically (!!!) add plugin configuration options to the webinterface/cli. You can always abstract the *real* config changing code and just call it from a wi/cli wrapper. Hope you get what I mean. If RPC is already implemented, why not use it? The less code, the less instructions have to be computed, the faster mineserver is.
Make it idiot proof and someone will make a better idiot.

Ligustah

  • Newbie
  • *
  • Posts: 42
    • View Profile
Re: Web interface for server management.
« Reply #5 on: April 16, 2011, 06:04:44 pm »
I see what you mean with the configuration, but i think that's specific to the implementation and should not introduce any major structural changes.

Could work like getting the complete list of properties via JSON and then just dynamically generate a form that allows changing each of those configs (again via JSON)  ;)

Delirium

  • Newbie
  • *
  • Posts: 27
    • View Profile
Re: Web interface for server management.
« Reply #6 on: May 14, 2011, 01:49:13 pm »
Ok. After further investigation, libevents RPC Implementation seems to be trash.

Personally, I dislike JSON for various reasons. I like XML-RPC much more, so I found a solution:
http://xmlrpcpp.sourceforge.net/. This can be used along with an RPC Extension for php (for example this one http://phpxmlrpc.sourceforge.net/). I don't know both, but they seem well documentated and I understood the example code easily.

Edit: I see the original xmlrpc c++ library doesn't work stable on windows, so it won't make the users happy imo.


Forget it, SOAP seems the best way.
« Last Edit: May 14, 2011, 03:52:31 pm by Delirium »
Make it idiot proof and someone will make a better idiot.

TBK

  • Newbie
  • *
  • Posts: 13
    • View Profile
Re: Web interface for server management.
« Reply #7 on: May 14, 2011, 06:00:21 pm »
Maybe this is something that can be used - http://www.minecraftforum.net/viewtopic.php?f=10&t=279882

NotoriousPyro the creator, is going to add a server administration features in the future.

Would be easier if it could be tweaked (when Mineserver is "complete" I'm sure he will add support for it), instead of building something from scratch.

Ligustah

  • Newbie
  • *
  • Posts: 42
    • View Profile
Re: Web interface for server management.
« Reply #8 on: May 15, 2011, 09:45:07 am »
I still think JSON is far superior to XML, when combined with JavaScript.

Cool fact:
If this interface would be written as a Drupal module, we could deploy the RPC modules that Drupal uses, which would mean the actual code would be completely independent from the transportation method used.
Drupal would then act as an RCP proxy between the client and the server.
Might be a bit overkill though, but i just love Drupal ;D

EDIT:
http://drupal.org/project/services

Ohw, and another advantage would be that Drupal could handle all authentications and user permissions.
« Last Edit: May 15, 2011, 09:53:53 am by Ligustah »

Delirium

  • Newbie
  • *
  • Posts: 27
    • View Profile
Re: Web interface for server management.
« Reply #9 on: May 15, 2011, 04:13:31 pm »
Yeah, but this requires the user to install drupal. Sounds a bit overkill to me.
Make it idiot proof and someone will make a better idiot.

Ligustah

  • Newbie
  • *
  • Posts: 42
    • View Profile
Re: Web interface for server management.
« Reply #10 on: May 15, 2011, 06:01:47 pm »
I know -_- But it'd be cool! ;D

Seriously though, Drupal provides a lot of stuff like HTML form generation and validation, easy to use AJAX tools, the authentication part, very good permissions handling.

However, I think that a lightweight version that relies on HTML + JS only would probably better to start with^^
(that is, by the way, why i would prefer JSON, which is much easier to use with JS, than XML is)

Will anyone make a draft as to how the interface should look like?

Delirium

  • Newbie
  • *
  • Posts: 27
    • View Profile
Re: Web interface for server management.
« Reply #11 on: May 15, 2011, 10:29:56 pm »
I personally never worked with JSON, but a bit with XMLRPC. The TrackMania Server uses that as plugin interface, you know, xaseco and stuff (which is written in php btw).

Apart that I think we should write down a list of features we want to have before we start to discuss about how to implement them.
Make it idiot proof and someone will make a better idiot.

Ligustah

  • Newbie
  • *
  • Posts: 42
    • View Profile
Re: Web interface for server management.
« Reply #12 on: May 16, 2011, 12:44:17 am »
JSON is basically just javascript code (JavaScript Object Notation, if I am not mistaken). That is why it's extremely easy to handle with JavaScript.