melia icon indicating copy to clipboard operation
melia copied to clipboard

Create GUI Host Application

Open exectails opened this issue 1 year ago • 3 comments

As some users aren't fond of a series of console windows cluttering their screens, it might be beneficial to create a host application that can run and hide the windows in the background for these users. This could be accomplished by simply running the server applications hidden and redirecting their standard output to be able to show the servers' log output somewhere in the GUI.

In addition to hiding the consoles, this application could also provide some QoL features in the future, such as an account creator, authority setter, server (re)start/stop options, access to the future web API, etc.

Since this application isn't going to be part of the core, and depending on the implementation might also not work on all operating systems, it would probably make sense to create a dedicated project/repo for it.

exectails avatar May 23 '23 10:05 exectails

Alternative idea: We could make this application a "server manager" with a web interface. From there, you would be able to spin up the servers and control them, and it would work on all platforms. It could also be capable of connecting multiple machines to launch zones on different systems as needed.

I don't believe that this should necessarily be the default option, but it could work really well for people who dislike the console or have more advanced requirements than "launch five applications and be done with it".

exectails avatar May 31 '23 07:05 exectails

#245 is the reference for this.

Some suggestion done by @Voudi

  • Adjusting basic server settings ('meta settings' like droprate or exp modification)
  • GM settings (player list and commands as buttons like warp, mute, freeze, kill)
  • Map settings (setting up spawn points, spawn zones/waymarks/surprise attacks, warps)
  • Mob settings (altering mobs hp, skills, respawn time)
  • Exporting/Importing settings to other clients

Suggestions done by @kenedos

  • Total silver in server (good to track server economy and manage money sinks)
  • Kick all players from a map (good to perform maintenances or events)
  • Rollback server to X snapshot (requires rollback system tho)
  • Give certain item to all players (events, prizes, etc)
  • See inventory of player (catch cheaters, etc)
  • Graphs, like online players, most played classes, avg lvl of players, etc (overall management)

My plan for the future:

  • Broadcast message (send message to all players)
  • Send mail (select item/items and the target player/player to receive a post box mail.
  • Restore database backup
  • Inspect inventories (from players including warehouse)

Don't forget that the main point of this issue was to have a server manager though^^

exectails avatar Jul 19 '23 07:07 exectails