Difference between revisions of "Custom Scripts"
Line 83: | Line 83: | ||
; Get the TCAdmin installation folder | ; 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:18, 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 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