Mac OS X Dedicated Server
This document describes ways in which one can run the Mac OS X dedicated server.
launchd
Launchd was first introduced in Mac OS X 10.4. It simplifies running the armagetronad-dedicated prograpm as a daemon.
The .plist file
This file should be saved to ~/LaunchAgents/net.armagetronad.armagetronad-dedicated.plist. You can create the ~/LaunchAgents directory if it doesn't yet exist.
You must edit this template. You need to insert the real path to the Armagetron Advanced Dedicated directory, and you also must insert the path to where your log-files will be saved.
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN"
"http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist>
<dict>
<key>Label</key>
<string>net.armagetronad.armagetronad-dedicated</string>
<key>ProgramArguments</key>
<array>
<string>/path/to/Armagetron Advanced Dedicated/armagetronad-dedicated</string>
<string>--datadir</string>
<string>/path/to/Armagetron Advanced Dedicated</string>
<string>--daemon</string>
</array>
<!-- Restart when server shuts down due to DEDICATED_IDLE -->
<key>KeepAlive</key>
<true/>
<key>StandardOutPath</key>
<string>/path/to/armagetronad-dedicated.log</string>
<key>StandardErrorPath</key>
<string>/path/to/armagetronad-dedicated.log</string>
</dict>
</plist>
Loading the plist
First you must load the plist file. This is only required once.
launchctl load ~/LaunchAgents/net.armagetronad.armagetronad-dedicated.plist
If you edit the plist file later you must reload the file for changes to take effect.
launchctl unload ~/LaunchAgents/net.armagetronad.armagetronad-dedicated.plist launchctl load ~/LaunchAgents/net.armagetronad.armagetronad-dedicated.plist
Starting/Stopping
To start the server:
launchctl start net.armagetronad.armagetronad-dedicated
To stop the server:
launchctl stop net.armagetronad.armagetronad-dedicated
Running manually
To run the server from the command-line, your current working directory must be the Armagetron Advanced Dedicated directory, else you must use the --datadir option. Note: when installed from the dmg image, the actual program will be located in /Applications/Armagetron Advanced Server.app/Contents/MacOS and must be run from /Applications/Armagetron Advanced Server.app/Contents by ./MacOS/armagetronad-dedicated in order to display the command line output (I'm not sure if it runs when launched with the Launchpad / default open action).
Option 1:
cd "/path/to/Armagetron Advanced Dedicated" ./armagetronad-dedicated
Option 2:
"/path/to/Armagetron Advanced Dedicated/armagetronad-dedicated" --datadir "/path/to/Armagetron Advanced Dedicated"
