Forum


Notice to all users

We are migrating towards a new forum system located at community.teamspeak.com, as such this forum will become read-only on January 29, 2020

Results 1 to 11 of 11
  1. #1
    Join Date
    February 2008
    Location
    NYC
    Posts
    35

    Solved [solved] TS3 Setup Mac OS X Server 10.6.x

    ***SOLVED, SEE BELOW***

    Has anyone written a walkthrough to set TS3 up to run as a daemon on a headless Mac OS X Server yet? I've been running my beta in the terminal, logged in as the admin of the server.

    Additionally, has anyone had any experiences using the stock MySQL on OS X Server with TS3?

    When the stable release comes out I'll probably configure TS3 to run as a daemon using MySQL on the backend. I was just wondering if other people were running TS3 on Mac OS X Server 10.6.x with a similar setup.
    Last edited by tmm4264; June 17th, 2010 at 03:28 AM. Reason: Noted the solution.

  2. #2
    Join Date
    February 2008
    Location
    NYC
    Posts
    35
    I have taken a first stab at setting up launchd to start up TS3 Server on the Mac OS X 10.6 server.

    Here is the launchd file to start TS3 up when the machine starts up. It should start up TS3 on the server and allow it to run headless without a user logged into the server.

    Code:
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
    <plist version="1.0">
    <dict>
    	<key>KeepAlive</key>
    	<false/>
    	<key>Label</key>
    	<string>net.100greenwood.TeamSpeak3</string>
    	<key>ProgramArguments</key>
    	<array>
    		<string>/Users/serveradmin/Desktop/teamspeak3-server_mac/ts3server_mac</string>
    	</array>
    	<key>RunAtLoad</key>
    	<true/>
    </dict>
    </plist>
    I am getting an error. Here are the Console logs from the three restarts I did testing the launchd file I created:

    Code:
    2/24/10 9:39:32 PM	net.100greenwood.TeamSpeak3[108]	TeamSpeak Server 3.0.0-beta17 [Build: 10115]
    2/24/10 9:39:32 PM	net.100greenwood.TeamSpeak3[108]	(c)TeamSpeak Systems GmbH
    2/24/10 9:39:32 PM	net.100greenwood.TeamSpeak3[108]	Logging started
    2/24/10 9:39:32 PM	net.100greenwood.TeamSpeak3[108]	2010-02-25 02:39:32.625288|INFO    |ServerLibPriv |   | Server Version: 3.0.0-beta17 [Build: 10115]
    2/24/10 9:39:32 PM	net.100greenwood.TeamSpeak3[108]	2010-02-25 02:39:32.625507|CRITICAL|DatabaseQuery |   | unable to load database plugin library "libts3db_sqlite3.dylib", halting!
    2/24/10 9:39:32 PM	com.apple.launchd[1]	(net.100greenwood.TeamSpeak3[108]) Exited with exit code: 1
    2/24/10 9:43:59 PM	net.100greenwood.TeamSpeak3[108]	TeamSpeak Server 3.0.0-beta17 [Build: 10115]
    2/24/10 9:43:59 PM	net.100greenwood.TeamSpeak3[108]	(c)TeamSpeak Systems GmbH
    2/24/10 9:43:59 PM	net.100greenwood.TeamSpeak3[108]	Logging started
    2/24/10 9:43:59 PM	net.100greenwood.TeamSpeak3[108]	2010-02-25 02:43:59.732790|INFO    |ServerLibPriv |   | Server Version: 3.0.0-beta17 [Build: 10115]
    2/24/10 9:43:59 PM	net.100greenwood.TeamSpeak3[108]	2010-02-25 02:43:59.733013|CRITICAL|DatabaseQuery |   | unable to load database plugin library "libts3db_sqlite3.dylib", halting!
    2/24/10 9:43:59 PM	com.apple.launchd[1]	(net.100greenwood.TeamSpeak3[108]) Exited with exit code: 1
    2/24/10 9:47:52 PM	net.100greenwood.TeamSpeak3[108]	TeamSpeak Server 3.0.0-beta17 [Build: 10115]
    2/24/10 9:47:52 PM	net.100greenwood.TeamSpeak3[108]	(c)TeamSpeak Systems GmbH
    2/24/10 9:47:52 PM	net.100greenwood.TeamSpeak3[108]	Logging started
    2/24/10 9:47:52 PM	net.100greenwood.TeamSpeak3[108]	2010-02-25 02:47:52.179793|INFO    |ServerLibPriv |   | Server Version: 3.0.0-beta17 [Build: 10115]
    2/24/10 9:47:52 PM	net.100greenwood.TeamSpeak3[108]	2010-02-25 02:47:52.180079|CRITICAL|DatabaseQuery |   | unable to load database plugin library "libts3db_sqlite3.dylib", halting!
    2/24/10 9:47:52 PM	com.apple.launchd[1]	(net.100greenwood.TeamSpeak3[108]) Exited with exit code: 1
    I don't know what's causing the error or what needs to be changed in either TS3 or my launchd file to make it work.

    Permissions look fine.

    Code:
    ns:teamspeak3-server_mac serveradmin$ ls -las
    total 25736
        0 drwxr-xr-x+  17 serveradmin  staff       578 Feb 24 21:49 .
        0 drwx------+   7 serveradmin  staff       238 Feb 24 21:46 ..
       16 [email protected]   1 serveradmin  staff      6148 Feb  5 20:54 .DS_Store
       32 [email protected]   1 serveradmin  staff     13919 Feb  2 14:00 changelog.txt
        0 [email protected]   6 serveradmin  staff       204 Feb  2 14:00 doc
        0 drwxrwxrwx+   3 serveradmin  staff       102 Feb  5 20:55 files
      240 [email protected]   1 serveradmin  staff    120232 Feb  2 14:00 libts3db_mysql.dylib
     3384 [email protected]   1 serveradmin  staff   1731320 Feb  2 14:00 libts3db_sqlite3.dylib
       48 [email protected]   1 serveradmin  staff     23747 Feb  2 14:00 license.txt
        8 [email protected]   1 serveradmin  staff       896 Feb 10 09:20 licensekey.dat
        0 drwxrwxrwx+   9 serveradmin  staff       306 Feb 24 21:49 logs
        8 -rwxrwxrwx+   1 serveradmin  staff        10 Feb  5 20:55 query_ip_whitelist.txt
        8 -rw-r--r--+   1 serveradmin  staff       112 Feb 10 09:52 serverkey.dat
        0 [email protected] 119 serveradmin  staff      4046 Feb  2 14:00 serverquerydocs
        0 [email protected]  91 serveradmin  staff      3094 Feb  2 14:00 sql
      360 -rwxrwxrwx+   1 serveradmin  staff    182272 Feb 24 21:49 ts3server.sqlitedb
    21632 [email protected]   1 serveradmin  staff  11072116 Feb  2 14:00 ts3server_mac
    ns:teamspeak3-server_mac serveradmin$
    If I log in as a user and launch TS3 from the terminal, everything works fine. I need it to run as a daemon on the system.

    Anyone have any ideas?

  3. #3
    Join Date
    February 2008
    Location
    Leeds, UK
    Posts
    6
    I'd be really keen to hear any developments on this, as I'm also struggling.

    Clearly the server app doesn't like being invoked from anywhere other than within it's installation directory and unfortunately I'm not savy enough with OSX Server on how to instruct lauchd to chdir into the directory before starting the server...

    Pretty please, anyone?

    André

  4. #4
    Join Date
    February 2008
    Location
    Leeds, UK
    Posts
    6
    Right, so after many hours of fighting with lauchd I had to concede defeat.

    So I turned looked into another solution which may not be quite as elegant but seems to get the job done.

    I created an automator workflow.

    Start Automator.
    Create a New workflow.
    Add "Run Shell Script" Action to your workflow
    Select /bin/bash as the shell, and select "Pass Input" to stdin
    In the shell commands type:

    cd /"path_to_your_ts3_server_installation_here"
    ./ts3server_mac

    Now save the Workflow as something meaningful (I rather unimaginatively called it "Start TS3 Server"), then plonk the file somewhere sensible (like the Applications folder).

    Now head on over to System Preferences and select the Accounts.
    Select your user account and add the "Start TS3 Server" application to your startup items.
    Voilá!

    Drawbacks:
    - You HAVE to login before the Start TS3 Server workflow is invoked. Not too much of a problem for me as I login automatically anyway
    - You have to remain logged in if the server is to carry on working (I think)
    UPDATE: I just checked, the server process WILL CARRY ON RUNNING if you logout.
    - You get the Automator Icon appearing in your dock, which is not a problem in itself but can make it look untidy. You can quit it, the ts3server_mac process will carry on running.
    Last edited by a.carneiro; March 10th, 2010 at 01:44 PM.

  5. #5
    Join Date
    February 2008
    Location
    NYC
    Posts
    35
    Use Lingon for a quick and easy way to create a launchd script.

    I am at a loss here. I've made two posts and have heard nothing from the folks at Teamspeak. I am not sure they are really supporting this on Mac OS X Server.

  6. #6
    Join Date
    February 2008
    Location
    Leeds, UK
    Posts
    6
    I did try using Lingon but was having the same issues with launchd which is why I resorted to Automator...

  7. #7
    Join Date
    July 2002
    Location
    Germany
    Posts
    2,192
    Hello,

    why not create a bash script with the content

    cd /Path/To/Ts3/Server/
    ./ts3server_... parameters

    And tell launchd to run that on boot?

  8. #8
    Join Date
    February 2008
    Location
    NYC
    Posts
    35
    I have tried to reach out for support via this forum and IRC, however, there doesn't seem to be any.

    At this juncture I will assume that TS Server on Mac OS X Server is not supported and is not being actively developed. The support for TS on this platform is non-existant.

  9. #9
    Join Date
    May 2010
    Location
    California
    Posts
    1
    Hi guys i believe i have the solution for all of you... make sure you ts3 server folder is on your desktop.


    Open Terminal enter the follow commands
    cd desktop
    cd ts3serverfolderhere
    ./ts3server_mac


    I have successfully run TS3 servers on
    10.4 (ppc)
    10.5 (ppc and intel)
    10.6 (intel)

    Also make sure you are doing this on your Admin account.

  10. #10
    Join Date
    February 2008
    Location
    NYC
    Posts
    35
    I got that far, except TS won't run as a daemon on a headless Mac OS X Server. I need to log in as a user to do what you outlined above.
    Last edited by tmm4264; June 17th, 2010 at 03:32 AM.

  11. #11
    Join Date
    February 2008
    Location
    NYC
    Posts
    35

    SOLVED (Thank, God)

    Many thanks to the helpful suggestions from the folks here!

    Here is what I had to do:

    I wrote a launchd .plist and put it in the /Library/LaunchDaemons folder. The contents of the file look like this:

    Code:
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
    <plist version="1.0">
    <dict>
    	<key>Label</key>
    	<string>net.100greenwood.TeamSpeak3</string>
    	<key>Program</key>
    	<array>
    		<string>/Users/teamspeak/Desktop/teamspeak3-server_mac/ts3server_mac</string>
    	</array>
    	<key>ProgramArguments</key>
    	<array>
    		<string>/Users/teamspeak/Desktop/teamspeak3-server_mac/ts3server_mac</string>
    		<string>inifile=ts3server.ini</string>
    	</array>
    	<key>UserName</key>
    	<string>teamspeak</string>
    	<key>WorkingDirectory</key>
    	<string>/Users/teamspeak/Desktop/teamspeak3-server_mac/</string>
    	<key>RunAtLoad</key>
    	<true/>
    </dict>
    </plist>
    There are a few things you'll want to customize in this file. See the notes below.

    Code:
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
    <plist version="1.0">
    <dict>
    	<key>Label</key>
    	<string>your .plist file name goes here</string>
    	<key>Program</key>
    	<array>
    		<string>the path to your TS 3 Server application goes here</string>
    	</array>
    	<key>ProgramArguments</key>
    	<array>
    		<string>the path to your TS 3 Server application goes here</string>
    		<string>inifile=ts3server.ini</string>
    	</array>
    	<key>UserName</key>
    	<string>the name of the TS User on your Mac OS X Server goes here</string>
    	<key>WorkingDirectory</key>
    	<string>This is the path to where TS 3 Server is running</string>
    	<key>RunAtLoad</key>
    	<true/>
    </dict>
    </plist>
    You should create a teamspeak user on your Mac OS X server and put the TS 3 server somewhere in their home folder. This is best practice and makes it a bit more secure. That's what I did in my example.

    You'll also notice that I call a file in the ProgramArguments called ts3server.ini. You need this file, it is critical to getting everything to work. Here is what mine looks like:

    Code:
    machine_id=
    default_voice_port=9987
    voice_ip=0.0.0.0
    liscensepath=
    filetransfer_port=30033
    filetransfer_ip=0.0.0.0
    query_port=10011
    query_ip=0.0.0.0
    dbplugin=ts3db_sqlite3
    dbpluginparameter=
    dbsqlpath=sql/
    dbsqlcreatepath=create_sqlite/
    logpath=logs
    logquerycommands=1
    This file needs to be named "ts3server.ini" and it needs to live in the same directory as your TS 3 Server.

    In a nutshell, that's all it takes (well that and four months).

    I am using Mac OS X Server 10.6.4 and TS 3 Server beta 23.
    Last edited by tmm4264; June 17th, 2010 at 02:42 PM.

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Similar Threads

  1. Replies: 4
    Last Post: January 12th, 2011, 08:56 PM
  2. Replies: 2
    Last Post: July 18th, 2010, 11:07 PM
  3. [Solved] One time token setup
    By CappinHoff in forum Permission System
    Replies: 8
    Last Post: May 28th, 2010, 01:36 PM
  4. [Solved] MySQL Setup Problems
    By LordNova2 in forum Server Support
    Replies: 8
    Last Post: January 14th, 2010, 01:21 AM
  5. [Solved] Unregistered Non-Profit server setup.
    By TheHatmaker in forum General Questions
    Replies: 4
    Last Post: January 11th, 2010, 06:00 PM

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •