Dedimania forum

Feel free to express yourself on your favorite dedicated related tool.

You are not logged in.

#1 2008-11-21 14:03:40

TX-Slig
slig
Fast author / Dedimania maintainer
From: Traxicoland
Registered: 2006-11-23
Posts: 878
Website

News for scripts devs

* Note for scripts devs :

- There is now a lower limit to the records times : 8s. So records under 8s will not be stored any more.
Server scripts are encouraged to not send times for challenges with an author time under 10s !



* Note for scripts devs about future changes (i don't know when i will have time to make those changes, but be sure that it will come, so you should think about how to make it right now) :

- sending checkpoints times will be mandatory (well most scripts already do it ; for Laps mode it is the cp times for the best lap, like it is in time attack).

- records of maps without any checkpoints will not be stored : records will need at minimum 2 checkpoints times (ie 1 or more checkpoints, and the finish).

- validation replay of the best sent time will be mandatory (for best lap in Laps mode all checkpoints times from beginning of the race until the time/checkpoint of the sent validation replay will have to be given). The validation replay will be used to verify that the sent time/player/challenge are the same. And at the validation of the top1 will be stored, so it will be possible to download then validate it.

- The ghost replay of a potentially top1 record will be highly encouraged. It will be downloadable to see it,  probably not for free(*).

- dedimania.Authenticate (or its replacement method) will have to be used only at first request, and will return a sessionid which will have to be used by other methods instead of sending authentication infos each time.

- possibility for servers to get/store more than 30 records per challenge will be added, not for free(*). The actual limit to up to 30 records per map will stay free of course.


(*) because the donations are far insufficient to rent the server, so perhaps a permanent or annual paypal fee to access to that feature.

Offline

#2 2008-11-21 17:42:40

TX-Slig
slig
Fast author / Dedimania maintainer
From: Traxicoland
Registered: 2006-11-23
Posts: 878
Website

Re: News for scripts devs

Here are the actual rules about the url used by your script to send methods to Dedimania :


    * The first script query should be on the main url http://dedimania.net/RPC4/server.php , because if the account was not authenticated successfully then on http://dedimania.net:80xx/ ones it could make timeouts, slowering the other scripts/clients requests responses..

    * Next script queries (once successfully authenticated!) should be made on the http://dedimania.net:80xx/ urls, because these ones use far less server ressources than the main one. You have to contact me at Slig or on the Dedimania forum to both tell me that you are going to use Dedimania for your script, and to know what url you should use.

Note that later the main url will reply only to dedimania.CheckConnection, dedimania.GetVersion, dedimania.Authenticate and dedimania.ValidateAccount methods !

Offline

#3 2008-11-22 21:07:38

TX-Slig
slig
Fast author / Dedimania maintainer
From: Traxicoland
Registered: 2006-11-23
Posts: 878
Website

Re: News for scripts devs

Another thing, since i see wrong infos in stats...

In dedimania.Authenticate you are supposed to send the right game info, ie TMU is only for the old TMU and not TMUF, TMN is for the old TMN-ESWC and not TMNF !


Note: I have no way to really control the kind of script, so if i see wrong infos i will probably one day decide to invalidate server accounts which use wrong scripts.....

Offline

#4 2008-11-24 09:32:51

TX-Slig
slig
Fast author / Dedimania maintainer
From: Traxicoland
Registered: 2006-11-23
Posts: 878
Website

Re: News for scripts devs

Hi all devs !

Just to make you know...  the very big winners of wrong auth sent to Dedimania are :

TMU     account  /    000000      248850
TMU     YOUR_SERVER_LOGIN / YOUR_SERVER_PASSWORD     178167
TMN     YOUR_SERVER_LOGIN / YOUR_SERVER_PASSWORD     12468
TMU (empty) / (empty)     4978

Hopefully few monthes ago i add something to detect successive wrong pass and avoid to ask to nadeo server each time, saving many call delays on dedimania side and many wrong auth on nadeo side...

Btw, i think that clearly these are login / pass of the default setup of various scripts, so i think that scripts should test the values and disable the dedimania plugin if the login / pass are the default ones or are empty. It would save many unusefull requests....

Offline

#5 2008-11-26 18:01:51

TX-Slig
slig
Fast author / Dedimania maintainer
From: Traxicoland
Registered: 2006-11-23
Posts: 878
Website

Re: News for scripts devs

Records times / checkpoints sanity checks

Here are the actual sanitity checks done by Dedimania :
* A record with unconsistent cp times will not be stored any more (ie: 1st cp should be >0, any cp should have a time > of previous, last cp should be same as the record time).
* A record with only one cp on a map which is known to have more should not be stored any more (i hope ^^).
Sadly i have not way actually to be absolutely sure about the number of cp of a map, so refusing records with different number of cp than the stored one would make many problems  sad

Note that logically :
- all servers scripts should make those sanity checks before sending, then give to the player the info directly (so he knows what happened), and not send it to dedimania !!!
- servers scripts should be able to know the real number of cp and make sanity checks on it !
- servers scripts should also take a validation replay, at least for the best player time, then use it to verify that it is really the good times/cp/map uid before sending to dedimania : it would really avoid all unwanted wrong records (don't tell me that your script never make it, none can really control some rare race conditions because of connection problem with the dedicated or some other very unusual problem).



About the Future...

Main goal:
- remove unwanted wrong records.
- reduce cheat records number.
- eventually give access to the top1 replay
- don't use too much more server ressources....

Problem:
- actually Dedimania can't have real confidence about the number of checkpoints of the map, and also can't be sure that the sent best times and checkpoints times are really for the considered map, and were really drove.

Solutions
- first do the indicated sanity checks before sending to dediamnia
- send also the validation replay, at least (and at most, to save network, cpu and disk ressources) for the best time sent. It will permit to verify that the map uid/player login/player time of the best sent time is ok, and will eventually permit anyone to get and validate the replay.
Also, Dedimania will then consider that at the first time with checkpoints and a validation replay which seems ok, the number of checkpoints will be sure, and so next times will be accepted only if the number of checkpoints is the same.
- when possible send the ghost replay of the best time when the script think it is the next top1 (ie it is better than the top1 it knows). I say possible because the ghost replay can only be saved on disk, so the script can read it quickly only if it is launched on the same computer as the dedicated.
- not easy for Laps (best lap), because there is not a validation replay of a lap alone. Is there any other script than Fast which handle best lap in Laps mode ?  please tell it, you are welcome to give your opinion about it...


Any ideas are welcome.   smile


Note: I don't know when changes will be done, Dedimania is not ready for it and will not be at least until january 2009, and scripts will have at least 2 more months to be adapted... Btw waiting march to think about it for your script or plugin would not be a good idea  wink

Offline

#6 2009-02-03 13:58:08

TX-Slig
slig
Fast author / Dedimania maintainer
From: Traxicoland
Registered: 2006-11-23
Posts: 878
Website

Re: News for scripts devs

2 fixes on Dedimania side :
- bad requests are now replied with Error 400 and not any more 404
- if the xmlrpc string decoding fail then it is filtered for bad utf-8 datas, then decoded again. It should avoid many problems which were seen until yesterday as 'error 404'.

Btw.... most of the old error 404 problems were caused by bad utf-8 data in player nickname, nickname, map name, server name or server comment !  All script should take care to filter them, because it is far better than filtering the whole xml string, and also you need it to avoid to have them also fail in manialinks.

About TM and utf-8 :
- http://en.wikipedia.org/wiki/UTF-8
- note that single and 2 bytes chars are all supported ; not all 3 bytes ones are suporte ; none of 4+ bytes ;  first byte 0, 128, 192 and 193 are not supported.
- to test 3 bytes chars, you can try to just send it (to the dedicated) as argument of a non existent/fake dedicated method, and you will get a -503 error is the utf8 char is not supported.
Alternatively, the file tm_utf8.phpser in Fast is a serialized array of the 3 bytes sequences which are theoretically ok but not supported by the dedicated.

Offline

#7 2009-11-23 10:22:09

TX-Slig
slig
Fast author / Dedimania maintainer
From: Traxicoland
Registered: 2006-11-23
Posts: 878
Website

Re: News for scripts devs

Now the scripts can just use that url : http://dedimania.net:8002/Dedimania
The :8002 to :8034 ports are now randomly balanced and redirected to the real used ports on Dedimania side, so using any of them will give the same thing as 8002 !


Devs:
- the status pages  http://dedimania.net:8001/stats now show the stats for all real ports servers.
- the 8001 has a very low use now, so you can use it to test scripts and so be sure to see your test server on the 8001 port of the stats page.

Offline

#8 2011-10-15 11:48:46

TX-Slig
slig
Fast author / Dedimania maintainer
From: Traxicoland
Registered: 2006-11-23
Posts: 878
Website

Re: News for scripts devs

Dedimania for TM2 is out.

Mors infos on :

http://dedimania.net:8082/Dedimania
http://dedimania.net/tm2stats/

You should find there most usefull infos. If you miss some infos then ask : i will start a topic to give replies for common problems.


Dedimania for TM2 introduce one main new feature against cheats and unwanted wrong records : ValidationReplays are now sent (stored only for best records), allowing a quick check that the map uid is the right one, that the announce best time is the same than the VR one, and allow later manual validation of the replay if the record seems strange. A Ghost Replay is also asked for Top1 records, permitting a manual visual check.

That will also allow a new feature : possibility to get the best times Ghost Replays.

It will also be possible to upgrade servers and players to a MaxRank above top30... but it won't be free : last 2 years donations are far, far, far, far from being enough to pay the rent server used for Dedimania, so the need to try to find a reliable business model. The upgrades are not yet possible, i will give more infos about it when available.


Actually only Fast4.0.0j+ have Dedimania for TMĀ² support, other tools supports will come later, when their authors will have time or willing to work on it.

Offline

#9 2011-11-05 12:25:21

TX-Slig
slig
Fast author / Dedimania maintainer
From: Traxicoland
Registered: 2006-11-23
Posts: 878
Website

Re: News for scripts devs

Hi devs,

2 small api changes :

- 'TotalRaces' and 'TotalPlayers' (for the Map) are backed in dedimania.GetChallengeRecords response

- the low limit for records is now 8s (it was a decision made long time ago together with Xymph but i had forgotten it ; and actually there is no record below 8s -except my own test maps-, so it does not break anything).
The goal is to not waste ressources for nothing : times on ultra short maps are meaningless, more lucky random than driving.
note: the low limit will not be increased another time, you can build 9/10s maps without worrying about future records wink

Offline

Board footer

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson