Updated the first post and added current screenshots of the panel
I am thinking of throwing the top menu out and use only the one of the left side. What do you think about that idea?
Some new details:
The panelpaswords are hashed and salted for better security. Building rainbowtables to a flexible salt should consume pretty much time if an attacker gets his hand on the database.
You can define userpermissions for admin and useraccounts. Only useraccounts are allowed to have gameservers.
From the users perspective you will have following overview:
The user can set up his startmap, which gametype to run, if gameswitch is active, view the first 100 lines from the console for debugging and manage serveraddons. Of course he can stop/(re)start the server.
If you allow it he can start a process that matches custom files with his fastdownload space. With srcds servers the files will be uploaded as *.bz2.
There is no direct control of the things users can do from the rootadmin part. Instead you can switch to a user from parts like gameserverlist, userlist and so on. I did that to have less code. An example can be seen here:
All servers will be installed as gameswitch servers. If more than one servertype is installed for the same port the user can decide which game should run and switch between the games.
Servertools, addons and mappackages can be set up either for a servertype like srcds or for a specific game. That way there is not need to maintain a servertool like sourcemod for different games:
Combined with a cronjob there is a check for every x minutes, which checks for dead servers and restarts them if they are down. Of course deactivated servers/users will be left out at that check.
Checks for updates can be automated via cronjobs too. If you do not want to wait if an update comes out you can run the updates by hand:
For connecting the panel to rootservers you have the choice between passwords and keys: