Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Excerpt
hiddentrue

TCAdmin is a control panel for provisioning game and voice servers.


Table of Contents

Table of Contents
maxLevel4
minLevel2
outlinetrue
classtoc

Supported Features

CreateCancelSuspendUnsuspendManagementConfig Options
Status
colourGreen
titleYes
Status
colourGreen
titleYes
Status
colourGreen
titleYes
Status
colourGreen
titleYes
Status
colourRed
titleNO
Status
colourGreen
titleYes

Installing TCAdmin

  1. Visit [Settings] > [Company] > [Modules] > Available.
  2. Click the "Install" button within the TCAdmin module listing.

...

Enter your TCAdmin details.

Field NameDescription
Server LabelEnter the label for this server, it can be a friendly name.
HostnameEnter the Hostname to your TCAdmin server, e.g. tcadmin.yourdomain.com
User NameEnter the Username to your TCAdmin server, e.g. admin
PortEnter the Port to your TCAdmin server, e.g. 8880
Use SSL when connecting to the API (recommended)Check this option if using SSL. By default SSL is not enabled in TCAdmin.
PasswordEnter the Password to your TCAdmin server.

Configurable Options Overview

...

Info
titleMay be Required

Certain Configurable Options are required, but this list in no way limits the Configurable Options that can be created. Only the following Configurable Options can alter the way TCAdmin game or voice servers are provisioned.


Option NamePossible ValuesRecommended Field TypeDescription
game_slotsinteger >= 0Quantity, Dropdown

Determines how many slots will be assigned to the game server.

Note
titleGame Server Required

 This configurable option is required for game servers.


game_privateinteger = 0 or 1Dropdown

A value of 1 will make the game server private.

Note
titleGame Server Required

 This configurable option is required for game servers.


game_datacenterinteger >= 1Dropdown

The data center ID from TCAdmin. Can be obtained within TCAdmin under Data Centers, by observing the ID of the desired data center.

Note
titleGame Server Required

 This configurable option is required for game servers.


voice_slotsinteger >= 0Quantity, Dropdown

Determines how many slots will be assigned to the voice server.

Note
titleVoice Server Required

 This configurable option is required for voice servers.


voice_privateinteger = 0 or 1Dropdown

A value of 1 will make the voice server private.

Note
titleVoice Server Required

 This configurable option is required for voice servers.


voice_upload_quotainteger (in MB)Dropdown

Sets the upload quota.

Note
titleTeamspeak 3 Only

 This configurable option is only required for Teamspeak 3 Voice Servers.


voice_download_quotainteger (in MB)Dropdown

Sets the download quota.

Note
titleTeamspeak 3 Only

 This configurable option is only required for Teamspeak 3 Voice Servers.


voice_datacenterinteger >= 0Dropdown

The data center ID from TCAdmin. Can be obtained within TCAdmin under Data Centers, by observing the ID of the desired data center.

Note
titleVoice Server Required

 This configurable option is required for voice servers.


Creating Configurable Options

...

To create a Configurable Option Group, visit [Packages] > Options, and click the "Create Group" button.

Field NameDescription
NameEnter a name for this group.
DescriptionEnter a description for this group (optional).
Package Membership

Leave this section blank, we will add the options to the group when creating the options instead. If you have already created the options, you may add them to the group on this step.

After filling out these options, click the "Create Group" button to create the Option Group.

...

To create a Configurable Option, visit [Packages] > Options, and click the "Create Option" button.

Field NameDescription
LabelEnter a label, which will appear above or next to this form field.
NameEnter a name, which is the form field name. (Important! This should match an Option Name described above. The module requires specific naming.)
TypeSelect the field type from "Checkbox", "Radio", "Drop-down", and "Quantity".
Options SectionSet pricing information within the Options section. The fields required here may vary depending on the "Type" selected above.
Group Membership SectionAdd this Configurable Option to the previously created Option Group by moving the Group from the right to the left in the multi-select box.

After filling out these options, click the "Create Package Option" button to create the Option. Repeat as necessary to create all of the configurable options you wish to make available to the client during checkout.

...

The following are sample configurations for each of the supported configurable options listed above, and may serve as good examples for getting started.

Option NameSample Configuration Screenshot (Click for full size)
game_datacenter

Image Modified

game_slots

Image Modified

game_private

Image Modified

voice_datacenter

Image Modified

voice_slots

Image Modified

voice_private

Image Modified

voice_upload_quota

Image Modified

voice_download_quota

Image Modified

Creating Packages


Packages define the pricing, welcome email, module and more. Packages can be assigned to Package Groups, and added to Order Forms. To create a Package, visit [Packages] > Browse, and click the "Create Package" button.

...

The Basic section consists of the following options:

Field NameDescription
Package NameEnter the name of this Package, it will be visible wherever services are listed and on any order forms.
Status"Active" is the default, "Inactive", and "Restricted" are also available.
Quantity AvailableIf this Package has a limited quantity available, enter the quantity, or leave it as "Unlimited".
DescriptionEnter a Description for this Package. HTML is allowed, and descriptions appear on order forms.
Configurable OptionsA Configurable Option Group may be selected if previously created.
Module

