Not logged inOpenClonk Forum
Up Topic General / General / Network/League - not possible in OpenClonk?
- - By B_E [de] Date 2009-04-19 09:26
The network mode is one of the most fun parts of Clonk at the moment. A similar system will probably not be possible in OpenClonk due to:
- Cheatengines are only a matter of time, changing the source shouldn't be hard for some experienced players
- Any authentification e.g. via MD5-Hash of the enginecould be faked by changing the source

This was actually already discussed on the Clonk Forum somewhere after the question, why the network code hadn't been released - still, this is a very important point in OpenClonk (I couldn't really imagine Clonk without a network mode).

The only ways I can think this would be possible in my opinion would be some closed source program which checks the correct MD5s of the original version and then establishes a connection to other players. This then would contradict the open source system again...
Otherwise, if all engines work through the game and one modified one changes something -> Synchronisation loss due to cheating

I'm not exactly an expert on network coding but still I'd be glad to hear your opinions/ideas.

[Moved to disscussion]
Parent - - By Fireknight [ch] Date 2009-04-19 09:31
You want GameGuard (http://en.wikipedia.org/wiki/GameGuard) to protect OpenClonk?

I guess the problem would be finding a "Protection software" which runs on Windows, Linux and Mac. Further we'd to discuss if it's correct to protect an
OpenSource-Game with a ClosedSource-Software ;)
Reply
Parent - By B_E [de] Date 2009-04-19 09:34
Hm, Gamespy?
Parent - - By Randrian [de] Date 2009-04-19 09:54
I think a solution for this problem was discussed in the intern forum on clonk.de
The idea was to make official clonk clients with a speck closed source which contains the authorization.
So "official" and protected network playing and the use of the league would be possible.
Reply
Parent - - By knight_k [de] Date 2009-04-19 11:32 Edited 2009-04-19 11:35
Yep. It's planned to allow only "official" build clients, containing some secret authorization code, to take part in league-games.
Using the (non-league) master-server features will be possible with self-built clients as well, at least as long as no abuse occurs...

As even with approved dedicated hosts, client-side (not sync-relevant) changes will still be an issue. So there is no real (simple) way around using some safe/secret authorization to ensure fair games.
Reply
Parent - - By B_E [de] Date 2009-04-19 11:37
Doesn't a syncloss occur when a single client changes something and the game then differs from the others?
Parent - By Günther [de] Date 2009-04-19 11:55 Edited 2009-04-19 12:00
There are other methods. Most simply reveal information that is normally hidden: The enemy Clonk's life energy, stuff behind the fog of war, etc. Another is to issue control commands that are normally impossible to enter. Some things are simply done by sending a control which executes a piece of C4Script which I think is not checked by the host. That could be changed, of course, but it will take a while to plug all holes.
Reply
Parent - - By Günther [de] Date 2009-04-19 11:54
Another idea was to introduce a method to allow checking whether the other players have a registration, so that you can play with people you trust with modified engines, even in the league.

But I think the best method to avoid cheating is to remove artificial challenges from the game for everybody, so that a cheater cannot get an advantage by design. Of course, some scenarios rely on these more than others (hide the crown comes to mind), but something like small melee won't be affected much.
Reply
Parent - - By Fireknight [ch] Date 2009-04-19 17:23
Except he can change the energy left by sending the host that he's drinking a potion or something pointing to this direction.
Reply
Parent - By knight_k [de] Date 2009-04-19 17:25
Things like that would result in a sync loss...(if "drinking a potion" isn't just a keypress he could have made anyway and the potion is real before and empty thereafter)
Reply
Parent - By Kanibal [de] Date 2009-04-19 14:10
Sounds good. Removing network code wouldn't be the best idea, i think, but you don't need league-support in your self-builded engine.
Reply
Parent - - By Caesar [de] Date 2009-04-19 17:50

>containing some secret authorization code, to take part in league-games.


We could do this registration always, and show to other users, that a client is cheat-free.
Parent - By knight_k [de] Date 2009-04-19 17:59
Yep, auth for non-league games is planned anyway to be able to verify the identitidy of the other players...
(and "always" in the sense of "optional" to allow self-compiled clients :))
Reply
Parent - - By MrBeast [de] Date 2009-04-19 12:21
Hm... ive never heard of cheating in other OpenSource Games. Neither in "Battle for Wesnoth" nor in "Teeworlds" nor in "The Mana World". I think the danger is simply overrated. And then, if we really get in that sort of problem we still can change it (and ban the cheater).
Reply
Parent - - By knight_k [de] Date 2009-04-19 12:29
It's (afaik) not an open source game, but i think i remember (client side scripted) weapons shooting millions of missles and thus destroying all the fun in network games in the early times of "soldat"...(was it really "soldat"? Peter?)

Also, when looking at all the league-cheating discussions in the german forum right now, it is definitely an issue to be taken serious.
Reply
Parent - - By Caesar [de] Date 2009-04-19 17:46
Perhaps our league 'cheaters' are witty in finding bugs they could use, but at this point of time, we don't have persons that know the source-code well enough to create a cheat engine.
Parent - By knight_k [de] Date 2009-04-19 18:02
I think that's only a matter of time. There is also no incentive to create cheat engines yet. But "small" cheats like disabling FoW should't be that hard to do...
Reply
Parent - By Clonk-Karl [de] Date 2009-04-19 12:52
The experiences Wesnoth had might be interesting in that context.
Reply
Parent - - By B_E [de] Date 2009-04-19 13:14

>(and ban the cheater).


How do you imagine that? Ban him on all community pages? From network gaming? You can't completely ban somebody just like that especially in an open source game...
Parent - By MrBeast [de] Date 2009-04-19 13:24
I meant if there is something like a league. Banning him from the league wont be a problem.
Reply
Parent - By knight_k [de] Date 2009-04-19 13:31
Bans are only possible if there is some kind of registration and authentication.
Registrations only work, if the player has something to loose (like money or/and league scores) and cannot just make a new account for "free".
Furthermore, well done client side cheating won't be discoverable that easy and will be even harder (if not impossible) to prove.
Reply
Parent - By LoneS [fi] Date 2009-04-19 20:19
An improved system or no league at all for OC, please.
Parent - By zagabar [se] Date 2009-04-26 01:33
Why not just give the admin a way to kick/ban players directly? If the admin is the cheater, then just leave.
Reply
Up Topic General / General / Network/League - not possible in OpenClonk?

Powered by mwForum 2.29.7 © 1999-2015 Markus Wichitill