Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 29139 - Request for teamspeak server
Summary: Request for teamspeak server
Status: RESOLVED TEST-REQUEST
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Server (show other bugs)
Hardware: All Linux
: High normal
Assignee: Gentoo Sound Team
URL: http://www.teamspeak.org
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2003-09-19 11:05 UTC by Jim Smilanich
Modified: 2003-09-30 10:15 UTC (History)
2 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
media-sound/teamspeak2-server-bin-2.0.19.40 ebuild (teamspeak2-server-bin-2.0.19.40.ebuild,1.23 KB, text/plain)
2003-09-24 16:09 UTC, Jeremy Johnson
Details
media-sound/files/teamspeak2-server.rc6 init script (teamspeak2-server.rc6,806 bytes, text/plain)
2003-09-24 16:10 UTC, Jeremy Johnson
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Jim Smilanich 2003-09-19 11:05:18 UTC
This request is for an ebuild for TeamSpeak's server.  The client is already
included as an ebuild in Gentoo 1.4.

I realize that TeamSpeak is going through many changes quickly as the
development team tries to finalize the current version.  This would probably
make any ebuild difficult to keep in sync until they are finished with their
current round of testing.  Still, I would like to see it.

Thank you.
Comment 1 J. Ellis (RETIRED) gentoo-dev 2003-09-20 23:31:41 UTC
I started looking at this. It doesn't look so bad, just going to take a while to work out where all the pieces go (config, libraries, logs, db, etc.)
Comment 2 Peter Kirk 2003-09-21 09:17:46 UTC
Ive also thought of this. The installation is simple, the tricky part is to 
make give it a nice runscript, and to run it with minimum privileges. I suggest 
to run the server as a seperate user "tss" for security reasons. This user will 
have to be created in the ebuild, and needs the following rights (to be set in 
the ebuild): 
read: bad_names.txt, httpdocs, sqlite.so, sqlite_sql, tcpquerydocs 
write: server.ini, server.dbs, server.log 
execute: server_linux 
 
Its extremly important that nobody except the tss guy can read both server.log 
and server.dbs, as they contain the passwords. 
 
Then you need a decent runscript...which should: 
-drop root rights if invoked as root 
-on "start" check if there are server_linux processes, and if there are, either 
(design choice) kill them, look if they are gone, else kill -9 them and 
continue - OR exit with a error message that a teamspeak server is already 
running.  
-on "start" write the pid into a file. 
-on "stop" kill the pid from the file 
-check if processes are gone, else kill -9 them (maybe sleep a bit to let the 
server time to terminate, it takes some time with many users+virtual servers). 
 
This link might be helpful when writing the runscript: 
http://www.teamspeak.org/forums/showthread.php?s=&threadid=7388 
also I liked this way of dropping root rights: 
if [ "$UID" = "0" ]; then 
   exec "su" - tss -c "/etc/init.d/teamspeak2-server $1" 
fi 
 
If you have any questions just ask me "J.Ellis", im usualy on irc as "pwk". 
Comment 3 Jeremy Johnson 2003-09-24 16:07:23 UTC
I have created an ebuild for Teamspeak Server version 2.0.19.40.  It installs 
itself in /opt/teamspeak2-server and puts the log file, db file, ini file, and 
pid file in their various /var dirs.  There is also an init script that fires 
up the process as the teamspeak2 user (which gets added at install time). 
 
So please check it out and let me know what you think. 
 
-- Jeremy 
Comment 4 Jeremy Johnson 2003-09-24 16:09:38 UTC
Created attachment 18284 [details]
media-sound/teamspeak2-server-bin-2.0.19.40 ebuild
Comment 5 Jeremy Johnson 2003-09-24 16:10:45 UTC
Created attachment 18285 [details]
media-sound/files/teamspeak2-server.rc6 init script
Comment 6 J. Ellis (RETIRED) gentoo-dev 2003-09-24 19:30:47 UTC
It looks like a good first cut to me!

I'm not excited about using /opt but it appears to be what other binary packages seem to do. I'll talk to some other bin package maintainers and see what they recommend.

I have life / work commitments this week but the weekend is looking good for getting the commited.

Thanks muchly.

j.
Comment 7 Peter Kirk 2003-09-24 23:48:43 UTC
Well, 
 
just wanted to point out that the teamspeak2 client currently installs to 
/usr/share/teamspeak2-client, I found this to be what the guys in #gentoo 
thought to be a good place...Maybe put the server in 
/usr/share/teamspeak2-server ? 
Oh and btw. teamspeak has the tradition of releasing many so called "developer 
releases", Im not sure if the ebuilds should only follow the "public" releases 
(the ones that get a news on the main page), or if they should follow the 
developer releases line. Note: I havent percieved the "developer" releases to 
be less stable, but rather to have less bugs and of course features. 
Comment 8 Jim Smilanich 2003-09-25 14:42:00 UTC
I'm a newbie to Gentoo, so bear with me.  I'm the one who submitted this
request, btw.  Anyhow, I ran emerge sync;emerge search team.  The ebuilds
for the server aren't showing up.  Do I need to do anything different?  Is
there a USE variable I need to turn on?

BTW, Gentoo development guidelines do state that the LFS should be followed.
 This would imply that all binary packages should be under /opt, right?
Comment 9 Jim Smilanich 2003-09-25 14:44:42 UTC
I'm the original submitter.  I'm a newbie to Gentoo, so bear with me if I
do something stupid.  :)

I did an emerge sync, emerge search team.  The two ebuilds listed above didn't
show up.  Do I need to do something special to get them?

BTW, if wouldn't it be more appropriate to use the /opt directory for installation
in order to maintain compliance with the LFS?  I understood that was one
of Gentoo's design goals.

TIA,

Jim
Comment 10 J. Ellis (RETIRED) gentoo-dev 2003-09-25 18:21:50 UTC
You'll need to wait until i've commited something to portage before you can
pick it up... it's likely that i won't get to this until tomorrow.
Comment 11 J. Ellis (RETIRED) gentoo-dev 2003-09-27 04:39:18 UTC
Commited, ~x86 masked. i'm leaving this open to collect feedback.

Thanks.
Comment 12 Jim Smilanich 2003-09-28 07:24:42 UTC
I was able to emerge the ebuild without a problem.  I then copied over the
configuration files from my old installation, then restarted the new server.
 I think these were server.ini, server.dbs, and server.log.  Anyhow, the
server came up just fine.  All the configuration information was there, and
all registered user accounts transferred correctly with all privileges assigned.

I have not yet been able to confirm the actual person to person voice comms.
 Other than that, so far this looks like a successful ebuild!
Comment 13 Peter Kirk 2003-09-28 16:54:12 UTC
Jup, 

didnt have any problems either.
Comment 14 Jim Smilanich 2003-09-30 09:41:39 UTC
I had a chance to test communications through the server night before last.
 Everything worked correctly.  Any bugs that show up now would appear to
be app related, not ebuild related.

As far as I'm concerned this bug can be closed.

Thanks again for your quick work on this one.

Jim Smilanich
Comment 15 Jeremy Johnson 2003-09-30 10:15:46 UTC
You're very welcome.  Thanks for putting it in!

-- Jeremy