10-25-2012, 07:27 PM
(This post was last modified: 10-25-2012, 07:31 PM by Svenskunganka.)
Hello.
For a few weeks ago, I got this awesome idea that I should create my own Server Control Panel. I then began some tests to see if my idea really would work, and so far, everything went as planned.
Some questions you might want an answer to:
Q. What language will it be written in?
A: I will write it in PHP using phpseclib to send SSH commands to the server. It will use MySQL as it's back-end database.
Q: Have you started coding it?
A: Yes! I am constantly working on this!
Q: Will it be free?
A: YES! It will be completely free and Open Source! You will be able to add as many dedicated servers you want to the panel with no limits at all. Reason? I love Open Source!
Q: Which OS will it support?
A: It will support all Unix based systems aswell as Windows. Windows systems require Cygwin to be installed and correctly set up.
Q: Why not make it in ASP.NET?
A: I have no knowledge in ASP whatsoever. I know that ASP is the most common way of doing it but this way it's both fast, simple and secure. The base code will only need a few fuctions. It's the GUI that's going to be the big code.
Q: Do you have any name for the panel?
A: Not yet. Any suggestions?
Some ideas and features
1. Automation - Once your PayPal API gets confirmation, the control panel will send out the command to your desired dedicated server (see Server Load Configuration) to start downloading or copy the new server files. Once done, the server will be added to the Control Panel and is ready for use!
2. Automatic Mail Response - Once the server is ready, it will send the link, user credentials, server details and ftp details to the customers entered mail.
3. Start/Stop/Restart - The Panel sends a command to the server to start the server. The control panel sends a command to the server to kill the PID of the server.
4. Customize Command Line - Allowing users to customize the command line. Hidden command line options will be available. (Technically, commands the customers can't change, like max players. Any commands here will override the customers command line)
5. Sub-Users - This feature will allow users to add sub-users for their servers Admins or Devs.
6. Multiple Servers - Add or edit your Dedicated Servers inside the Control Panel. When your company needs more dedicated servers, simply purchase a new one from your desired Hosting Provider and add it to the control panel! You don't need to install anything on the server as long as it supports SSH (Secure Shell).
7. Server Load Configurations - Setup the desired max servers you want each Dedicated Server to have. If the Dedicated Server has reached the max amount of servers it can hold without being overloaded, the panel will automatically install the server to another Dedicated Server.
8. Server Moval - If your customer wants to move the server to another Dedicated Server, if you enable this feature for normal users, he can simply move it by pressing one button and it will transfer over FTP. (I have to look into this before trying to implement it!)
9. Setup Queuing - If you got multiple new customers that is pending server setup, the control panel will add the last customer to a queue to prevent server load. Of course, if the setups are for diffrent servers, the setup will not queue. You can toggle this feature on/off.
10. Commandline Suggester - This feature will suggest command line arguments for the user depending on what type of server he has.
11. Server Load Monitor - If a game server uses up more than 90% CPU during an X period of time, the server will be shut down and Customer plus Server Owner will be informed via e-mail. You can toggle this feature on/off. (Unix based systems only)
12. Real-Time Dedicated Server Monitoring - Monitor the CPU, RAM and Disk usage of a dedicated server in real-time. Auto-Refresh will be an option. More detailed version will be available where you can monitor how much CPU and RAM usage each game server uses. (Unix based systems only)
13. Custom Game Server Templates - If you miss a game server, you can create your own game server template in the Control Panel. Note: All custom server templates will automatically be sent to us and reviewed by our dev team. We will then test it and if it works, we will add it to the official panel with credits to the author of course!
Note: These are just ideas of mine which I really would like to implement into the panel. Not all of them might happen though.
Alot more to come!
Any help/support is appreciated and welcome!
Also, stay tuned for release.
CURRENT STATUS: WORKING;
I've come up with a temporary fix for the issue of the phpseclib. Before I release this control panel, I am gonna have to dig into this a little more.
Base codes - 1%
GUI - 0%
Database - 40%
Issues ran into, sorted: Latest to Oldest
Best Regards,
Tom.
For a few weeks ago, I got this awesome idea that I should create my own Server Control Panel. I then began some tests to see if my idea really would work, and so far, everything went as planned.
Some questions you might want an answer to:
Q. What language will it be written in?
A: I will write it in PHP using phpseclib to send SSH commands to the server. It will use MySQL as it's back-end database.
Q: Have you started coding it?
A: Yes! I am constantly working on this!
Q: Will it be free?
A: YES! It will be completely free and Open Source! You will be able to add as many dedicated servers you want to the panel with no limits at all. Reason? I love Open Source!
Q: Which OS will it support?
A: It will support all Unix based systems aswell as Windows. Windows systems require Cygwin to be installed and correctly set up.
Q: Why not make it in ASP.NET?
A: I have no knowledge in ASP whatsoever. I know that ASP is the most common way of doing it but this way it's both fast, simple and secure. The base code will only need a few fuctions. It's the GUI that's going to be the big code.
Q: Do you have any name for the panel?
A: Not yet. Any suggestions?
Some ideas and features
1. Automation - Once your PayPal API gets confirmation, the control panel will send out the command to your desired dedicated server (see Server Load Configuration) to start downloading or copy the new server files. Once done, the server will be added to the Control Panel and is ready for use!
2. Automatic Mail Response - Once the server is ready, it will send the link, user credentials, server details and ftp details to the customers entered mail.
3. Start/Stop/Restart - The Panel sends a command to the server to start the server. The control panel sends a command to the server to kill the PID of the server.
4. Customize Command Line - Allowing users to customize the command line. Hidden command line options will be available. (Technically, commands the customers can't change, like max players. Any commands here will override the customers command line)
5. Sub-Users - This feature will allow users to add sub-users for their servers Admins or Devs.
6. Multiple Servers - Add or edit your Dedicated Servers inside the Control Panel. When your company needs more dedicated servers, simply purchase a new one from your desired Hosting Provider and add it to the control panel! You don't need to install anything on the server as long as it supports SSH (Secure Shell).
7. Server Load Configurations - Setup the desired max servers you want each Dedicated Server to have. If the Dedicated Server has reached the max amount of servers it can hold without being overloaded, the panel will automatically install the server to another Dedicated Server.
8. Server Moval - If your customer wants to move the server to another Dedicated Server, if you enable this feature for normal users, he can simply move it by pressing one button and it will transfer over FTP. (I have to look into this before trying to implement it!)
9. Setup Queuing - If you got multiple new customers that is pending server setup, the control panel will add the last customer to a queue to prevent server load. Of course, if the setups are for diffrent servers, the setup will not queue. You can toggle this feature on/off.
10. Commandline Suggester - This feature will suggest command line arguments for the user depending on what type of server he has.
11. Server Load Monitor - If a game server uses up more than 90% CPU during an X period of time, the server will be shut down and Customer plus Server Owner will be informed via e-mail. You can toggle this feature on/off. (Unix based systems only)
12. Real-Time Dedicated Server Monitoring - Monitor the CPU, RAM and Disk usage of a dedicated server in real-time. Auto-Refresh will be an option. More detailed version will be available where you can monitor how much CPU and RAM usage each game server uses. (Unix based systems only)
13. Custom Game Server Templates - If you miss a game server, you can create your own game server template in the Control Panel. Note: All custom server templates will automatically be sent to us and reviewed by our dev team. We will then test it and if it works, we will add it to the official panel with credits to the author of course!
Note: These are just ideas of mine which I really would like to implement into the panel. Not all of them might happen though.
Alot more to come!
Any help/support is appreciated and welcome!
Also, stay tuned for release.
CURRENT STATUS: WORKING;
I've come up with a temporary fix for the issue of the phpseclib. Before I release this control panel, I am gonna have to dig into this a little more.
Base codes - 1%
GUI - 0%
Database - 40%
Issues ran into, sorted: Latest to Oldest
Quote:25th October 2012 - Had some issues with the phpsecure lib. Basically, when issuing the command to download the game server files using hldsupdatetool, the page would just continiue loading until it finally exceeded FastCGI's timeout setting. The fix for this was changing the timeout for the FastCGI to 60 minutes.
Best Regards,
Tom.