home home

downloads files

forum forum

docs docs

wiki wiki

faq faq

Cube & Cube 2 FORUM


Enemy Territory + Cube 2 = wOOt?

by ezombie on 01/19/2008 16:25, 258 messages, last message: 04/03/2008 21:39, 195114 views, last view: 09/29/2024 00:32

I made an actual thread for this, since we are still yacking about it. To bring the others up to speed:

"Some of us weirdos have been kicking around the thought of making a community edition of Enemy Territory (the FIRST one). I suggested the Cube 2 engine might be a good base...

This would be a straight port of ETPro gameplay to a standalone open source game, using new 'HD' assets. Nothing too fancy, just better graphics and netcode are what we would be looking for."

Go to first 20 messagesGo to previous 20 messages    Board Index    Go to next 20 messagesGo to last 20 messages

#114: Re: ..

by Aardappel_ on 01/31/2008 03:21, refers to #113

the day a quake engine switches its bsp to sauer's octree format is the day I will declare us the winners :P

(hint: not going to happen)

reply to this message

#115: ..

by makkE on 01/31/2008 13:58

I think already a successful and widely noted mod of Sauerbraten would be a win.

Don t get me wrong, but with the current game´s flaws, it´s no wonder Sauerbraten is percieved in the way it seems to be. Add the way the community acts as a whole, and you´re there.

If someone comes onto the forums with typical suggestions/questions of someone comming from a diffrent game, the pack usually goes on him and shouts him down, and I don´t mean those "wiil u add vehicals liek in bf2 coz that will so roxorror!11!lol!" kind of posts..

Even if indisputable flaws are being adressed by outsiders, they will be silenced by a sheer mass of people defending said flaws until the topic initiator gives up.

I myself have participated a lot in that, but by now I see that many of the points these people made would have been worth thinking about, at least accepting them, but I was going with the crowd then, I admit.

After all it makes me understand why Sauerbraten and it´s community are percieved like that. The "us against them" attitude comes from both inside and outside if you ask me.

reply to this message

#116: ..

by scasd on 01/31/2008 15:17

I have browsed the Sauerbraten code a bit now and i must say from my point of view it is very weak for cheating. I have also seen guys damaging me while they are invisible or guys flying around like birds so Sauerbraten is weak for cheating. The community is small and will be small in future if there is no anti cheat implementation. Ok - "There are more players then cheaters and more servers then players..." (wiki) - but there is not only one player per server - they are all on one server (mostly The Conquerors) and the cheater can see his victims just on the server browser. So that could be one big reason why is rated worst often. I mostly play on LAN and are not afraid of cheaters. The fast server code is perfect there by the way.

Online you may run into trouble with the server code as a mod/t.c. base.

reply to this message

#117: Cheating

by hfsdjkconorhfsdkj on 01/31/2008 15:27

Find me a game engine that people can\'t hack into and cheat in...

Sauer is always been like this, but cheating right now is at an all time low.

There are methods that can be used to combat cheating, but they probably just aren\'t implemented right now to prevent it, because it is not needed yet...

reply to this message

#118: ..

by freegamer on 01/31/2008 16:02

Stick to your guns ezombie, you are using the right engine. Sure, sauer has it's flaws, all game engines do, but sauer also has incredible benefits which are far greater - performance, cross platform, rapid content development, good development community, etc - and the flaws are easily addressable (cheating, the few missing features).

In the short history of my blog Free Gamer and Sauer, I've been a strong proponent of starting new FPS games using Sauer as the base, because it gets away from the normal pita standard of developing game content and brings it together in a way that is focused on being easy to create content for and easy to mod and not obsessed with outdating everybody's PC but still having the ability to look great.

reply to this message

#119: ..

by ezombie on 01/31/2008 19:01

I already have plans for the cheating issue, thank you for the concern though.

As far as 'anticheat' is concerned, I have read a zillion white papers (include some doctoral thesis) and opinions on the subject. I am also an embedded control systems and network/DB programmer by trade. I know microcode and various other 'itty bitty computer' tricks like the back of my hand. I'm sure we can figure something out that will be sufficient to discourage dorks.

