Frequently Asked Questions

From TCAdmin 2.0 Documentation

Contents

General

There are no game servers available on the selected server

TCAdmin does not include dedicated game files. STEAM based games are freely available for download via STEAM. TCAdmin generates download scripts for steam games. You can find the scripts in C:\TCAFiles\Games or /home/tcadmin/tcafiles/games.

Some games have free downloadable dedicated server files for them, others will require you to install the game to your computer, zip or compress the game directory, and upload the files to your server. You must place the game's files in its sub directory in C:\TCAFiles\Games or /home/tcadmin/tcafiles/games.

Default Ports Used by TCAdmin

Windows

Web/Monitor
8880, 8881 TCP
FTP
8821 TCP
FTP Passive Mode
5000 to 5100 TCP

Linux

Web
8880, 8881 TCP
Monitor
8890, 8891 TCP
FTP
8821 TCP
FTP Passive Mode
5000 to 5100 TCP

Supported Compression Formats

See Compression

Limit a game/voice server's disk space

Follow the instructions in this article: Limit_Service's_Disk_Space

DELETE the default game data

Execute these commands on your database if you want toDELETE all the game configurations installed by default. Remember to make a backup of your database in case something goes wrong.

DELETE FROM tc_games;
DELETE FROM tc_game_paths;
DELETE FROM tc_game_general_config;
DELETE FROM tc_game_ports;
DELETE FROM tc_game_cmdlines;
DELETE FROM tc_game_punkbuster_config;
DELETE FROM tc_game_query_monitoring;
DELETE FROM tc_game_mail_templates;
DELETE FROM tc_game_steam_config;
DELETE FROM tc_game_identity;
DELETE FROM tc_game_config_files;
DELETE FROM tc_game_scripts;
DELETE FROM tc_game_templates;
DELETE FROM tc_game_permissions;
DELETE FROM tc_game_variables_config;
DELETE FROM tc_custom_variables;
DELETE FROM tc_dynamic_forms;
DELETE FROM tc_dynamic_form_items;
DELETE FROM tc_game_tracker_config;
DELETE FROM tc_game_mods;
DELETE FROM tc_game_updates;
DELETE FROM tc_game_map_packs;
DELETE FROM tc_game_text_console;
DELETE FROM tc_game_web_console;
DELETE FROM tc_game_fast_download;
DELETE FROM tc_game_bukkit_config;
DELETE FROM tc_game_links;

Game Configuration

Why do Linux Game Details Show Less Options

Game servers that run on both Windows and Linux usually always have the same configuration. Only the executable name changes. To avoid duplicate configurations the Windows version of the config has been configured to be a template for the Linux config. If you want to make specific changes to the Linux version select the Templates tab and clear the template feature.

Follow these steps to remove the windows dependencies:

  • Select the Linux game. Click on Export and save the file.
  • Go to the templates tab. Clear the template for each section and save.
  • Go back to the games list. Click on Import.
  • Select "Overwrite existing game".
  • Select the Linux game you are updating.
  • Select the config file that you downloaded.
  • Click on Import.

Disable Text Editor for a Single File

  1. Go to General Settings > Games
  2. Select the game's details and select the File System Permissions icon.
  3. Expand subadmin, reseller or user.
  4. Click on "Add permission by file name".
  5. Enter the file name that you want to block.
  6. Select "No permissions".
  7. Click on the Add button.
  8. Click on the Save button.

You can also use "Add permission by file path". The difference is that this option will only block the file in the specified path. You can have files with the same name in other folders and they will not be blocked. "Add permission by file name" blocks a file with that name in any folder.

Allow Access to *.jar, *.dll and *.so

WARNING: Services run as a guest account by default but this is still a security risk.

  1. Go to General Settings > Games
  2. Select the game. If you are running Linux you will have to select the Windows version of the game. For more information see Why do Linux Game Details Show Less Options
  3. Select the File System Permissions icon.
  4. Expand subadmin, reseller or user.
  5. Expand "Add permission by file name" and select the permission.
  6. Remove *.jar, *.dll or *.so from the list.
  7. Click on the Update button.
  8. Click on the Save button.

