Mac OS X Dedicated Server: Difference between revisions

From Armagetron Advanced
Cadillac (talk | contribs)
No edit summary
!!! (talk | contribs)
m Cleared up my previous edit.
 
(One intermediate revision by the same user not shown)
Line 59: Line 59:
== Running manually ==
== Running manually ==


To run the server from the command-line, your current working directory must be the <code>Armagetron Advanced Dedicated</code> directory, else you must use the <code>--datadir</code> option.
To run the server from the command-line, your current working directory must be the <code>Armagetron Advanced Dedicated</code> directory, else you must use the <code>--datadir</code> option. Note: when installed from the <code>dmg</code> image, the actual program will be located in <code>/Applications/Armagetron Advanced Server.app/Contents/MacOS</code> and must be run from <code>/Applications/Armagetron Advanced Server.app/Contents</code> by <code>./MacOS/armagetronad-dedicated</code> 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:
Option 1:

Latest revision as of 01:27, 26 June 2026

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"