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. | ||
− | |||
− | |||
− | |||
− | |||
− | |||
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