Of course it won't be foolproof. NO anti-abuse system EVER is. People need to accept that fact of gaming life. You use a super strong anticheat system, you also get mass lag and a bunch of crap slowing down your system and/or the servers.

There is always a tradeoff. The biggest protection against cheaters is actually YOU. It's a social thing.

There is nothing to stop us from modifying the netcode, but we are trying to avoid that if at all possible. We LIKE the '250 ping' = 'no lag smooth as butter' online gameplay. Perhaps some people don't. Go fig...

reply to this message

#120: ..

by scasd on 01/31/2008 20:08

A strong anti cheat system doesnt mean having lags - the connection speed depends on the things you send. If you send screenshots and the whole player data block all the time maybe but you dont need to do this.

Preventing things like flying or sticking within walls needs only some kind of position proofing server sided. I dont find something like server sided clipping. But I have not yet red the whole server code.

By the way Sauerbraten really gets lagged when there are only grenade bases in regen capture... or are that just all the explosions ? This only could be if the server would proof the positions.

A thing I also have not find yet is a check about whether your ammo is gone or not. Quake does all this things but it sucks :P
I by myself dont like porting all my maps to a newer version of id softwares engine because it takes nearly the time of building new ones.

reply to this message

#121: Re: anti-cheat

by MeatROme on 01/31/2008 21:28, refers to #120

Huh? sending screenshots??? That'd be insane and ... no ... just plain insane!
Anyway - you can just go ahead an believe eihrul, he really does know what he's talking about!

FYI: the server currently has _absolutely_ no idea about positions - no geometry or vectors of any kind!

What exactly do you mean by "check for ammo gone"? Do you want to be able to check this via CubeScript? That's not currently implemented - but it's a trivial implementation.

In fpsgame/fps.cpp just add this:
CCOMMAND(mygun, "", (fpsclient *self), { intret(self->player1->gunselected); });
CCOMMAND(myammo, "i", (fpsclient *self, int *val), { intret(self->player1->ammo[val]); });

then you could do following CubeScript:
if (= (myammo (mygun)) 0) [ echo out of ammo for gun (concatword "#" (mygun)) ] [ ]

HTH

reply to this message

#122: ..

by scasd on 01/31/2008 21:33

Hmm, a dumbish master kicks me together with all other player on The Conquerors by the way some days ago. I would never vote for a master I dont know. If anyone would do that the master is only important for coop editing where idiots can destroy the map. They have to be kicked fast - otherwise they sendmap thousands of time etc...

Server sided ammo checking is good to hear - I just wrote the text above while you post. The proofing algorithms are not needed in coop edit I think. What about position checks and clipping in normal multiplayer ?

It could rise the network speed because you only have to send events which are seen by a player. This would also make wall hacks useless.

For aimbot and sound hack detections I agree. They really ate CPU time in other engines and avoiding them is impossible even if you do angle and process-memory checking.

I added an aimbot for some kind of robotic styled quake 2 mod years ago where you can control the monsters from single player and move/shoot with them in coop/multiplayer. What I want to say is if a cheat which is impossible to beat becomes part of the gameplay and is thus accessible for all players it is outrun forever (dont laugh - see real time strategy games, they have aimbots by default).

But aimbots would not fit with the Sauerbraten gameplay I think. You may ignore them or not - I dont care. I just mentioned the movement hacks and potential ammo hacks.

reply to this message

#123: Re: ..

by yoopers on 01/31/2008 22:11, refers to #122

I think Sauer's current approach to combat cheating is spot-on. Leaving aside the technical aspects, letting people self-organize just seems to work better than any anti-cheat systems I've run across.

There have been times when I have been confronted with a cheater (and surprisingly it tends to be newer players that cheat in my experience). If I have master, I try to turn it into a learning opportunity for the cheater, giving them adequate warnings against their behavior, explaining why their actions tend to suck, and generally just doing that whole how-to-win-friends-and-influence-people-thing. More often than not the cheater stops cheating and I feel like I've won some positive karma. :]

Corrupt masters are another problem entirely, but the simplest solution is to just leave the server and find another one. There's more servers than any of us could ever fill, so what's the big deal? Alternately, TC is using a new "remote admin" concept that lets them monitor their servers from IRC. So, some servers will continue to have a Wild West feel to them, but others are getting more structure. Sauer can accommodate both approaches because it doesn't try to solve this fundamentally human and social problem with technical countermeasures.

reply to this message

#124: ..

by ezombie on 01/31/2008 23:02

"What about position checks and clipping in normal multiplayer ?

It could rise the network speed because you only have to send events which are seen by a player. This would also make wall hacks useless."

Well, the server does not even load the map that is currently playing. So it would have to load the map, plus interpret the map somehow. Like they said, this would push it much closer to the client in terms of mem+cpu used.

And as far as implementing a 'view model', I see this brought up all the time in discussion, yet no commercial game uses yet AFAIK (even the spanking new ones). This must mean something... any comment on that eihrul?

reply to this message

#125: Re: anti-cheat

by SheeEttin on 01/31/2008 23:10, refers to #121

Some games take screenshots. I think it's actually PunkBuster that does it.
The screenshots are really low-res (320x240, 16-bit color or lower), so there's not a whole lot of net usage, especially since they're sent infrequently.

The screenshots themselves, however, do not do much in the way of defeating aimbots, etc., as they have to be manually reviewed by an admin, as well as not necessarily showing an actual cheat.

While screenshots are an interesting option, there's too little gain for too much work and/or resource use.

reply to this message

#126: ..

by scasd on 02/01/2008 00:39

There is no need for leaving a corrupted server - you are kicked before you can disconnect :P ok, ok *g* I got disconnect clicked so I have not been banned - but I wondered why all other players are kick-banned after each other.

About that movement hacks: what if a guy moves very fast to an item, picks it up and moves then back to his original position... that would be possible without movement checks easily. In ffa and other modes with items the server sided ammo check would be useless in that case.

@ezombie: A flag that allows the admin to enable server sided clipping could solve the CPU usage problem - I really dont want such code running on non-dedicated LAN servers too by the way... But idiots could hack themselves ammo/health and move like a fly and through walls without that - which wipes out online servers very fast as far as I have seen it.

reply to this message

#127: Re: ..

by JadeMatrix on 02/01/2008 01:26, refers to #127

That's perfectly understandable. No connection is perfect, and even if it was, the server and client aren't. But I think server-side clipping would be a good idea for making sure the players aren't where they shouldn't be or go. Maybe. Hmm, doesn't appear to work for open-air maps... maybe a separate clip-model...

Ok, so in conclusion, the entire concept is still too unfeasable as is. That's why the big games don't us it: too much effort for too little return.

Although I have been thinking about this kind of stuff recently... I'll give the idea some more time to roll around.

reply to this message

#128: Re: anti-cheat

by ezombie on 02/01/2008 03:22, refers to #125

I actually set punkbuster to grab a screenshot randomly from players on our servers, so I could show them on the website.

It doesn't use much bandwidth, true - but unless people have well configured, higher end firewalls (with ACK prioritation) - it kills your ping for the 1-3 seconds that it takes to upload it. Very noticable in game.

reply to this message

#129: ..

by ezombie on 02/01/2008 03:28

I agree about the general concept of server 'sanity checking' for player action. This is a heuristic-based approach and can be quite sexy if done just right.

But make no mistake, it's HARD. It can be difficult to get the thing just sensitive enough kick most cheaters, but not kick really good players.

I have implemented some heuristics for the monitoring of assembly line machinery. It can make your head really hurt at times...

reply to this message

#130: ..

by scasd on 02/01/2008 21:04

the server sided clipping would only cause the server to kick players within solid areas (no physics). To find players who are moving too fast or too hight would perhaps need full physics emulation.

The weapon hits and stuff are not affected. But as you mention this piece of server code - it is also really weak for cheating. I got slapped from somewhere by the way on a server without having a person seen. This also could have been a hacked hit event.

By the way, the server knows 'from' and 'to' values from a shot and can compare them to the other player positions which haven been got from the same client (with the same LAG, ping and stuff --> no sync problem, the server knows where players are). In this case the client will get what it sees because only the shooters position is validated fully and the hit destination is checked to be within a range around the victim. This would also need server sided physics because of the speed of a victim and thus the range where a hit may occur.