Select "

Vultr

TCAdmin" for the module.

Module Options

The Module Options section consists of the following options, which are specific to TCAdmin:

Field NameDescription
Server GroupSelect "Any" unless you are running many TCAdmin master nodes and have added them to separate groups within the module.
ServerSelect your TCAdmin server.
Server TypeSelect "Game Server", or "Voice Server"
Supported Tcadmin ServersSelect the game or voice server to use for this Package.
Start after CreationSelect "Yes" to have the server start automatically after ordered and provisioned.
PrioritySet the priority this server will be given. "Normal", "Above Normal", "Below Normal", "High", "Idle", and "Real Time" are available options.
StartupSelect how startup should occur, "Automatic", "Manual", or "Disable".

Pricing

Field NameDescription
TermEnter the term for the desired pricing option. For example, if you wish to create a 3 month pricing option, enter 3 here.
PeriodSelect the period for this pricing option. "Day", "Week", "Month", "Year", and "One time" are options. The client will be invoiced every "term period", for example every 3 months if 3 is entered for term, and Month is selected for period.
CurrencySelect the currency this pricing option is available for.
PriceEnter the price for this pricing option.
Setup FeeIf there is a setup fee, enter it here.
Cancellation FeeIf there is a fee to cancel early, enter it here.

Click the "Add Additional Price" to add more pricing options. It's common for people to create 1 Month, 3 Month, 6 Month, and 1 Year price options. There are many possible combinations.

...

When creating or editing a package that uses this module, the following tags will be available:

TagsDescriptionNotes
{module.host_name}The host name for your TCAdmin Panele.g. "tcadmin.domain.com".
{module.port}The port number for your TCAdmin Panel

e.g. "8880"

{service.hostname}The hostname for the game server, provided by the client.e.g. "mycsgoserver.domain.com"
{service.rcon_password}The RCON password for the game server, provided by the client.
{service.private_password}The private password for the game server, provided by the client.
{service.user_name}The user name for TCAdmin panel access for the client.
{service.user_password}The password for TCAdmin panel access for the client.


Expand
titleAdditional Tags

Due to the nature of tag objects containing several fields, many of which are likely irrelevant for use in email templates, but may be useful to you in certain circumstances, a dump of the tags are shown below. 


Code Block
languagephp
titleThe {package} object
collapsetrue
stdClass Object
        (
            [id] => 8
            [id_format] => {num}
            [id_value] => 8
            [module_id] => 7
            [name] => Counter-Strike GO
            [description] => 
            [description_html] => 
            [qty] => 
            [module_row] => 3
            [module_group] => 
            [taxable] => 0
            [single_term] => 0
            [status] => active
            [company_id] => 1
            [prorata_day] => 
            [prorata_cutoff] => 
            [id_code] => 8
            [email_content] => Array
                (
                    [0] => stdClass Object
                        (
                            [lang] => en_us
                            [html] => <p>&nbsp;{module.host_name} {module.port} {package.supported_servers} {package.server_type} {package.start} {package.priority} {package.startup} {service.client_package_id} {service.hostname} {service.rcon_password} {service.private_password} {service.user_name} {service.user_password}</p>

<p>&nbsp;</p>

<p>{%debug%}</p>

                            [text] =>  {module.host_name} {module.port} {package.supported_servers} {package.server_type} {package.start} {package.priority} {package.startup} {service.client_package_id} {service.hostname} {service.rcon_password} {service.private_password} {service.user_name} {service.user_password}

{%debug%}
                        )

                )

            [pricing] => Array
                (
                    [0] => stdClass Object
                        (
                            [id] => 14
                            [pricing_id] => 19
                            [package_id] => 8
                            [term] => 1
                            [period] => month
                            [price] => 8.0000
                            [setup_fee] => 0.0000
                            [cancel_fee] => 0.0000
                            [currency] => USD
                        )

                )

            [meta] => stdClass Object
                (
                    [priority] => Normal
                    [server_type] => game
                    [start] => 1
                    [startup] => Automatic
                    [supported_servers] => 96
                )

            [groups] => Array
                (
                    [0] => stdClass Object
                        (
                            [id] => 5
                            [name] => Game Servers
                            [description] => 
                            [type] => standard
                            [company_id] => 1
                            [allow_upgrades] => 1
                        )

                )

            [option_groups] => Array
                (
                    [0] => stdClass Object
                        (
                            [id] => 2
                            [name] => TCAdmin Games
                            [description] => 
                        )

                )

            [priority] => Normal
            [server_type] => game
            [start] => 1
            [startup] => Automatic
            [supported_servers] => 96
        )


