SRCDS Steam group


Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
What does a GP need
#1
Since I am writing my own Game Panel for Linux based Servers at the moment. I would like to ask if you have any suggestions/ideas what needs to be implemented.

A not always up to date online demo can be found here: demo.easy-wi.com

The access data to the admin area from where you can switch to the user:
Quote:Username: admin
Password: demo123

Direkt userlogin:
Quote:Benutzername: user4
Passwort: demo123

Check whether a server is running in "protection mode" or not (ESL Stuff): demo.easy-wi.com/protectioncheck.php
You can test it with the IP “11.11.11.11:27015″.

In all areas except the ticketsystem the data won´t change if you add, delete or modify even if the panel tells you that it changed.

This is how it works:

The webpanel connects though an encrypted connection (ssh2) to the server and start my serverprogramm with parameters. The rest will be done by the serverprogramm. You can choose between keyfiles and password. But I would always prefere keyfiles.

I am working with symlinks and cause of that with only one masterinstall per root and gametype.
The customers/user have their own folders. But instead of original files they have symlinks to the masterserver. Only the files they upload and configs are real files.
-> saves traffic, hdd space and ram
-> shortens loading time if another server with same game is already running (restart/mapchange)
-> only one server per dedicated server needs to be updated

When a masterserver is installed, it first downloads an image from the imageserver, if available (configs, custom maps etc.)
And after that it runs the hlds updatetool. To get the rest from valve.
If you use a fast intranet packing the whole game into the image will save you bandwidth. If not you can minimize your traffik by getting the files from valve. But again: The Panel downloads a server only once per dedicated server.

Done and working:
- usermanagement
- loginsystem
- userpermissions
- addon/mappackage system
- templatesystem for Serverdeamons (used when a new server is installed)
- masterservercontrol
- masterserverupdating out of the panel
- gameserver on the dedicated boxes (Multiple installing with one click)
- usercontrol on the dedicated boxes
- user can start/stop/restart servers
- confirm dialog pops up on all critical/important actions (delete/change/and so on)
- usage of multiple ips per dedicated server.
- Fastdownload sync by hitting a button
- gameswitch
- multilingual support
- getting screenlogs and display them to the user for debugging
- User can set up time for auto restarting the server each day
- panel checks every x minutes if servers are online and if not restarts
- Auto restart possible if the server is not responding to Queries

In progress:
- warning if admin do no use proper security measures like disabeling direct root login
- gameserver status check with scripts that can be included in webpages
- showing total slotusage of the rootservers
- design (current icons are placeholders)

To do list:
- webftp
- possibility to move server from one dedi box to another
- backup funtion for user (can be stored local or external)
- user is allowed to resync/reinstall the server or use his backup
- imageserver which can be set up and managed via panel
- Resource usage graphs (include munin)
- kind of API to give external websides the possibility to add users/servers to the system with a key and ip check if the sending server is allowed

So what do you think. What is a must have?

Some Pictures:

Rootadmin (gameserver):
[Image: gserver1.jpg]
[Image: gserver2.jpg]

Rootadmin (masterserver):
[Image: master1.jpg]

Rootadmin (gameservertemplates):
[Image: template.jpg]

Rootadmin (dedicated server):
[Image: root1.jpg]

Rootadmin (usermanagement):
[Image: user1.jpg]
[Image: user2.jpg]

Rootadmin (gameserver management):
[Image: gserver1.jpg]
[Image: gserver2.jpg]

Rootadmin (addon management):
[Image: addons1.jpg]

The user Panel:
[Image: user_overview.jpg]
Interactive web based config creator for CS, CSS, TF2 and DODS
Creates server and client configs in an explained dialog.

You`ll also find precompiled debian gameserver kernels for download
Reply
#2
A way for clients to view their servers console live OR on server boot for debugging purposes.
Looking for a game server? Visit fullfrag.com and pick one up as low as $2.50 / mo!
Reply
#3
-> webftp + screenlog will give you the second and is already on my to do list
Interactive web based config creator for CS, CSS, TF2 and DODS
Creates server and client configs in an explained dialog.

You`ll also find precompiled debian gameserver kernels for download
Reply
#4
Also be sure to add game content updating. And scheduled updates for that. Also be sure to add SVN support.
Reply
#5
Updating and Installing was the first thing I coded since I am a real lazy guy Big Grin

The panel works that way:
If no masterserver is available on the dedi Box
- get gameimage from imagerserver (if you have intranet you can add the full game to the image if not just custom maps and so on)
- if it is a steam game get the rest from valve

If the masterserver is ready get the config image
copy the folders rekursiv to the new user and create symlinks instead of real files


Using symlinks I only need real 1 installation per root.
-> easier to update/upgrade
The serverside program has a paramter that can be used in combination with corn to achive that.
Also you can update the masters out of the panel. Just select the games and ips hit go wait a few seconds and you are done Wink
Interactive web based config creator for CS, CSS, TF2 and DODS
Creates server and client configs in an explained dialog.

