View Full Version : Server v2.0.23.19 breaks tcp interface
The lastest server version which fixes the serious security issue is currently unusable as it breaks the tcp interface.
I'm not sure what else is broken but the one we have noticed is fatal:
serveradd <port>
Fails to add the server with the given port even though it reports it has done so. Instead it uses a random other port in the test case 8767 which is totally useless as that port is already in use.
In addition looks like someone forgot to update the version number in the server, displayed by right click properties, as it still reports itself as 2.0.21.3 instead of 2.0.23.19
Your missing something, because it does show 2.0.23.19. Did you make sure to close the server program down before upgrading?
Unfortunately, I'm unable to reproduce the issue you're describing. I could add, start, stop and delete a virtual TeamSpeak server via TCP query and the bult-in web administration interface. Do you have any suspicious lines in your logs?
You're right about the incorrect version number on Windows. This is a known issue, but we decided to ignore it since it's only shown in the files properties and does not affect the servers functionality.
Did you check which port the server was created on? As this is the key issue the server is created but not on the port requested. Also of note may be we are using mysql backed server.
Below is a trace of a test:
[TS]
slogin <superuser> <password>
OK
serveradd 9187
OK
sel 9187
OK
serverset server_clan_server 1
OK
serverset server_maxusers 64
OK
serverset server_name Multiplay.co.uk :: TEST
OK
serverset server_welcomemessage Welcome to a Multiplay Clan Teamspeak server
OK
serverset server_webpost_linkurl http://www.multiplay.co.uk/
OK
dbuseradd <adminname> <password> <password> 1
OK
dbserverlist
id.udpport.name.status
4.8767."".0.
As you can see even though the results appear to succeed when you do a dbserverlist the server has been created on the wrong port and has not been named correctly either.
Here is also log from the server of the issue happening:
03-08-07 10:13:04,ALL,Info,server, Server init initialized
03-08-07 10:13:04,ALL,Info,server, Server version: 2.0.23.19 Win32
03-08-07 10:13:04,ALL,Info,server, Starting VirtualServer id:0 with port:8767
03-08-07 10:13:04,ERROR,All,SERVER, VirtualServer startup failed with port 8767, Exception: EIdCouldNotBindSocket.Could not bind socket. Address and port are already in use.
03-08-07 10:13:06,WARNING,Info,SERVER, Default VirtualServer created
03-08-07 10:13:06,WARNING,Info,SERVER, admin account info: username: admin password: XXXXX
03-08-07 10:13:06,WARNING,Info,SERVER, superadmin account info: username: superadmin password: XXXXX
03-08-07 10:13:06,WARNING,Info,SERVER, there is no VirtualServer running!
03-08-07 10:13:06,ALL,Info,server, Server init finished
03-08-07 10:14:44,ALL,Info,server, Starting VirtualServer id:0 with port:9187
03-08-07 10:14:44,ALL,Info,server, Started VirtualServer id:0 with port:9187
03-08-07 10:15:38,ERROR,All,SERVER, unable to register VirtualServer
Additionally of note may be that the machine is running multiple physical servers already hence it is not valid to create a server on port 8767.
As I told you, I'm unable to reproduce this issue. Here's the output I'm getting on my local test server:
> [TS]
< ver
> 2.0.23.19 Win32 Freeware
> OK
< slogin superadmin ******
> OK
< dbserverlist
> id udpport name status
> 1 8767 "TeamSpeak Server" 1
> OK
< serveradd 1337
> OK
< dbserverlist
> id udpport name status
> 1 8767 "TeamSpeak Server" 1
> 2 1337 "TeamSpeak Server" 1
> OK
< sel 1337
> OK
< serverstop
> OK
< serverdel 2
> OK
< serveradd 9187
> OK
< dbserverlist
> id udpport name status
> 1 8767 "TeamSpeak Server" 1
> 2 9187 "TeamSpeak Server" 1
> OK
< quitDo you use the native SQLite database or MySQL?
We are using mysql. Have you tried starting a server which cant use port 8767 and hence the basic initialation fails? This may be a key step?
I've just done a clear of the db and started the server. I checked webadmin 1 server was showing with incomplete details, presumable due to failure to start as the port is in use. I then logged in see the transation details and log below:
slogin <superadmin> <password>
OK
ver
2.0.23.19 Win32 Freeware
OK
dbserverlist
id udpport name status
1 8767 "" 0
OK
serveradd 1337
OK
dbserverlist
id udpport name status
1 8767 "" 0
2 8767 "" 0
OK
---------------------------------------------------------------
-------------- log started at 03-08-07 14:31 -------------
---------------------------------------------------------------
03-08-07 14:31:16,ALL,Info,server, Server init initialized
03-08-07 14:31:16,ALL,Info,server, Server version: 2.0.23.19 Win32
03-08-07 14:31:16,ALL,Info,server, Starting VirtualServer id:0 with port:8767
03-08-07 14:31:16,ERROR,All,SERVER, VirtualServer startup failed with port 8767, Exception: EIdCouldNotBindSocket.Could not bind socket. Address and port are already in use.
03-08-07 14:31:18,WARNING,Info,SERVER, Default VirtualServer created
03-08-07 14:31:18,WARNING,Info,SERVER, admin account info: username: admin password: t8h96x
03-08-07 14:31:18,WARNING,Info,SERVER, superadmin account info: username: superadmin password: 4sxoxx
03-08-07 14:31:18,WARNING,Info,SERVER, there is no VirtualServer running!
03-08-07 14:31:18,ALL,Info,server, Server init finished
03-08-07 14:32:12,ALL,Info,server, Starting VirtualServer id:0 with port:1337
03-08-07 14:32:12,ALL,Info,server, Started VirtualServer id:0 with port:1337
Im now going to roll back to the previous version and try the test again.
Ok same as before but using 2.0.20.1, the only change was to overwrite the exe.
slogin <superadmin> <password>
OK
ver
2.0.20.1 Win32 Freeware
OK
dbserverlist
id udpport name status
1 8767 "TeamSpeak Server" 0
OK
serveradd 1337
OK
dbserverlist
id udpport name status
1 8767 "TeamSpeak Server" 0
2 1337 "TeamSpeak Server" 1
OK
03-08-07 14:38:32,ALL,Info,server, Server init initialized
03-08-07 14:38:32,ALL,Info,server, Server version: 2.0.20.1 Win32
03-08-07 14:38:33,ALL,Info,server, Starting VirtualServer id:1 with port:8767
03-08-07 14:38:33,ERROR,All,SERVER, VirtualServer startup failed with port 8767, Exception: EIdCouldNotBindSocket.Could not bind socket. Address and port are already in use.
03-08-07 14:38:33,WARNING,Info,SERVER, Default VirtualServer created
03-08-07 14:38:33,WARNING,Info,SERVER, admin account info: username: admin password: wpd5pj
03-08-07 14:38:33,WARNING,Info,SERVER, superadmin account info: username: superadmin password: w5ynzj
03-08-07 14:38:33,WARNING,Info,SERVER, there is no VirtualServer running!
03-08-07 14:38:33,ALL,Info,server, Server init finished
03-08-07 14:39:25,ALL,Info,server, Starting VirtualServer id:2 with port:1337
As you can see there number of key differences. First the default server on port 8767 has proper details even though it was unable to start. Second but more importantly it creates the new server on the correct port.
This time I allowed the old version to create the default server then switched to the new version.
OK
ver
2.0.23.19 Win32 Freeware
OK
dbserverlist
id udpport name status
1 8767 "TeamSpeak Server" 0
OK
serveradd 1337
OK
dbserverlist
id udpport name status
1 8767 "TeamSpeak Server" 0
3 8767 "" 0
OK
serveradd 1338
ERROR, unable to initialize server
dbserverlist
id udpport name status
1 8767 "TeamSpeak Server" 0
3 8767 "" 0
OK
serveradd 60000
ERROR, unable to initialize server
dbserverlist
id udpport name status
1 8767 "TeamSpeak Server" 0
3 8767 "" 0
OK
03-08-07 15:23:08,ALL,Info,server, Server init initialized
03-08-07 15:23:08,ALL,Info,server, Server version: 2.0.23.19 Win32
03-08-07 15:23:09,ALL,Info,server, Starting VirtualServer id:1 with port:8767
03-08-07 15:23:09,ERROR,All,SERVER, VirtualServer startup failed with port 8767, Exception: EIdCouldNotBindSocket.Could not bind socket. Address and port are already in use.
03-08-07 15:23:11,ALL,Info,server, Server init finished
03-08-07 15:23:43,ALL,Info,server, Starting VirtualServer id:0 with port:1337
03-08-07 15:23:43,ALL,Info,server, Started VirtualServer id:0 with port:1337
03-08-07 15:24:18,ERROR,All,SERVER, unable to register VirtualServer
03-08-07 15:24:34,ERROR,All,SERVER, unable to register VirtualServer
Of note here is that although the server was created as serverid 3 the log shows id:0
Looking at a trace of the sql the server does attempt to locate the server with port 1337 but then for some unknown reason it then creates one with port 8767
You can search the forum and see that this in not common to 2.0.23.19. Mysql is causing your problem. That is why not everyone is using mysql, it is not fully functional for ts2.
TS requirements page:
Although MySQL (3.x) support is available, in TeamSpeak 2 it is still highly experimental and not recommended for use in a production environment
Works absolutely fine on the previous release build so its something at fault in this version. If it wasnt ok we wouldnt be able to run the number of servers we do.
Hopefully the guys can get it fixed from the details here if not I'll raise an official bug report to get it fixed.
Also noted while testing is that the full download and the exe only download have different .exe's even though they should be the same according to the versions on the download page.
The updated executable came first. Plus a different exe is probably needed for the installation process. The updated executables tend to be smaller than the ones that come with the install.
There might be a problem with the updated SQL files. We'll update both distribution packages tomorrow using the old files. In addition, Ralf is currently preparing a new developer release binary which will fix a SQL-injection vulnerability which affects TeamSpeak servers running with MySQL.
I'll keep you guys up to date.
That should never be the case as it will just lead to confusion. If the different binaries they should have different versions. However thats not the main concern here. Getting the server to work is :)
I'm rapidly coming to the conclusion this is related to the mysql support being broken in these new binaries. SCP can you confirm your configuration for mysql there?
Here:-
Mysql server: v4.0.26
libmySQL.dll: md5 = 16531c9f2d81b3013c334daeaa9d9019
dbexpmysql.dll: v7.0.2.113
[DBEXPRESS]
sqldir=mysql_sql/
Drivername=mysql
Database=ts2_server_test
Hostname=<host>
User_name=<user>
Password=<password>
GetDriverFunc=getSQLDriverMYSQL
VendorLib=libmysql.dll
LibraryName=dbexpmysql.dll
Active=1
Quinntum
10-08-2007, 16:43
Any updates on this issue?
Q
Any updates on this issue?
Q
Yeah. 2.0.23.21 just came out.
But does that fix the issue?
maxi1990
15-08-2007, 20:11
But does that fix the issue?
I think so.
ANR Daemon
16-08-2007, 01:35
Check and post results here.
I would have expected ScP to post if it was fixed but I tested just in case. No go still a broken as ever, time is ticking along would appreciate an update on this especially considering this patch fixes a serious security issue yet we cant use it.
ANR Daemon
17-08-2007, 10:51
I use MySQL ODBC connector with TS, all was fine with .21 and .22 builds.
maxi1990
17-08-2007, 12:31
Thank you for the information
I've now raised this issue officially with tech support as given the seriousness of the issue we really need a resolution and quickly. Of note I first raised this with tech support back in July 2006 so the fact that its still broken is very disappointing.
vBulletin® v3.7.3, Copyright ©2000-2008, Jelsoft Enterprises Ltd.