Configure Mods

Each mod installation is different depending on the game. We can only give you an overview of what you might need to do when configuring a mod in TCAdmin. Read the Mod Configuration Page for details.

Limit Resource Usage of a Service

You can use the game's query monitoring to create rules that check a service's CPU, memory and bandwidth. Read the Query Monitoring Rule Configuration for more information.

Allow the user to modify the command line directly

  • Go to Settings > Games > Variables. Create a variable named FullCommandLine. In the variable options configure it as a command line parameter and set the type to text.
  • Go back to the game's main settings. Select the Commandlines tab. Add a predefined command line named "Custom". If the game's slots, IP and port are configured in the command line it is recommended that you specify those variables so the user can't change them. For example:
-console -game cstrike -condebug +maxplayers $[Service.Slots] +ip $[Service.IpAddress] -port $[Service.GamePort] ![FullCommandLine]
  • When the user selects the game server and clicks on Commandline Manager he will see the "Custom" command line. Select it and it will ask for the rest of the command line.

Windows FAQ

Configure the TCAdmin website to run with IIS

** THIS IS NOT OFFICIALLY SUPPORTED **

  1. Install IIS with support for ASP.NET 3.5
  2. Add TCAWeb to the IIS_IUSRS group.
  3. Manually create the website in IIS Manager with its web root pointing to Program Files\TCAdmin2\ControlPanel. The website's application pool should be "Classic .NET AppPool".
  4. In IIS Manager select the website, click on Binding then on Connect as... Enter the user and password of the Windows user that runs your website. Make sure the user that runs your website has full permissions on the ControlPanel, Cache, Temp, Logs and Database folders and read permissions on Monitor\Shared. If you want to use TCAWeb attach TCAdmin2\Monitor\TCAWeb.config to a support ticket and we will send you the decrypted password.
  5. (optional) Execute this command on your database to disable the built in web server.
    DELETE FROM tc_server_enabled_components  WHERE module_id = '07405876-e8c2-4b24-a774-4ef57f596384' AND component_id = 2 AND server_id = 1;
    If you ever need to enable the built in web server again execute this command.
    INSERT INTO tc_server_enabled_components (module_id, component_id, server_id) VALUES ('07405876-e8c2-4b24-a774-4ef57f596384', 2, 1);
  1. Disable Output Caching. Some clients have been reporting that users are randomly logged in as other users. This is caused by IIS cache. Run IIS Manager. Select your website. Double click on "Output Caching". On the right side under Actions, click on Edit Feature Settings. Uncheck Enable Cache and Enable kernel cache. Click OK.

Configuring your IIS website with more than 1 worker process

  1. Disable the built in web server with the instructions above.
  2. Go to Start > Administrative Tools > Services. Start the ASP.NET state service and set the startup to Automatic.
  3. Use this tool to generate an ASP.NET 2.0 Machine Key. http://www.developerfusion.com/tools/generatemachinekey/
  4. Edit your TCAdmin2\ControlPanel\Web.config. Replace the following line with the value generated in the previous step.
    <machineKey validation="AES" decryption="AES" decryptionKey="AutoGenerate" validationKey="AutoGenerate" />
  5. Edit your TCAdmin2\ControlPanel\Web.config. Replace
    <sessionState timeout="30"/>
    with
    <sessionState mode="StateServer" stateConnectionString="tcpip=localhost:42424" cookieless="false" timeout="30" />
  6. Edit your TCAdmin2\ControlPanel\Web.config. Replace
    <add key="TCAdmin.Web.SaveViewStateToDisk" value="True" />
    with
    <add key="TCAdmin.Web.SaveViewStateToDisk" value="False" />
  7. Open IIS Manager. Select the advanced properties of the Classic .NET Application pool and increase the number of worker processes.

