Widget signing gadget (request) - Page 2

Widget signing gadget (request)

Discuss Lua based Spring scripts (LuaUI widgets, mission scripts, gaia scripts, mod-rules scripts, scripted keybindings, etc...)

Moderator: Moderators

User avatar
Caydr
Omnidouche
Posts: 7179
Joined: 16 Oct 2004, 19:40

Re: Widget signing gadget (request)

Post by Caydr »

I think maybe people are writing this off as an impossible idea without really giving it any consideration. Just because something is open-source doesn't mean it has to automatically have no reasonably-effective method of code verification. Firefox is regarded as a very safe browser but it's open-source, so everyone knows exactly how it will react to malicious code. Linux is open-source but its users spend all their off-hours making fun of how hackable windows is.

The security doesn't have to be flawless, and there's always going to be 1% of the population that will get away with whatever they want to.
Last edited by Caydr on 30 Jul 2009, 19:39, edited 1 time in total.
User avatar
aegis
Posts: 2456
Joined: 11 Jul 2007, 17:47

Re: Widget signing gadget (request)

Post by aegis »

you cannot police unsynced code.
User avatar
Caydr
Omnidouche
Posts: 7179
Joined: 16 Oct 2004, 19:40

Re: Widget signing gadget (request)

Post by Caydr »

"Sync it?" he asked, not even knowing the difference.
User avatar
Neddie
Community Lead
Posts: 9406
Joined: 10 Apr 2006, 05:05

Re: Widget signing gadget (request)

Post by Neddie »

Not that practical.
User avatar
aegis
Posts: 2456
Joined: 11 Jul 2007, 17:47

Re: Widget signing gadget (request)

Post by aegis »

spring has parts of memory that should be the same across all of the computers
this memory is hashed and compared against everyone else.
synced code is executed the same on all players' computers in a game.

if code isn't synced, it can be modified without breaking sync.
widgets are not synced.

if they were synced, it would require everyone's computer to run the widget.


it would be possible to implement the widgets you want in your mod as gadgets and totally disable the widget handler... but someone compiling spring with the widget handler hardcoded enabled still wouldn't break sync.
User avatar
zwzsg
Kernel Panic Co-Developer
Posts: 7052
Joined: 16 Nov 2004, 13:08

Re: Widget signing gadget (request)

Post by zwzsg »

Caydr wrote:I think maybe people are writing this off as an impossible idea without really giving it any consideration. Just because something is open-source doesn't mean it has to automatically have no reasonably-effective method of code verification. Firefox is regarded as a very safe browser but it's open-source, so everyone knows exactly how it will react to malicious code. Linux is open-source but its users spend all their off-hours making fun of how hackable windows is.
It is because of one huge difference. Which side the user is on:
- FireFox-user are not trying to hack their firefox and to get infected. If they did they would. But they are wanting to stay safe.
- Video game players want to win. They want to hack their Spring if it means an advantage.

Caydr wrote:I see something like this as an eventuality... Developers can either choose to wait until that happens
Pendrokar wrote:Maybe in 2020...
There was no smiley in my post. I guess I have to port it to BA or else it doesn't exist.
User avatar
smoth
Posts: 22309
Joined: 13 Jan 2005, 00:46

Re: Widget signing gadget (request)

Post by smoth »

caydr we are not dismissing it, we had large discussions about it prior to argh's widget blocker. The results were that if people want to write a cheat they can. It is just that you came in after all that was discussed and no one wants to talk about it again.
eyu100
Posts: 182
Joined: 05 Jul 2008, 04:10

Re: Widget signing gadget (request)

Post by eyu100 »

Still, this gadget would work for anyone with an official version of Spring...
User avatar
aegis
Posts: 2456
Joined: 11 Jul 2007, 17:47

Re: Widget signing gadget (request)

Post by aegis »

but the gadget itself could be modified to do nothing without breaking sync.
imbaczek
Posts: 3629
Joined: 22 Aug 2006, 16:19

Re: Widget signing gadget (request)

Post by imbaczek »

smoth wrote:It is just that you came in after all that was discussed and no one wants to talk about it again.
this. applies to several other topics as well.
User avatar
Pendrokar
Posts: 658
Joined: 30 May 2007, 10:45

Re: Widget signing gadget (request)

Post by Pendrokar »

zwzsg wrote:
Pendrokar wrote:Maybe in 2020...
There was no smiley in my post. I guess I have to port it to BA or else it doesn't exist.
yeah because years might pass quickly.
User avatar
Argh
Posts: 10920
Joined: 21 Feb 2005, 03:38

Re: Widget signing gadget (request)

Post by Argh »

it would be possible to implement the widgets you want in your mod as gadgets and totally disable the widget handler... but someone compiling spring with the widget handler hardcoded enabled still wouldn't break sync.
Actually, that's some of the problem. Certain things can still only be done in Widget unsynced code, whereas certain other things can only be done in Gadget unsynced code, IIRC. I'd have to dig to get an example, these were issues with callin / callout behaviors, and probably are ultimately tied into the Handlers.

