1 (edited by clarus 2009-08-18 12:22:03)

Topic: [MOD] *MOD

*MOD
http://www.eleves.ens.fr/home/claret/picture/star/aim.png
To be a proof of concept of a proxy server mod, ie a server which can redirect players to other servers. This could be useful to propose random servers to the player, as with this *MOD example. Or to automatically redirect players to arenas in a duel mod. Or to instantiate maps on demand. Or to have different closed rooms which are different servers, and the ability to switch from one to another.

http://www.eleves.ens.fr/home/claret/picture/star/little_star.png For users :
If you go to a *CTF server, you will be redirected randomly to a popular CTF server selected by us. And if you want to change map, just disconnect and reconnect to get a new one.

http://www.eleves.ens.fr/home/claret/picture/star/little_star.png For developers :
The main feature of this MOD is to be able to redirect connections transparently for the client. It is not yet full featured, and there should be still some bugs.
The main code is in engine/server/proxy.c, with some calls to this code from other parts. File engine/server/rand_map.c contains the code to manage the choice of new random maps.

http://www.eleves.ens.fr/home/claret/picture/star/config.png
sv_seen_gametype : game type seen by the players on the main server list ; put something like *DM or *CTF.
sv_server_list : list of proposed servers, with host name and port, each separated by a comma.
Example with 3 servers : sv_server_list 94.23.7.37 8305, 94.23.7.37 8308, ulminfo.aulo.in 8311

http://www.eleves.ens.fr/home/claret/picture/star/download.png
// removed by Magnet

http://www.eleves.ens.fr/home/claret/picture/star/credits.png
Clarus; from an original idea of Tastalian.

2 (edited by Tom94 2009-08-17 23:07:39)

Re: [MOD] *MOD

I personally think this mod can be abused too much...
Some servers might flood the server list with a redirection to their own server.
Or even enter fake gametypes etc to get people to their server.

This mod is of course useful, but it should be at least kept private to have some "official" random server servers.

Btw, the src messes up with the msvc c-compiler as only variable declarations are allowed at the beginning of a function there.

~{MonkeyStyle}~ - Instagib Teeworlds Clan
VISIT US: http://monkeystyle.xooit.com/
Check out our IRC channel: #monkeystyle on QuakeNet || Also check out the TeeWiki: http://teewiki.info

3 (edited by Sushi Tee 2009-08-18 12:55:39)

Re: [MOD] *MOD

i just tested it and i have to say... it sux :\

its really like a proxy... my ping is five times higher than normal (unplayable) and the server info should change to the info from the server u r actually redirected to wink

uptee - a simple web interface for hosting and maintaining teeworlds servers
teerace - a website gathering results of trusted Race-mod servers providing global ranking and statistics
*gV* rox ^^

4

Re: [MOD] *MOD

I got some errors when trying to compile it to win32
http://i29.tinypic.com/osegle.jpg

5 (edited by Tom94 2009-08-18 00:05:23)

Re: [MOD] *MOD

Slinack wrote:

I got some errors when trying to compile it to win32
http://i29.tinypic.com/osegle.jpg

This is exactly what i explained in my post.
Move all variable declarations to the top of the functions.

~{MonkeyStyle}~ - Instagib Teeworlds Clan
VISIT US: http://monkeystyle.xooit.com/
Check out our IRC channel: #monkeystyle on QuakeNet || Also check out the TeeWiki: http://teewiki.info

6

Re: [MOD] *MOD

its really like a proxy... my ping is five times higher than normal (unplayable)

Yes, it works exactly like a proxy ! smile But I disagree, my ping is about like with direct connection. Maybe you should try it again.

Btw, the src messes up with the msvc c-compiler as only variable declarations are allowed at the beginning of a function there.

Yes, sorry I use GNU compiler so I don't have any problem. The code should now compile under windows.

the server info should chate to the info from the server u r actually redirected to

This bug is now corrected smile.

This mod is of course useful, but it should be at least kept private to have some "official" random server servers.

Yes, it is sure that there is a security issue to get fake servers. But TeeWorlds master servers admins are the ones who have to ban fake servers wink. I prefer to keep this open-source as TeeWorlds is.

7

Re: [MOD] *MOD

clarus wrote:

This mod is of course useful, but it should be at least kept private to have some "official" random server servers.