Use custom SSL certificate (Windows)

  1. Install the certificate in Windows. http://www.databasemart.com/howto/SQLoverssl/How_To_Import_Personal_Certificate_With_MMC.aspx
  2. Go to Start > Programs > TCAdmin 2 > Configuration Utility.
  3. Click on next until you get to the IP and port settings.
  4. Check the option to use a custom certificate and select it from the list.
  5. Click on next until the monitor is restarted.

Linux FAQ

Configure the website on port 80

By default, the TCAdmin website user runs with a normal account. Normal users can't open ports lower than 1024. To work around this you have to redirect port 80 to 8880 using iptables.

iptables -A PREROUTING -t nat -p tcp --dport 80 -j REDIRECT --to-port 8880

If your server has more than one IP and you only want to redirect on one of the IPs you can use this command. Replace 1.2.3.4 with your server's IP.

iptables -A PREROUTING -t nat -p tcp --dport 80 -d 1.2.3.4 -j REDIRECT --to-port 8880

Save your settings (CentOS)

service iptables save

Save your settings (Debian/Ubuntu)

iptables-save

You can do the same for the ftp port: Redirect 21 to 8821

Enable HTTPS for the control panel website

Add this line to /home/tcadmin/Monitor/tcadmin-config and open the port in your firewall.

SECURE_WEB_PORT="8881"

Then restart the monitor service.

/home/tcadmin/Monitor/monitor-service restart

Use custom SSL certificate (Linux)

Note: The information bellow is outdated. To use a custom certificate it is recommended that you Configure_the_TCAdmin_website_to_run_with_Nginx

Only GeoTrust certificates have been confirmed to work correctly without showing a security warning in the browser. Comodo certificates show a warning in Chrome.

Specify the certificate file and private key file (.pvk) in /home/tcadmin/Monitor/tcadmin-config. Make sure the tcadmin user can read these files.

CERT_FILE="your-cert.cer"
PK_FILE="your-key.pvk"

Make sure tcadmin owns the .cer and .pvk files.

If you have a .key you can covert it to .pvk with this tool: http://www.drh-consultancy.demon.co.uk/pvktool.zip

pvk.exe -topvk -nocrypt -in your.key -out your.pvk

If you are having problems with your custom certificate or if the .cer or .pvk have changed you can unregister the certificate and restart the monitor so it gets registered again.

/opt/mono-2.10.8/bin/httpcfg -del -port 8881
su tcadmin
/opt/mono-2.10.8/bin/httpcfg -del -port 8881
exit
cd /home/tcadmin/Monitor
./monitor-service restart

Configure the TCAdmin website to run with Nginx

Follow these instructions: Configure_the_TCAdmin_website_to_run_with_Nginx

Some/all files not visible in FTP or file manager

By default TCAdmin protects files with execute permissions. Only files that require it should have execute permissions. For example source games only need srcds_run and srcds_linux with execute permissions.

You can remove execute permissions on a single file with this command:

chmod -x /path/to/file

You can remove execute permissions for all files with a specific extension using this command:

find /path/to/game/server/root -type f -name '*.cfg' -exec chmod -x {} \;

To fix this on all new game servers update the permissions in /home/tcadmin/tcafiles/games/gamefolder

Another option is to set the value of RestrictLinuxExe to False in the server's Override.config. If you do this it is recommended that you use the game's File System Permissions to hide important files like the startup script and main binary.

Limit CPU usage with the cpulimit command

  • Install cpulimit.
  • Create a custom script for the game's after started event with this command. Change 25 with the maximum CPU allowed (100 means 100% of one core, 200 means 100% of 2 cores, etc).
cpulimit --limit=25 --include-children --pid=${ThisService_Pid} > /dev/null  2>&1 &
  • Go back to the game's settings and click on Update Existing Services.