Jump to content

RevCloud - New Game/Voice Cloud based project [Feedback needed]


revhosting

Recommended Posts

Hi all

 

What i'm going to show you here is my last project on WHMCS. It's not the most complicated i have ever made but for sure it's the most complete. In fact it's not only a personal project but also a thing that i'm going to use for my own business (Game Service Provider). Let's start with the basis. I should refer to this project as a "WHMCS Module" but it's so full of features and extensive that i prefer to call it with its ugly temporary name: RevCloud. RevCloud comes with:

 

  • Server Module
  • Addon Module
  • Action Hooks
  • Dedicated API Interface
  • Dedicated Pricing System
  • Dedicated System Monitor
  • Front-end Interface
  • Worldwide Monitoring Service

RevCloud allows you to resell gameservers and voiceservers in a brand new way: Cloud, Pay As You Go, Real Time Billing System, Fully Automated and integrated into WHMCS. Now probably most of you are thinking "Oh dear not another one Cloudy thing. I'm not a Game Service Provider and i'm not in this business so i don't care of these stuff" but don't be so hasty :-P RevCloud in fact can work in 4 different modes each one is suited for 4 different targets:

 

  • Provider [requirements: WHMCS, TCAdmin] - You are a Game Service Provider, you are already selling services and have your own server infrastructure. You just want to sell services based on one single package that your clients can use to create all game and voice services they want
  • Reseller - You want to become a Game Service Provider or you want to expand your product line to offer complementary products or services to your clients without worrying about the technical aspect (servers, configuration, updates, maintenance...). An installation of WHMCS is not necessary. If you are using a custom Billing/Management System you can still use RevCloud thanks to its Dedicated API Interface
  • Client - You want to freely create, delete, update and manage game/voice services for you and your friends in real time and you only want to pay for what you are using
  • Client (Trial) - You want to test the service with no one single "Sorry this feature is not available for trials"

All these modes support parent-child architecture so if you are a Provider you can have Resellers, Clients and Trials and if you are a Reseller you can have Clients and Trials. Installation is really, really easy! Just take a look at this screenshot. One module 4 ways.

 

revcloud-installationtypes.png

 

Preamble

Selling gameservers and voiceservers it's not less complicated than selling web hosting. Yeah, web hosting could be really tricky but it's full of all-in-one solutions on all levels (e.g. cPanel, Plesk, DA, XAMP...). For game and voice services most of times there aren't standard solutions in particular for gameservers where every single game title is, generally, a separate matter. Most important prices are poorly managed especially compared to this cloud era. Now i'm going to explain you what RevCloud can do.

 

Please notice that even if in all screenshots you can see text in Italian language, every single part of RevCloud already supports multi-language in both front-end and back-end pages.

 

Real example

Your client visits your website and instead of placing an order for a Counter Strike gameserver with a fixed configuration (e.g. 10 slots, public, 1 month) and another one for a Teamspeak 3 with 90 slots, he simply registers on your WHMCS (or anything else you use) to upload credit in his account. That's it. Now he can freely create, update and delete all gameservers and voiceservers he wants in all locations and servers you support. Every single minute RevCloud automatically checks the status of all his services and stores results. At the end of the day RevCloud will group all these checks into a single record that contains informations like average of slots used, cpu, ram, network, public/private, running/stopped and more. This is an example result that your client could see in the dedicated page.

 

revcloud-front-end.png

 

An updated screenshot:

revcloud-sample-provider.png

 

From this page your clients can always verify how much they're spending for their services. Of course you can decide to hide some particular columns from a simple interface you have in the backend and since all front-end pages are .tpl files, you can easily customize their appearance. In the above example you can see that on 27/08/2013 the client was running 2 gameservers whose cost was 1.1 euro (0.35 + 0.75). Let's suppose that he had 50.00 euro of credit in his account. Now he have 48.9 euro (50.00 - 1.1) because the module automatically "bleeds" money from his credit balance.

 

Pricing configuration

First take a look at the screenshots:

 