Yes, it is sure that there is a security issue to get fake servers. But TeeWorlds master servers admins are the ones who have to ban fake servers wink. I prefer to keep this open-source as TeeWorlds is.

I don't ask you to put it closed-src.
I mean completely removing this from the publicity...

The question still is:
How can the master server admins see those fake servers?
People can create 10 redirects to their own server and still it would be extremely hard to detect that. :S
They would gain an unfair advantage to other servers...
And you can't say there aren't kiddos who would do that here in TW...

~{MonkeyStyle}~ - Instagib Teeworlds Clan
VISIT US: http://monkeystyle.xooit.com/
Check out our IRC channel: #monkeystyle on QuakeNet || Also check out the TeeWiki: http://teewiki.info

8

Re: [MOD] *MOD

maybe the ping will be good if the *server is on the same server like the servers u are redirected to but if no the ping sux and for me it is unplayable when i have a ping about 100!

uptee - a simple web interface for hosting and maintaining teeworlds servers
teerace - a website gathering results of trusted Race-mod servers providing global ranking and statistics
*gV* rox ^^

9

Re: [MOD] *MOD

Looks intresting... My ping also looks intresting... This can be something good if the proxy is hosted on a good connection.

10

Re: [MOD] *MOD

for me it is unplayable when i have a ping about 100!

oh guy, i have to smile! smile
i think a ping about 100 is normal and ok. if you cant play with it, maybe think about your skill ö.Ö

i think this mod sounds really interesting, if it is made well

11

Re: [MOD] *MOD

The idea is OK, but the implementation is not. The server should send a request to the client to connect to a different server, not proxify it. I am not sure the client accepts this in the current state of affairs but things could change if we see a need.

We have other things to do than to manage the masterlist with faulty mods. This is as good as an open source virus. I don't see where the spirit of open source lies here.

For now I will remove the links and we'll consider banning the servers using it. I would prefer that the admin (clarus I guess) removes the server by himself (or at least stops registering to the master servers).

Open proxies are always bad. A proxy is only good when it is carefully administered and its access is restricted to its owners or subscribers.

Finally, this is wrong to have server entries in the masterlist that aren't actual servers.

12 (edited by clarus 2009-08-18 14:55:35)

Re: [MOD] *MOD

Hum ... I am sad that you react like that, seeing this mod as a danger for security and concurrency, even if it is true. sad You shouldn't be so violent with people who want to enhance TeeWorlds ^^

I don't see where the spirit of open source lies here.

It lies because this mod is just an example of what can be do with a proxy system. The source code would be also useful for a mod like CITY mod with for example the ability to change room, ie to change server.
And I call back that this mod was just intended to be a proof a concept neutral.

The idea is OK, but the implementation is not. The server should send a request to the client to connect to a different server, not proxify it.

Yes, your idea is better for a simple proxy, but certainly not possible with an unmodified client. Furthermore, I wanted to keep control of client connection to able to add some chat commands, like /next, to go to a new random server, or to broadcast a welcome message.
However, I would like to continue to use this idea for a DUAL mod, with redirection to local servers hidden from the main list, without publishing the sources or binaries.
I hope we will be able to negotiate in order to provide a better user experience with new powerful mods big_smile

13

Re: [MOD] *MOD

The whole thing about the mod would definitely be different if the mod would manage one big server which emulates multiple ones.

Like as you said: a city server with rooms.
This would open possibilities for 16++ slots in a server without client modifications.
Still, currently the mod can be easily abused and i guess that and the fact, that it simply duplicates server's entries in the list is the reason I and many others dislike it.

~{MonkeyStyle}~ - Instagib Teeworlds Clan
VISIT US: http://monkeystyle.xooit.com/
Check out our IRC channel: #monkeystyle on QuakeNet || Also check out the TeeWiki: http://teewiki.info

14

Re: [MOD] *MOD

Zeratul wrote:

for me it is unplayable when i have a ping about 100!

oh guy, i have to smile! smile
i think a ping about 100 is normal and ok. if you cant play with it, maybe think about your skill ö.Ö

i think this mod sounds really interesting, if it is made well

i dont care about what is normal for u wink
maybe 100 is normal where ever u are from but for me 50 is normal... since i ever play with 50 (max 60) its unplayable if u have to wait a long time after klick until the grenade is flying big_smile

well thats not the matter here.... to be honest... im happy that the links are deleted now smile

uptee - a simple web interface for hosting and maintaining teeworlds servers
teerace - a website gathering results of trusted Race-mod servers providing global ranking and statistics
*gV* rox ^^

15

Re: [MOD] *MOD

Sushi Tee wrote:

i dont care about what is normal for u wink
maybe 100 is normal where ever u are from but for me 50 is normal... since i ever play with 50 (max 60) its unplayable if u have to wait a long time after klick until the grenade is flying big_smile

I have 180 all the time, it's not that big of a deal. Suck it up and play.

The mod looks pretty good, I hope the issues like tom said are solved.

Ex-King of Teeworlds

16

Re: [MOD] *MOD

clarus wrote:

Hum ... I am sad that you react like that, seeing this mod as a danger for security and concurrency, even if it is true. sad You shouldn't be so violent with people who want to enhance TeeWorlds ^^

Sorry if I sounded rude, that's not my point. I admit I have no time nor care to coat my words in sugar, yet I mean no harm. I understand your wish to improve TW and I share it as well.

clarus wrote:

It lies because this mod is just an example of what can be do with a proxy system. The source code would be also useful for a mod like CITY mod with for example the ability to change room, ie to change server.
And I call back that this mod was just intended to be a proof a concept neutral.

I understand all that perfectly. But there are many malicious usages to that kind of mod and there is the greater problem of keeping the masterserv list clean. As you know mods are not our priority, but that doesn't mean we want to let anyone use the masterlist as they please, next time we have a coffeemachine which uses the masterlist to report when coffee is ready...

clarus wrote:

Yes, your idea is better for a simple proxy, but certainly not possible with an unmodified client. Furthermore, I wanted to keep control of client connection to able to add some chat commands, like /next, to go to a new random server, or to broadcast a welcome message.

If the idea is not doable in a proper way right now, then better not do it than do it bad. We can discuss means of having the client jump to another server for the next release and you can take part in the development & provide patches if you like. However an open proxy poses more problems than it solves.

Personally, I believe Teeworlds is Teeworlds and some mods are just out of place, matricks never intended to create a game engine, it's a game. We tolerate mods that aren't too far from the original game to a certain extent, but this is purely a technical mod which goes against the philosophy of the game.

If you want a "random good CTF game", the button should be client side, and the list player-created and referenced on the masterservers as a Server List (not as a server). All of these are scheduled for a next release (along with player accounts, community, etc). Using a proxy for that is wrong on many accounts, including for the security of the players (man in the middle, etc).

Now about allowing the proxy to intercept commands, I am not convinced of the usability (because most users have no clue whether they're using a proxy or going straight to a server). I think this is one of the things that should wait for official support, and once again if you like developing for TW you're invited to take part.

clarus wrote:

However, I would like to continue to use this idea for a DUAL mod, with redirection to local servers hidden from the main list, without publishing the sources or binaries.
I hope we will be able to negotiate in order to provide a better user experience with new powerful mods big_smile


I think this is a good idea to allow multiple game instances for one logical server, once again I am not sure this is the best solution, but this is at least a useful hack until we can provide better support, as long as it is a *controlled* proxy. My problem is providing an open proxy (and means to walk around bans, spam masterlist, death loops etc) so your proposal to have local servers not registered to the masterlist, and a logical proxy acting as master server is OK.

17 (edited by clarus 2009-08-18 17:43:31)

Re: [MOD] *MOD

My problem is providing an open proxy (and means to walk around bans, spam masterlist, death loops etc)

Yes, I understand more your point of view now, and I admit I did not see all the problems of open proxy MOD. So I agree it is a good thing not to provide freely such a MOD. I removed sources and binaries from my http server too.

If the idea is not doable in a proper way right now, then better not do it than do it bad.

Yes, it is sure that change the client adding a random map button or changing the protocol would be the right way to do, but my challenge was just to do that without client modification ^^

All of these are scheduled for a next release (along with player accounts, community, etc).

Good news ! smile I think accounts is the most waited feature, and not only because of login faking tongue

and once again if you like developing for TW you're invited to take part.

Thanks ! Even if I prefer to stay on the MOD side, I would be pleased to help you for the next version smile.

so your proposal to have local servers not registered to the masterlist, and a logical proxy acting as master server is OK.

Ok, I will start this development, being careful not to make the server list ugly ^^


Maybe this topic should be closed now.