Detatched: Dedicated server for TMU (2006-12-21)

This is the place where you can find everything related to the dedicated server, control scripts and community tools.

Moderators: Pit Crew, TM-Patrol

Post Reply
User avatar
NBAA
smooth traffic navigator
smooth traffic navigator
Posts: 239
Joined: 16 Oct 2005 16:58
Owned TM-games: TMO, TMS, TMU, TM²C
Manialink(s): nbaa / 2d2d

Detatched: Dedicated server for TMU (2006-12-21)

Post by NBAA » 27 Dec 2006 14:21

Slig wrote:Be carefull: on windows this release seems to need directx9c !
Well it actually just need the d3dx9_30.dll of 2333kb from directx9 found in ..\windows\system32 folder.
So if you have that file, you don't need to install directx9.
2D2DNBAA -> Too Drive to Drunk -> Join my server
My tracks@TmExchange: TMU / TMS / TMO / TMN / TM2

User avatar
ck|cyrus
Pit Crew
Pit Crew
Posts: 151
Joined: 11 Jul 2006 20:43
Contact:

Post by ck|cyrus » 27 Dec 2006 16:31

One thing i suffer with since the early days of tmn server is the ability to re-add a track on its same name.

E.g.:

You got a map "Test.Challenge.Gbx" and added it to the server => Playing is ok
You find an error on track. Erase it from tracklist. Edit the Challenge and reupload it on the server.
You add the track in the tracklist again with name "Test.Challenge.Gbx". It all works fine, the track is shown in tracklist BUT it cant be played!

It seems that due to the same trackname the server dont cache or hash the track once again but because it differs on tracksize etc. the server is not able to play this file.

Its a real problem and until now the only thing to play the updated track is to restart the server. But thats no fun with 40 ppl. playing on it ;)

Is it possible to change this behaviour?

Thx and greets, cyrus
Visit our Servers:
TMU: "chaoskrieger.com @Stadium"
TMU: "chaoskrieger.com @Rounds"
TMN: "chaoskrieger.com @Fun"

User avatar
boneless
cyclist
cyclist
Posts: 32
Joined: 30 Jan 2006 03:52
Location: Bergen, Norway

Post by boneless » 27 Dec 2006 22:50

It's because the UId (unique identifier or md5 if you want) for the track is changed. Either update or remove the <uid></uid> block from the track block in your matchsettings file.
This is neccecary or we would get a problem with tracks that share the same filename.
Image
Developer of http://www.trackmania.no - Trackmania Norway
Image

User avatar
ck|cyrus
Pit Crew
Pit Crew
Posts: 151
Joined: 11 Jul 2006 20:43
Contact:

Post by ck|cyrus » 27 Dec 2006 23:38

Thx for reply. I know that has to deal with Uid but for example with Aseco/Rasp you can add tracks directly from tmx. And erase them from tracklist and from harddisk.
If you re-download the updated track and add it to the tracklist the track will not be played anymore...
Same thing with remoteCP...

So how should i update or remove the uid block from matchsetting file if the track has already been deleted from the tracklist?! :?
Visit our Servers:
TMU: "chaoskrieger.com @Stadium"
TMU: "chaoskrieger.com @Rounds"
TMN: "chaoskrieger.com @Fun"

Assembler Maniac
Pit Crew
Pit Crew
Posts: 1493
Joined: 03 Jun 2006 13:24
Owned TM-games: TMU
Contact:

Post by Assembler Maniac » 28 Dec 2006 05:36

Ok, lemme paraphrase the problem into what I believe is happening internally:

TMU Ded server is keeping a UID/Filename association someplace internally, even after a track has been removed from the tracklist. Any attempts to change the file outside of TMUDed results in the server getting severely confused over why the UID it has in memory doesn't match the one on the changed file (like downloading a newer ver from tmx). This results in a file that can't be played even though it's in the tracklist.

What we need is a way to flush TMUDed server so that the UID->filename (or whatever it is) gets emptied out and gets reloaded with a new tracklist. Or better yet, when you remove a challenge from the tracklist, have tmded clear out the internal data that goes with it so it's not a problem anymore.

Here's the sequence of events as I've seen them occur:

- Server is brought up with matchsettings file, has track 123456.challenge.gbx in it, with it's UID.
- Admin removes track 123456.challenge.gbx, saves new matchsettings file, it's gone and forgotten.
- Admin then goes and downloads same challenge, with the same filename, but has different UID in it because it's a diff version.
- Admin adds track to the challenge list, saves matchsettings file. Everything looks fine, track shows up in challenge list.
- When that track comes up in the rotation, the server fails to load it, and will keep on failing every time it tries until server is shut down and restarted.
- Nothing can be done with that track until the server has been restarted.

Does that about cover it?
Asus P4C800-E Deluxe
P4 3.2Ghz @ 3.35Ghz
2G Kingston Hyper-X DDR 2
ATI Radeon X850 XT Platinum 256M
Sound Blaster Audigy II
2x 120G Maxtor Hard drives
HDTV Tuner Card (Fusion 5 Gold)

User avatar
ck|cyrus
Pit Crew
Pit Crew
Posts: 151
Joined: 11 Jul 2006 20:43
Contact:

Post by ck|cyrus » 28 Dec 2006 09:30

Very nice conclusion AM :) Thanks a lot, thats exactly what i wanted to say :D

Any hope to solve it in future server versions? (question goes to Nadeo :wink: )
Visit our Servers:
TMU: "chaoskrieger.com @Stadium"
TMU: "chaoskrieger.com @Rounds"
TMN: "chaoskrieger.com @Fun"

User avatar
TrabTowN
Pit Crew
Pit Crew
Posts: 789
Joined: 03 Nov 2005 14:30
Owned TM-games: TMS,tmn,TMU
Location: Ireland/orginal SACHSE^^
Contact:

Post by TrabTowN » 28 Dec 2006 11:39

im not shure if it helps as we do it...

when we save a track on our server, the track will get the uid as filename... like" _O0MG_Z8ddguf0ygQZXZ52367la.gbx" for AtakLaBank III from Spale ... then the trax will never have the same filename even if they would have the same trackname...

BTW:
- <autosave_replay> setting, in order to save all replays occuring on the server. (albeit in low quality.)
why only in low quality... if you look at the replays, they do look kinda silly the way the cars move and im not shure if that will be any use....
100²% addicted
Image
Image

User avatar
Slig
Pit Crew
Pit Crew
Posts: 2124
Joined: 05 Sep 2005 17:51
Owned TM-games: ALL
Location: TraxicoLand (Fr)
Contact:

Post by Slig » 28 Dec 2006 12:23

TrabTowN wrote: why only in low quality... if you look at the replays, they do look kinda silly the way the cars move and im not shure if that will be any use....
i suppose it's more to verify a race result and that no players used an illegal cut, that making a video ;)

BTW, for technical/bug/feature you should better post in the xbx topic viewtopic.php?t=6586, and keep this one for dedicated installation, config and usage 8)

Assembler Maniac
Pit Crew
Pit Crew
Posts: 1493
Joined: 03 Jun 2006 13:24
Owned TM-games: TMU
Contact:

Post by Assembler Maniac » 30 Dec 2006 04:23

TrabTowN wrote:im not shure if it helps as we do it...

when we save a track on our server, the track will get the uid as filename... like" _O0MG_Z8ddguf0ygQZXZ52367la.gbx" for AtakLaBank III from Spale ... then the trax will never have the same filename even if they would have the same trackname...
Even if I re-write parts of RASP to change the downloaded filename, it still won't fix the problem of an admin downloading a track by name, removing it, downloading a fresh copy and adding it, only to find out that it can't be played because the filename was the same, but the uid was different. TMDed server needs to be fixed.
Asus P4C800-E Deluxe
P4 3.2Ghz @ 3.35Ghz
2G Kingston Hyper-X DDR 2
ATI Radeon X850 XT Platinum 256M
Sound Blaster Audigy II
2x 120G Maxtor Hard drives
HDTV Tuner Card (Fusion 5 Gold)

User avatar
ck|cyrus
Pit Crew
Pit Crew
Posts: 151
Joined: 11 Jul 2006 20:43
Contact:

Post by ck|cyrus » 03 Jan 2007 12:39

Would it be possible to allow mixed strings like "abc230" for the manialink "actions" ?
Would be much much much more easier to get on with em and avoid conflicts.

eg. for

Code: Select all

<cell>
	<text action='ck.cyrus_1_coppers' >Spend player 1 coppers</text>
</cell>
<cell>
	<text action='ck.cyrus_2_coppers' >Spend player 2 coppers</text>
