Difference between revisions of "Custom Scripts"
Line 75: | Line 75: | ||
=== How To... === | === How To... === | ||
− | + | ==== print messages from an Iron Python script ==== | |
− | + | Use the "Script.WriteToConsole" function: | |
Script.WriteToConsole("Hello World"); | Script.WriteToConsole("Hello World"); | ||
− | + | ==== Only show the output of the commands executed in a Window batch script ==== | |
− | + | Add "@echo off" to the start of your script. | |
− | + | ==== Get the TCAdmin installation folder ==== | |
− | + | You can use the '''TCAdminFolder''' variable. | |
: Windows batch script: %TCAdminFolder% | : Windows batch script: %TCAdminFolder% | ||
: Linux shell script: ${TCAdminFolder} | : Linux shell script: ${TCAdminFolder} | ||
: Iron Python: TCAdminFolder | : Iron Python: TCAdminFolder |
Revision as of 19:19, 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
Contents
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 executed in a Window batch script
Add "@echo off" to the start of your script.
Get the TCAdmin installation folder
You can use the TCAdminFolder variable.
- Windows batch script: %TCAdminFolder%
- Linux shell script: ${TCAdminFolder}
- Iron Python: TCAdminFolder