Code Block
languagephp
titleThe {service} object
collapsetrue
stdClass Object
        (
            [id] => 9
            [parent_service_id] => 
            [package_group_id] => 5
            [id_format] => {num}
            [id_value] => 9
            [pricing_id] => 14
            [client_id] => 1
            [module_row_id] => 3
            [coupon_id] => 
            [qty] => 1
            [override_price] => 
            [override_currency] => 
            [status] => active
            [date_added] => 2018-03-29 20:49:51
            [date_renews] => 2018-04-29 20:49:51
            [date_last_renewed] => 
            [date_suspended] => 
            [date_canceled] => 
            [id_code] => 9
            [fields] => Array
                (
                    [0] => stdClass Object
                        (
                            [key] => client_package_id
                            [value] => 1_ein0ctvkkg5yhw
                            [serialized] => 0
                            [encrypted] => 1
                        )

                    [1] => stdClass Object
                        (
                            [key] => hostname
                            [value] => csgo2.blesta.com
                            [serialized] => 0
                            [encrypted] => 1
                        )

                    [2] => stdClass Object
                        (
                            [key] => private_password
                            [value] => password45
                            [serialized] => 0
                            [encrypted] => 1
                        )

                    [3] => stdClass Object
                        (
                            [key] => rcon_password
                            [value] => password45
                            [serialized] => 0
                            [encrypted] => 1
                        )

                    [4] => stdClass Object
                        (
                            [key] => user_name
                            [value] => Username
                            [serialized] => 0
                            [encrypted] => 1
                        )

                    [5] => stdClass Object
                        (
                            [key] => user_password
                            [value] => #lh&7jjkf$&
                            [serialized] => 0
                            [encrypted] => 1
                        )

                )

            [package_pricing] => stdClass Object
                (
                    [id] => 14
                    [package_id] => 8
                    [pricing_id] => 19
                    [term] => 1
                    [period] => Month
                    [price] => 8.0000
                    [setup_fee] => 0.0000
                    [cancel_fee] => 0.0000
                    [currency] => USD
                )

            [package] => stdClass Object
                (
                    [id] => 8
                    [id_format] => {num}
                    [id_value] => 8
                    [module_id] => 7
                    [name] => Counter-Strike GO
                    [description] => 
                    [description_html] => 
                    [qty] => 
                    [module_row] => 3
                    [module_group] => 
                    [taxable] => 0
                    [single_term] => 0
                    [status] => active
                    [company_id] => 1
                    [prorata_day] => 
                    [prorata_cutoff] => 
                )

            [options] => Array
                (
                    [0] => stdClass Object
                        (
                            [id] => 5
                            [service_id] => 9
                            [option_pricing_id] => 2
                            [qty] => 8
                            [option_value] => 
                            [option_value_name] => Slots
                            [option_id] => 2
                            [option_label] => Game Slots
                            [option_name] => game_slots
                            [option_type] => quantity
                            [option_addable] => 1
                            [option_editable] => 1
                            [option_pricing_term] => 1
                            [option_pricing_period] => month
                            [option_pricing_price] => 0.2000
                            [option_pricing_setup_fee] => 0.0000
                            [option_pricing_currency] => USD
                        )

                    [1] => stdClass Object
                        (
                            [id] => 6
                            [service_id] => 9
                            [option_pricing_id] => 3
                            [qty] => 1
                            [option_value] => 0
                            [option_value_name] => Public
                            [option_id] => 3
                            [option_label] => Public or Private?
                            [option_name] => game_private
                            [option_type] => select
                            [option_addable] => 1
                            [option_editable] => 1
                            [option_pricing_term] => 1
                            [option_pricing_period] => month
                            [option_pricing_price] => 0.0000
                            [option_pricing_setup_fee] => 0.0000
                            [option_pricing_currency] => USD
                        )

                    [2] => stdClass Object
                        (
                            [id] => 7
                            [service_id] => 9
                            [option_pricing_id] => 5
                            [qty] => 1
                            [option_value] => 1
                            [option_value_name] => Tustin
                            [option_id] => 4
                            [option_label] => Data Center
                            [option_name] => game_datacenter
                            [option_type] => select
                            [option_addable] => 1
                            [option_editable] => 0
                            [option_pricing_term] => 1
                            [option_pricing_period] => month
                            [option_pricing_price] => 0.0000
                            [option_pricing_setup_fee] => 0.0000
                            [option_pricing_currency] => USD
                        )

                )

            [name] => csgo2.blesta.com
            [client_package_id] => 1_ein0ctvkkg5yhw
            [hostname] => csgo2.blesta.com
            [private_password] => password
            [rcon_password] => password
            [user_name] => Username
            [user_password] => #lh&jjkff$&
        )


...

The only thing left to do is to add this Package Group to an order form so clients may place orders for your Vultr TCAdmin servers. See Creating an Order Form for more details.


Errors

Q: I entered the details correctly within the module but when creating a Package, servers are not displayed. The module log shows "Object moved to".
A: The URL to your billingapi.aspx may be different. First check that your TCAdmin plan/license supports the API. The Community Edition does not have an API. If you are using that version, you will need to upgrade to a paid license. If your version does support the API, then you can try this: Edit /components/modules/tcadmin/api/tcadminapi.php and locate the following line:


Code Block
api/tcadminapi.php: $url .= $this->host_name . ":" . $this->port . "/billingapi.aspx";


Change it to:

Code Block
api/tcadminapi.php: $url .= $this->host_name . ":" . $this->port . "/Aspx/billingapi.aspx";