Fork me on GitHub
  May 22, 2018, 12:34:18 am
Welcome, Guest. Please login or register.
Did you miss your activation email?

Login with username, password and session length
   Home   Help Search Login Register  
Pages: [1]
  Print  
Author Topic: Web interface for server management.  (Read 5733 times)
Delirium
Newbie
*
Posts: 27



View Profile
« 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.
Logged

Make it idiot proof and someone will make a better idiot.
Ligustah
Newbie
*
Posts: 42


View Profile
« 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.
Logged
Delirium
Newbie
*
Posts: 27



View Profile
« Reply #2 on: April 14, 2011, 11:09:49 pm »

What's about RPC? Wouldn't that be an option?
Logged

Make it idiot proof and someone will make a better idiot.
Ligustah
Newbie
*
Posts: 42


View Profile
« 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 Tongue

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.
Logged
Delirium
Newbie
*
Posts: 27



View Profile
« 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.
Logged

Make it idiot proof and someone will make a better idiot.
Ligustah
Newbie
*
Posts: 42


View Profile
« 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)  Wink
Logged
Delirium
Newbie
*
Posts: 27



View Profile
« 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 » Logged

Make it idiot proof and someone will make a better idiot.
TBK
Newbie
*
Posts: 13



View Profile
« 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.
Logged
Ligustah
Newbie
*
Posts: 42


View Profile
« 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 Grin

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 » Logged
Delirium
Newbie
*
Posts: 27



View Profile
« 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.
Logged

Make it idiot proof and someone will make a better idiot.
Ligustah
Newbie
*
Posts: 42


View Profile
« Reply #10 on: May 15, 2011, 06:01:47 pm »

I know -_- But it'd be cool! Grin

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?
Logged
Delirium
Newbie
*
Posts: 27



View Profile
« 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.
Logged

Make it idiot proof and someone will make a better idiot.
Ligustah
Newbie
*
Posts: 42


View Profile
« 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.
Logged
Pages: [1]
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.21 | SMF © 2015, Simple Machines Valid XHTML 1.0! Valid CSS!