</cell>
<cell >
	<text action='ck.cyrus_5_coppers' >Spend player 5 coppers</text>
</cell>
Greets :)
cyrus
Visit our Servers:
TMU: "chaoskrieger.com @Stadium"
TMU: "chaoskrieger.com @Rounds"
TMN: "chaoskrieger.com @Fun"

User avatar
TrabTowN
Pit Crew
Pit Crew
Posts: 789
Joined: 03 Nov 2005 14:30
Owned TM-games: TMS,tmn,TMU
Location: Ireland/orginal SACHSE^^
Contact:

Post by TrabTowN » 03 Jan 2007 13:04

cyrus... i though about it a while ago... if they could do that, it would be just brilliant..... atm i feel like a math professor to figure out how to transfer my manialink options to the script...
.... so here you go xbx and thx xbx :twisted:
100²% addicted
Image
Image

User avatar
ck|cyrus
Pit Crew
Pit Crew
Posts: 151
Joined: 11 Jul 2006 20:43
Contact:

Post by ck|cyrus » 03 Jan 2007 17:13

Another thing i found

Code: Select all

$this->client->query('GetVersion');
$response['version'] = $this->client->getResponse();
$this->server->game = $response['version']['Name'];
The Response for TMU is "TmUnited."

Why is there a DOT in the Name?!
Visit our Servers:
TMU: "chaoskrieger.com @Stadium"
TMU: "chaoskrieger.com @Rounds"
TMN: "chaoskrieger.com @Fun"

User avatar
Slig
Pit Crew
Pit Crew
Posts: 2124
Joined: 05 Sep 2005 17:51
Owned TM-games: ALL
Location: TraxicoLand (Fr)
Contact:

Post by Slig » 05 Jan 2007 13:56

TrabTowN wrote:cyrus... i though about it a while ago... if they could do that, it would be just brilliant..... atm i feel like a math professor to figure out how to transfer my manialink options to the script...
.... so here you go xbx and thx xbx :twisted:
write a little function to allocate a numeric value (just increment each time) to your name, then put them in a table ;)

User avatar
ck|cyrus
Pit Crew
Pit Crew
Posts: 151
Joined: 11 Jul 2006 20:43
Contact:

Post by ck|cyrus » 05 Jan 2007 14:04

@slig: But you have to erase all old non-used values to free them for next use.
and i dont know how to do this if you got no static "actions" but based on "player_id", number of players, values to set etc.

E.g. you got a list for options with all players

Code: Select all

[player]      [option]      [action]
[player1]      [kick]      [1]
[player2]      [kick]      [2]
[player3]      [kick]      [3]
[player4]      [kick]      [4]
[player5]      [kick]      [5]
[player6]      [kick]      [6]
So if you kick player4 you know to remove the "action4" from the array. but what about all the other actions (1,2,3,5,6) ? and thats a variable amount of players etc.

Maybe a good idea somebody :?
Visit our Servers:
TMU: "chaoskrieger.com @Stadium"
TMU: "chaoskrieger.com @Rounds"
TMN: "chaoskrieger.com @Fun"

User avatar
TrabTowN
Pit Crew
Pit Crew
Posts: 789
Joined: 03 Nov 2005 14:30
Owned TM-games: TMS,tmn,TMU
Location: Ireland/orginal SACHSE^^
Contact:

Post by TrabTowN » 05 Jan 2007 16:40

write a little function to allocate a numeric value (just increment each time) to your name, then put them in a table Wink
of course thats a way, but its unflexible to much extra code(if you whant to do alot of "buttons") for ech player... and i dont see a good reason why the answer is only numeric....
its just way more logical to do it like

Code: Select all

action="kick.loginXY"  --> callback return =  "kick.loginXY"
action="close" --> callback return =  "close"
action="next.TrackUid" --> callback return =  "next.TrackUid"
and so on...
and not

Code: Select all

function SomeFunction(blah){
       lots of code to get the right number to the right action aso. ;
}

kick=99
close=1
nexttrack=111

function SomeFunction(blah){
       lots of code to get the right action to give to the server aso. ;
}
.... of course atm is still everything possible, but the amount of code it takes is way to much and more diferent actions more code "mess" ...

the question is, is it posible to change in one of the next dedi servers the way that action is given back to the server and use char insteat of int... i cant see where the problem would be...

THX
100²% addicted
Image
Image

Post Reply