You`ll also find precompiled debian gameserver kernels for download
Reply
#6
Some pictures. As you can see I am not a designer. exept the few buttons all is done in html/css

[Image: 649bced741.jpg]

[Image: 0ecf3c337e.jpg]

done so far:
- usermanagement
- userpermissions
- loginsystem
- templatesystem for Serverdeamons (used when a new server is installed)
- masterservercontrol
- masterserverupdating out of the panel
- gameserver on the dedicated boxes (Multiple installing with one click)
- usercontrol on the dedicated boxes
- user can start/stop/restart servers
- confirm dialog pops up on all critical/important actions (delete/change/and so on)

Currently in work:
- Fastdownload sync by hitting a button
- addon/mappackage system
- multilingual support
- gameswitch

Todo:
- many things Toungue

And yes I validate every single userinput Wink
Interactive web based config creator for CS, CSS, TF2 and DODS
Creates server and client configs in an explained dialog.

You`ll also find precompiled debian gameserver kernels for download
Reply
#7
Sexy.
Looking for a game server? Visit fullfrag.com and pick one up as low as $2.50 / mo!
Reply
#8
(12-14-2010, 03:59 AM)loopyman Wrote:  Sexy.

Thanks. Just what I wanted to hear!
Reply
#9
(12-14-2010, 04:07 AM)realchamp Wrote:  
(12-14-2010, 03:59 AM)loopyman Wrote:  Sexy.

Thanks. Just what I wanted to hear!

+1


And now for real:
Any suggestions/ideas what I am missing or haven´t seen so far?
Interactive web based config creator for CS, CSS, TF2 and DODS
Creates server and client configs in an explained dialog.

You`ll also find precompiled debian gameserver kernels for download
Reply
#10
That looks AWESOME! Keep up the good work, this is going to be wicked Smile
~ trewq
Reply
#11
Again, Sexy.
Reply
#12
(12-14-2010, 04:27 AM)Terrorkarotte Wrote:  
(12-14-2010, 04:07 AM)realchamp Wrote:  
(12-14-2010, 03:59 AM)loopyman Wrote:  Sexy.

Thanks. Just what I wanted to hear!

+1


And now for real:
Any suggestions/ideas what I am missing or haven´t seen so far?

Windows Support Smile

And Auto restart if the server is not responding to TCP or UDP Queries
Reply
#13
Resource usage graphs, ( RAM, Processor, Hard Disk, Bandwidth )
Looking for a game server? Visit fullfrag.com and pick one up as low as $2.50 / mo!
Reply
#14
Don't add Windows support (please?), instead focus on linux (open source = win).

Something with the total amount of players on the system at the moment.
Perhaps a kind of load-balancer-system?
Slå den med jeres fiberforbindelser...

[Image: 1308107839.png]
Reply
#15
(12-14-2010, 09:10 AM)Nisd Wrote:  Windows Support Smile
(12-14-2010, 05:27 PM)lol554 Wrote:  Don't add Windows support (please?), instead focus on linux (open source = win).

I make the connections from php to dedi boxes with SSH2 (You can use keys or passwords) and start a small programm. It uses encryption and should be pretty secure.
Setting up a ssh server on windows is possible and should be secure cause it uses SSL.

On the dedi box a start my programm like ./programm whattodo username (...)
The masteruser has limited root acces (add/mod/del user) accessed with sudo. No more priviliges requiered.
The Userservers contain folders and configs. All files that do not need to be changed by users are symlinks. That way I can save HDD, IO, Ram updating time. (Left 4 Dead 2 has ~ 1MB on user side)

If I want to add windows support there are some problems:
- I am a linux guy and never have worked with MS servers
-> how shall I write something for a system with that I am not very familar?
- MS products probabyl do not understand my serverprogramm (*nix language)
-> maybe I should rewrite my Serverprogramm in an crossplattform language like Python...
- I just found out windows allows such things like symlinks. But is there a way of making a rekursiv copy like "cp -sR /home/master/css/* /home/user/server/css"? If you get use to symlinks you do not want to miss them Wink


(12-14-2010, 09:10 AM)Nisd Wrote:  And Auto restart if the server is not responding to TCP or UDP Queries
(12-14-2010, 05:27 PM)lol554 Wrote:  Something with the total amount of players on the system at the moment.
Perhaps a kind of load-balancer-system?

I will make usage of "quakestats" on the webspace to query/check the gameserver (requires a linux webhost). With that I can get all information I need. In combination with a cronjob this can be used to auto restart servers and determin the total playerload per host.
You already can define a max usercount when adding a rootserver cause I had a warning sign in mind if the user adds more slots/playercount gets to high. Also I need that for the external server/usercreaton.
If a new "customer" wants a new server the first one gets picked where the total slotcount + new slots is lower than the set up maximum.
As a good admin you should know what you systems can stand and set up proper values.

(12-14-2010, 09:27 AM)loopyman Wrote:  Resource usage graphs, ( RAM, Processor, Hard Disk, Bandwidth )
Linux has a great monitoring tool: munin
I probably wont reinvent the wheel. If I find the time I will add that the external munin data will be displayed at the webinterface.
It looks like it is also possible to run it at windows: http://munin-monitoring.org/wiki/HowToMonitorWindows
Interactive web based config creator for CS, CSS, TF2 and DODS
Creates server and client configs in an explained dialog.

You`ll also find precompiled debian gameserver kernels for download
Reply


Forum Jump:


Users browsing this thread: 4 Guest(s)