You can set a price per slot for every game and voice service. You can also decide to charge an extra fee for public services. Anyway probably the coolest option is about "stopped" services. A stopped service could be for example a Counter Strike gameserver that it's not running (not online) but that exists in a server. You can decide to charge less (cloud-style), more or nothing for it. As it wasn't enough you can also decide to apply extra fees to services that are using cpu, ram or bandwidth higher than the normal. To make your life easier i made a "Computing Load Factor" which combines more aspects (cpu, ram and bandwitdh usage) into a single number.

 

Settings

Here are screenshots of some portions of the settings:

 

 

Other features

  • There's an option in RevCloud that, when enabled, periodically sends statistical details about your services. We collect this data to create a database that every provider can use for example to understand how much resource a service will normally use or its market-costs. Also there will be a page like this one that clients can visit to easily find a Provider.
  • Service specialization. Let say that a client prevalently sells Call Of Duty 4 services that cost him 0.8 euro / month per slot. He can purchase a one-time or recurring "Specialization" for Call Of Duty 4 to get a discount.
  • "Like a boss" option. If a client has no credit and he has purchased this option, the system allows him to have a negative credit balance without suspending his accounts and related services. Of course if he reach a certain limit he will be suspended (you can define this limit)

 

Final notes

I opened this thread because i'd really want to receive suggestions and feedbacks about this system especially from Game Service Provider. I'm willing to add more many features so please share your experience.

 

Suggestions added to the to do list

  • Raizio - Possibility to schedule the creation, suspension, unsuspension and termination of services instead of immediately process them to avoid high loads on servers. Clients can also purchase a "Priority service" if they want immediate processing of their requests.
  • Raizio - Smart way to detect overloaded servers to avoid the creation of additional services. Possibility to customize escalation rules.

Link to comment
Share on other sites

I have a question and a few suggestions.

How well does it keep track of the load balancing or is that still done by TCAdmin?

 

Is it possibly to put up a limit as to how often someone is allowed to put up a server per day? Don't want people trying out all games in one day, if multiple people do that, it can be fairly messy.

 

Is it possible to 'prune' servers that have been down for a few days, warning the clients of this?

 

Is it possible to deny requests incase the servers are in someway overloaded by the many creation requests? Say, If server is low on disk space or low on RAM availability, the system can notify the client of this?

 

Otherwise I am really interested in this. It sounds like a great idea, turning it into a prepaid thing instead of subscription..Although for some gamehosting providers this might be a less reliable way of income.

Link to comment
Share on other sites

I have a question and a few suggestions.

How well does it keep track of the load balancing or is that still done by TCAdmin?

Cpu, ram and bandwidth stats comes from TCAdmin.

 

Is it possibly to put up a limit as to how often someone is allowed to put up a server per day? Don't want people trying out all games in one day, if multiple people do that, it can be fairly messy.

Is it possible to deny requests incase the servers are in someway overloaded by the many creation requests? Say, If server is low on disk space or low on RAM availability, the system can notify the client of this?

 

Good point and smart suggestions. You gave me a big idea. I'm going to add an option where you can choose how to perform all module actions (create, suspend, unsuspend, terminate). You could decide for example to use the following configuration:

  • Create: every 5 minutes
  • Terminate: every 2 minutes
  • Suspend: immediately
  • Unsuspend: immediately

It means that while suspend/unsuspend action are immediate, for create and terminate there will be a list of pending requests. Older requests will be processed first. I'll also add an optional service that clients can purchase - let's call it "Priority service" - A client with this option will always have the maximum priority even if his request are more recent. The only problem is that to accomplish this i have to move the entire provisioning process inside RevCloud and disable the one on TCAdmin. Without it clients could be still able to skip all RevCloud-side controls by simply creating their services directly on TCAdmin. Anyway it's not so complicated. It should be quite easy. Added to my to do list.

 

Is it possible to 'prune' servers that have been down for a few days, warning the clients of this?

Yes but can you explain me when/why you would use this function?

 

Otherwise I am really interested in this. It sounds like a great idea, turning it into a prepaid thing instead of subscription..Although for some gamehosting providers this might be a less reliable way of income.

Yep, it's the risk of using a "pay per use" model but i'm very optimistic about it because it's working great with cloud stuff.

Link to comment
Share on other sites

  • 3 weeks later...

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. Terms of Use