That makes it currently impossible to go the all-Gadget route. Even if that wasn't something that could be fairly easily worked around. Adding a sync check to make sure that everybody is in Widget-less mode would be pointless, though, as ultimately that's something that can be hacked around fairly easily. The fact is that my Widget blocker is effective for all ordinary end-users, but is not "real security", and the game engine will never have "real security" due to the way that sync checks work.

The only way to even approach "real security" would require constant snooping, ala Steam, moderated through the Lobbies, and then it would remain fairly uneffective- hackers could see what was changed today and react... unless said changes occurred within a closed-source DLL, perhaps.
User avatar
smoth
Posts: 22309
Joined: 13 Jan 2005, 00:46

Re: Widget signing gadget (request)

Post by smoth »

I don't know if I would agree with that statement argh, I am pretty sure gadgets can do all the widget stuff.
User avatar
zwzsg
Kernel Panic Co-Developer
Posts: 7052
Joined: 16 Nov 2004, 13:08

Re: Widget signing gadget (request)

Post by zwzsg »

No. For once Argh isn't totally wrong. :wink:

The synced part of the gadget doesn't have access to the unsynced data (like MyTeam, CameraPosition, etc...). But this is normal.

The unsynced part of the gadget would in theory have all the capabilties of a widget. However, in reality, it misses a couple callins, namely all the UnitDestroyed, UnitCreated, UnitDamaged, etc... This is probably a bug or an overlook. You can workaround it by having the synced part of the gadget use those callins, and then send them back to unsynced via some SendToUnsynced and gadgetHandler:AddSyncAction. But this is unpleasant.
User avatar
Argh
Posts: 10920
Joined: 21 Feb 2005, 03:38

Re: Widget signing gadget (request)

Post by Argh »

The unsynced part of the gadget would in theory have all the capabilties of a widget. However, in reality, it misses a couple callins, namely all the UnitDestroyed, UnitCreated, UnitDamaged, etc... This is probably a bug or an overlook. You can workaround it by having the synced part of the gadget use those callins, and then send them back to unsynced via some SendToUnsynced and gadgetHandler:AddSyncAction. But this is unpleasant.
Thank you, for putting in the details. It's probably stuff missing from the gadgetHandler, I just haven't had time to look into it in depth, and just worked around it.
User avatar
smoth
Posts: 22309
Joined: 13 Jan 2005, 00:46

Re: Widget signing gadget (request)

Post by smoth »

so then it sounds like some of this can be fixed by correcting an oversight? Gadget unsynced should be able to do all a widget can.
User avatar
Argh
Posts: 10920
Joined: 21 Feb 2005, 03:38

Re: Widget signing gadget (request)

Post by Argh »

so then it sounds like some of this can be fixed by correcting an oversight?
Yes, and it may be an oversight that can be fixed simply by moving certain things into gadgetHandler Lua code (i.e., no engine change required), although I don't know that, as I just haven't had time to look at this issue.

If anybody has time to look at this, it'd be great to see this get fixed.
dizekat
Posts: 438
Joined: 07 Dec 2007, 12:10

Re: Widget signing gadget (request)

Post by dizekat »

All that widget-signing and other stuff would (maybe) be very, extremely important. In an imaginary world where anyone even bothers to play those mods - or, actually, an imaginary world where those mods get popularity far above BA, which is even more imaginary.

Seriously why won't you guys request signing gadget when you need it, as in, AFTER you get immense popularity and supposed cheating problems that come?
User avatar
smoth
Posts: 22309
Joined: 13 Jan 2005, 00:46

Re: Widget signing gadget (request)

Post by smoth »

I am just saying we should address the missing functionality on the gadget side of things. It doesn't matter what they want to try and do, it is their business. I may not like argh or caydr, I might think that it is a wasted effort because cheaters will find a way. However, there was a constructive conversation going which was starting to actually make notes of a few actual issues with the lua implimentation.

Good job though, because insulting people's work on a grounds of popularity really makes a strong argument.Attacking anyone's work as a ground to denounce their arguement is low and frankly inappropriate. It is just weak.

This a bar of soap, clean your mouth.

is it clean now?

Now, wash the soap out your mouth and come back with something real or put the bar back in your mouth.
User avatar
Argh
Posts: 10920
Joined: 21 Feb 2005, 03:38

Re: Widget signing gadget (request)

Post by Argh »

Seriously why won't you guys request signing gadget when you need it, as in, AFTER you get immense popularity and supposed cheating problems that come?
Because that's the worst-possible time to ask developers for a fairly major refactor of this kind of thing, if it's necessary, is why... duh.

Anyhow, I have a solution that works just fine for me at my game's current level of non-popularity online, so I don't really care all that much. I just brought up the issue of non-portability of Widgets to Gadget code because it was one of the routes I looked at, and it was closed because of those issues.
Post Reply

Return to “Lua Scripts”