WebInterferance

I may be mistaken, but I don’t think you’ll really need to know Forge. I’m hoping at any rate that plugins will be developed entirely on the Sponge platform, with no direct API use via Forge necessary, or even depending on Forge API in development workspaces. There isn’t much to Sponge at the moment, but @Tux2 has written a post about how to start a new Sponge plugin here. As far as I know, you can just depend on the Sponge API for everyone but the log4j in that tutorial.

Sorry, Tux if I’m pinging you a lot with these references to your setup guide XD

may u add me on skype @mcmatters123 and u and i can discuss css?

Sorry, I don’t really distribute my Skype. If I contribute to the CSS, it’ll likely just revolve around me mocking up a non-functional panel on my web server. If I can even manage that given that I have classes and my PC running on a generator otherwise (haven’t had electricity for about 3 weeks). I’ll just be hard pressed to be able to cooperate with anyone, but I’m interested in exploring the idea of a panel mock up in my own time.

Things is, you don’t need a plugin or a web server to build your panel. A single HTML file and JS can do the trick just fine. Minecraft has protocols for that, check RCON and QUERY. The whole idea of embedding Jetty in the server comes from Dynmap which needed to process Minecraft assets in realtime. Having a web server made sense then, but in this case there’s no need to do so.

@MCMatters still needs to abstract the table creation statements though, as well as the SQL statements, if provider switching is to be supported.

There isn’t even a standard syntax to quote table, field, etc. names, even between SQLite and MySQL.

Ah, I may look into that then. I’ve never really tried to make a functional panel. At the moment, I’m more interested in doing the styling, been doing web design since I was probably 12, so I like to come back to it and tinker now and then. The query should be easy enough, I’ve dealt with that to some extent with PHP classes, but I suppose ajax would be better for a live panel. RCON I haven’t messed with, but I can see the applications for it.

Ps.: Please use the search function:

1 Like

I just think you design it and I code it

I’m not a designer, I’m a straight backend developer :wink:
But I have enough knowledge of HTML5, CSS3, JS to do this job.
I’ll take the bootstrap template I posted :wink:

  • Morph
1 Like

What kind of user needs is this web interface going to fulfill?

As I told @Kornagan earlier on, this isn’t the same, @IDragonfire, he’s suggesting creating his own external/3rd party web panel, not suggesting Sponge to implement it. I’d think for that it would prompt a new thread, as he’s also asking for help.

I’m not sure if I’ll actually contribute to this project. If I go through and create the webpage, may end up just doing the rest on my own as well. If it needs a plugin, then I may write my own (as I’ve been somewhat interested in doing something like this via plugin for a while now anyways, just not sure how). On a side note, I can link the rough sketch of what I’ve slapped together last night for the dashboard. I’m aware that some of these stats probably will need a plugin to report. It’s also modeled somewhat after MineOS’s panel, which I liked, despite the fact that it didn’t seem to update very well.

[redacted - no longer working on this]

Of course, it’s entirely non-functional at the moment, and none of the pages listed on the left navigation exist yet, so everything is coded directly into that one html file. It’s probably fairly messy as well since I usually rush to get things looking relatively right, then clean up later.

Latent note, I’ve tried to use images lightly on here, like on the logo, next to the navigation links, and next to the mini meters. Most of these I can probably sprite together later as well. Also intend to add some more indicative icons to the server status indicators to the left of each server in the quick controls.

Event more latent note, I have style sheet to somewhat re-arrange the website when the screen is less than a certain width, and I haven’t worked on the narrow layout (inclined to mobile), so it’ll look pretty goofy if the screen isn’t wide enough.

Despite being a “GUI” I would like to see console access, just to the server, not to the OS (Obviously), so that one can send console messages to the server patrons like “5 min to reboot” or “power went out here running on UPS 15 min on battery”

Just my 2 Canadian cents

1 Like

I’m sure I’ll get to that eventually. Haven’t even added the mechanism to switch pages yet, which I’m not sure if I’d rather do with PHP page contents or AJAX hot loading the pages. I just thought I’d start one what would likely be the most cluttered page XD

Can you add charts to the bootstrap theme. That would be great :smile:

Make a mechanism like mcmyadmin enterprize with vertical tabs. That would look awesome.

Thats not that problem. But currently we’re still discussing about the idea itself - Would we build something like this and if yes: How? There are multiple ways to build a webinterface. A wrapper is some of the best solutions. It was also mentioned here: http://issues.spongepowered.org/youtrack/issue/SPONGE-52

  • Morph

If you’re interested, @MCMatters, I’ve been working a bit on the panel still. Still non-functional, but a bit more fun to play with. It’s no longer on the dropbox however, I’ve moved it to my webserver. Can find it @ [redacted - no longer working on this]

  • Using a different jQuery plugin for the Dashboard gauges. You can now also interact with the mini meters at the bottom of the Dashboard. Click to set it’s fullness, which will automatically adjust the average displayed in the gauges.
  • Added a Javascript config (will replace later with PHP config for security I think)
  • Added the ‘About’ page, which is fairly straight forward and self-explanatory, although I may add an ‘Update’ button to it later.
  • Added the Console. Has some check boxes at the bottom to toggle certain things. Also want to add a filter later to only show messages with certain text in it.
  • For debugging purposes, you can click the send button on the Console to place a semi-random command into the Console
  • Click the ‘’ button to the left of the command bar to switch to Talk mode (ideally to conveniently send /say messages or some broadcast method handled by the plugin if available). You can also click send in Talk mode to place random Lipsum chunks into the Console
  • Added a small gif loading bar between page loads.
  • Added notice, alert, and error scripts. You can see a notice by clicking a link to a page that’s already loaded, and can see an error by clicking any of the links other than Dashboard, Console, & About. There are no alerts worked in at the moment.
  • Added license info in a comment and to the About page (MIT license, as per usual)
  • Also removed the mobile stylesheet for this. May re-add something later to allow a mobile design, but responsive designs are not my strong point. Usually don’t bother.

Other things I’m still trying to work on is adding functionality to the console window’s tabs. They don’t do anything but change colors at the moment. Also want to add context menus to the player list later to allow ban/kick/mute/jail, etc. Mute and jail can probably be dependent on Essentials if the plugin reports the plugin is installed. I may also re-arrange the navigation at some point, have that written on my white board. If all goes well and this gets much further, I may think about having a query only mode that the panel can use if it can’t connect to a server or the plugin isn’t available for extended queries. It also occurred to me that some things may not be possible without this being a wrapper (like MCMA), such as backups, log access, etc, unless there’s a way to do it via FTP protocols.

The whole of it is likely fairly buggy at the moment, but working on small bits at a time.

2 Likes

How much configuration opinions do you plan to add?? And why for multiple server? Will that even work via plugin? Or will you feed like this server1 -> main Server -> to Website?
(Since I really like this idea i want to know more)

It would work for multiple servers so long as they have JSONAPI installed. As far as config options, JSONAPI supports fetching and modifying files (albeit a bit exploitative if not handled carefully).

Otherwise, I’ve somewhat halted work on this. Gotta bit distracted by other projects. But for those who are willing, JSONAPI isn’t too hard to pick up if they wanted to do a web panel using it. If I pick back up on this, I’ll likely start over. Started feeling a bit cluttered at some point and disorganized code-wise.