Difference between revisions of "Custom Scripts"

Line 6: Line 6:
  
 
You can specify if you want to run your script on Windows servers, Linux servers, or both.
 
You can specify if you want to run your script on Windows servers, Linux servers, or both.
 
All scripts have the '''TCAdminFolder''' variable. The value is the TCAdmin installation folder.
 
 
To print messages to the console or web console from an Iron Python script use:
 
Script.WriteToConsole("Hello World");
 
  
 
The following events are supported:
 
The following events are supported:
Line 78: Line 73:
 
* [[Server_Components#Start.2FStop_in_Console_Mode|Start]] the Monitor or Service Manager console depending on the script's event.
 
* [[Server_Components#Start.2FStop_in_Console_Mode|Start]] the Monitor or Service Manager console depending on the script's event.
 
* When the script is executed the console will show the output of the batch/shell script or any iron python error.
 
* When the script is executed the console will show the output of the batch/shell script or any iron python error.
 +
 +
=== How To... ===
 +
; print messages from an Iron Python script
 +
: Use the "Script.WriteToConsole" function:
 +
Script.WriteToConsole("Hello World");
 +
 +
; Only show the output of the commands a Window batch script.
 +
: Add "@echo off" to the start of your script.
 +
 +
; Get the TCAdmin installation folder
 +
: Use the TCAdminFolder variable.
 +
: Windows batch script: %TCAdminFolder%
 +
: Linux shell script: ${TCAdminFolder}
 +
: Iron Python: TCAdminFolder

Revision as of 19:17, 10 January 2013

TCAdmin supports the following scripting engines:

  • Iron Python
  • Batch/Shell script Object properties and variables are converted to environment variables.
    • Use Linux environment variables like this: ${Object_Property}
    • Use Windows environment variables like this: %Object_Property%

You can specify if you want to run your script on Windows servers, Linux servers, or both.

The following events are supported:

Before created
Occurs before any files and folders have been created.
Available objects: ThisServer, ThisGame, ThisUser, ThisService
After created
Occurs after the service files have been created but before it has been configured as a service. The script is executed in the service's root directory.
Available objects: ThisServer, ThisGame, ThisUser, ThisService
Before deleted
Occurs before the delete process is started. The script is executed in the service's root directory.
Available objects: ThisServer, ThisGame, ThisUser, ThisService
After deleted
Occurs after the service files have been deleted and it has been removed from the database.
Available objects: ThisServer, ThisGame, ThisUser, ThisService
Before reinstall
Occurs before the service files have been deleted. The script is executed in the service's root directory.
Available objects: ThisServer, ThisGame, ThisUser, ThisService
After reinstall
Occurs after the service has been reinstalled but before it has been configured as a service. The script is executed in the service's root directory.
Available objects: ThisServer, ThisGame, ThisUser, ThisService
Before move
Occurs before the service has been moved. It is executed on the server where the service is currently located. The script is executed in the service's root directory.
Available objects: ThisServer, ThisGame, ThisUser, ThisService
After move
Occurs after the service has been moved. It is executed on the server where the service was moved to. The script is executed in the service's root directory.
Available objects: ThisServer, ThisGame, ThisUser, ThisService
Custom Icon
Allows the user to execute the script by clicking on an icon in the service's home page. The script can also be configured as a scheduled task. This requires the "Scheduled Script" feature permission in the game's settings. The script is executed in the service's root directory.
Available objects: ThisServer, ThisGame, ThisUser, ThisService
Custom Action
Allows the user to execute the script by clicking on the link in the service's Actions tab. The script can also be configured as a scheduled task. This requires the "Scheduled Script" feature permission in the game's settings. The script is executed in the service's root directory.
Available objects: ThisServer, ThisGame, ThisUser, ThisService
Before started (executed by the Service Manager)
Occurs before the service is started. The script is executed in the service's working directory. After creating or updating a script with this event go to the game's settings and click on Update Existing Services or go to a game server's service settings and click on Save.
Available variables: Service Manager Scripting Variables
After started (executed by the Service Manager)
Occurs after the service is started. The script is executed in the service's working directory. After creating or updating a script with this event go to the game's settings and click on Update Existing Services or go to a game server's service settings and click on Save.
Available variables: Service Manager Scripting Variables
Before stopped (executed by the Service Manager)
Occurs before the service is stopped. The script is executed in the service's working directory. After creating or updating a script with this event go to the game's settings and click on Update Existing Services or go to a game server's service settings and click on Save.
Available variables: Service Manager Scripting Variables
After stopped (executed by the Service Manager)
Occurs after the service is stopped. The script is executed in the service's working directory. After creating or updating a script with this event go to the game's settings and click on Update Existing Services or go to a game server's service settings and click on Save.
Available variables: Service Manager Scripting Variables
External Download Script
This script is executed when a game server has "Enable external download" checked and the local game files don't exist.
Available variables: FilesFolderName, FilesFolderFullName, GameFilesPath, DownloadedFile, DownloadedFileWithoutExtension

Troubleshooting Scripts

  • Enable debug mode on the server.
  • Stop the Monitor or Service Manager service depending on the script's event.
  • Start the Monitor or Service Manager console depending on the script's event.
  • When the script is executed the console will show the output of the batch/shell script or any iron python error.

How To...

print messages from an Iron Python script
Use the "Script.WriteToConsole" function:
Script.WriteToConsole("Hello World");
Only show the output of the commands a Window batch script.
Add "@echo off" to the start of your script.
Get the TCAdmin installation folder
Use the TCAdminFolder variable.
Windows batch script: %TCAdminFolder%
Linux shell script: ${TCAdminFolder}
Iron Python: TCAdminFolder
Retrieved from "https://help.tcadmin.com/index.php?title=Custom_Scripts&oldid=999"