So I really dont understand why you complain about your small community and dont invest more in server sided validation because cheater suck - and there are cheater in Sauerbraten. As mentioned above I dont mean client sided hacks like aimbots. I mean things you can identify - flying like a bird or being invisible while damaging others.



@ezombie: The problem with the sensitivity can be solved by rising it. This would not kick all cheater but also guys with too much packet loss - they suck too and can also be kicked for my opinion. The speed may still be raised by hack but only a small amount. Hits can occur also when victims are directly behind small walls while moving. But that are only special cases not worth to create hacks for I think.

reply to this message

#131: Re: ..

by yoopers on 02/01/2008 21:27, refers to #130

To the problems of flying like a bird or being invisible, I offer the following haiku:

Flying through the air?
Stalking opponents unseen?
/kick [cn] resolves all.

(just hoping to introduce the proper level of sarcasm and snarkiness into this discussion ;)

reply to this message

#132: ..

by ezombie on 02/01/2008 22:50

How would we solve these problems 'flying like a bird or being invisible while damaging others'? And what hack would the 'check the shots' protect against?

Since the client is doing the physics, you will definitely need server physics to determine if they are flying, and you will need the map loaded, parsed, and players simulated.

And since it is doing the physics for EVERYONE, this will use more CPU then one client does. And you will end up with the same net performance/server lag as seen in ET or (uggh) ET:QW. See the problem? I agree that cheaters suck, but you are describing a particularly dicey way of implementing server side checking.

The ammo/health thing has been addressed. I'm not sure where the 'invisible' thing is coming from - I suspect abuse of the translucent model control (used to indicate bad connections in game I think). That would be a simple enough server check.

I find that cheaters typically like the challenge (of exploiting) over all else, and as a discussion about Sauer hacks on NixCoder.org pointed out "what's the fun of hacking Sauer? The server doesn't check ANYTHING". So sitting around here arguing about the best way to stop cheaters is something they would love. Heck, they are likely reading/posting about it (if they are bored enough) simply so they *can* have fun hacking Sauer in the future.

Some of us are working on it, but not in the methods you think.

There are many ways to deal with the problem, the best of which is to simply shrug our collective shoulders and have some fun with /kick, /ban (coming to a mod near you), and if all else fails, just move to a new server.

I'm sure those cheaters LOVE playing by themselves.

BTW, last I checked, no one around here was complaining about the size of the community...

reply to this message

#133: ..

by scasd on 02/02/2008 02:10

Yea nice idea - "a one person needs only to vote for a kick ban on a 16 player server" - cool feature ***even more sarcasm*** /kick [cn] does not work every time by the way and when... *phew* the cheater is getting a new IP and a new name just within seconds.

By the way I dont run away from cheater.
I dont care about cheater and I dont would disconnect before the round is ended only because of cheater. Others would do and playing only against cheater is nasty.
I mentioned the possibilities to cheat as a contra versus Sauerbraten as mod base for online mods. Because implementing all that discussed stuff wouldnt be easy.



@ezombie: Are not the clients doing the physics for every player ? What about all the monsters in single player ? My good old 2ghz athlon was enough to simulate them - and Sauerbraten didnt use 100% of it.

The 'shot protect' would check if someone shoots around multiple corners.

Remember the long thread about Sauerbraten rated worst. The community is complaining about others who say Sauerbraten sucks. I didnt read the article but since graphics and speed are nice for my opinion it could only be cheating/bug using and the issue about "nothing against cheats implemented".

I have red some threads about that issue in the last year. There is no important game ladder without an official or unofficial anti cheat tool.

reply to this message

Go to first 20 messagesGo to previous 20 messages    Board Index    Go to next 20 messagesGo to last 20 messages


Unvalidated accounts can only reply to the 'Permanent Threads' section!


content by Aardappel & eihrul © 2001-2024
website by SleepwalkR © 2001-2024
56731617 visitors requested 74644149 pages
page created in 0.051 seconds using 10 queries
hosted by Boost Digital