January 07, 2025, 10:49:37 pm

The Gang Garrison 2 Forum

Please login or register.

Login with username, password and session length
Advanced search  

News:

NOTICE: Wondering where all the forums have gone?

Join the community Discord server!

Pages: 1 ... 34 35 [36] 37 38 ... 77

Author Topic: Official PyGG2 Development thread  (Read 162860 times)

dAn

  • Full Member
  • ***
  • Karma: 0
  • Offline Offline
  • Posts: 216
Re: Official PyGG2 Development thread
« Reply #525 on: February 25, 2012, 12:46:05 pm »

The next easiest is making the server check by some hash-check whether the client is a vanilla client, which would kill any sprite-mods too, and still be hack-able by the best.
This solution is something I thought about. TF2 has something similar for resources: sv_pure
Quote from: wiki.teamfortress.com
Outside of VAC securing a server, the first line of defense against cheating is the server variable (console command) sv_pure. This variable controls where a client gets its information and acts as a means to restrict what kind of content and files can be modified/substituted on the player's side. This can be easily exploited by players if not configured properly. Its optional (but not vital) to set this variable to 1 or 2 if you don't want to allow any form of cheating on your servers. By default sv_pure is set to 0 which restricts nothing. Possible values are 0, 1, and 2 which are explained below.

sv_pure 0
allows the client to specify the location of ANY game file. A client can potentially use modified files to gain an unfair advantage by doing things such as replacing enemy player models with ones that use bright colored skins, make walls invisible, add beacons onto the intelligence, or just about anything else you can think of. VAC doesn't protect against these kinds of exploits because they don't modify the game process itself. It's up to the server to decide what its clients can do.
sv_pure 1
restricts where the client can get information from based on a white list (list of allowed content). The default white list is still set to allow custom player models as well as any potential exploits such as bright skins.
sv_pure 2
forces the client to ignore ALL user content, and instead forces them to use the information supplied by Steam. While this is the most secure, sv_pure 2 will prevent the use all custom skins/models and even custom sprays.

For more information on sv_pure servers, including information on the white list format, see Pure Servers on the Valve Developer Wiki.
Is it possible to implement something like sv_pure 1 but with a blacklist? You only talked about something similar to sv_pure 2, which is preventing any modding.
On a scale of : will/can do - will/can eventually do - will/can not do
where does this stand, if it is at all feasible?
Logged

NAGN

  • Developer
  • ******
  • Karma: 146
  • Offline Offline
  • Posts: 16150
  • Yeah so now I have an idea
Re: Official PyGG2 Development thread
« Reply #526 on: February 25, 2012, 01:04:22 pm »

you're talking about something completely different. We're talking about the server providing recourses for the client, and not vice versa. On a scale of impossible to possible, its impossible to implement a sort of system like that without making some sort of closed-source extension which does MD5 hash checks to check to see if any data has been modified.

It is impossible because the game is open source - ANY of the client's resources are easily modified, and the client can just send a fake "default" hash back to the server upon request
Logged

Orpheon

  • Moderator
  • *****
  • Karma: 15
  • Offline Offline
  • Posts: 6409
  • Developer
Re: Official PyGG2 Development thread
« Reply #527 on: February 25, 2012, 03:58:20 pm »

you're talking about something completely different. We're talking about the server providing recourses for the client, and not vice versa. On a scale of impossible to possible, its impossible to implement a sort of system like that without making some sort of closed-source extension which does MD5 hash checks to check to see if any data has been modified.

It is impossible because the game is open source - ANY of the client's resources are easily modified, and the client can just send a fake "default" hash back to the server upon request
We could do some complicated shit like making the server send some random stuff to the client, which the client then somehow adds to itself and sends back the md5 or something. Not un-hackable, but pretty damn hard.

But yeah, client-side control in an open-source game is usually a very bad idea.
Logged

nightcracker

  • NC
  • Full Member
  • ***
  • Karma: 0
  • Offline Offline
  • Posts: 516
  • PyGG2 dev
    • NC Labs
Re: Official PyGG2 Development thread
« Reply #528 on: February 26, 2012, 08:30:00 am »

I updated pygrafix, and did a quick pygg2 update so it supports the new syntax/API changes.

The download link for windows binaries of pygrafix is now https://github.com/downloads/nightcracker/pygrafix/pygrafix.win32.latest.zip. The documentation for pygrafix can be found here: http://readthedocs.org/docs/pygrafix/en/latest/. If you are not on Windows you must download and compile from source: https://github.com/nightcracker/pygg2. Instructions for compiling can be found here: http://readthedocs.org/docs/pygrafix/en/latest/compiling.html.

I can also report that pygrafix has been successfully compiled and used on Mac OS X!
Logged

notajf

  • Guest
Re: Official PyGG2 Development thread
« Reply #529 on: February 26, 2012, 08:31:36 am »

I can also report that pygrafix has been successfully compiled and used on Mac OS X!

That's great for the nonexistant GG2 Mac users then

:hehe:
Logged

Orpheon

  • Moderator
  • *****
  • Karma: 15
  • Offline Offline
  • Posts: 6409
  • Developer
Re: Official PyGG2 Development thread
« Reply #530 on: February 26, 2012, 08:55:15 am »

I can also report that pygrafix has been successfully compiled and used on Mac OS X!

That's great for the nonexistant GG2 Mac users then

:hehe:
Like Nukleus. Like at least 5 separate people who appeared in IRC asking for gg2 on mac. Like me a few years ago.

Also,
I can also report that pygrafix has been successfully compiled and used on Mac OS X!
Not PyGG2. Pygra(ph)fix isn't just for gg2.
Logged

notajf

  • Guest
Re: Official PyGG2 Development thread
« Reply #531 on: February 26, 2012, 08:56:25 am »

Also,
I can also report that pygrafix has been successfully compiled and used on Mac OS X!
Not PyGG2. Pygra(ph)fix isn't just for gg2.
I am well aware of that.
I was just saying...
Logged

Orpheon

  • Moderator
  • *****
  • Karma: 15
  • Offline Offline
  • Posts: 6409
  • Developer
Re: Official PyGG2 Development thread
« Reply #532 on: February 28, 2012, 02:01:38 pm »

I added some stuff around client ID passing, and 2 players on the same server now work. 3 don't, for some reason I'll investigate, but that's secondary.

The main point is that we should now test it on a bigger distance than loop-back. I want to see whether it works on a real connection too.
« Last Edit: February 28, 2012, 02:01:56 pm by Orpheon »
Logged

notajf

  • Guest
Re: Official PyGG2 Development thread
« Reply #533 on: February 28, 2012, 02:02:47 pm »

I added some stuff around client ID passing, and 2 players on the same server now work. 3 don't, for some reason I'll investigate, but that's secondary.

The main point is that we should now test it on a bigger distance than loop-back. I want to see whether it works on a real connection too.
OK, make it run without GUI and I can host a 24/7 test server ;)
Logged

Orpheon

  • Moderator
  • *****
  • Karma: 15
  • Offline Offline
  • Posts: 6409
  • Developer
Re: Official PyGG2 Development thread
« Reply #534 on: February 28, 2012, 02:06:23 pm »

I added some stuff around client ID passing, and 2 players on the same server now work. 3 don't, for some reason I'll investigate, but that's secondary.

The main point is that we should now test it on a bigger distance than loop-back. I want to see whether it works on a real connection too.
OK, make it run without GUI and I can host a 24/7 test server ;)
It's not even possible to run a server with GUI.  :drool:

Also nightcracker:
Code: [Select]
/GG2/client_main.py", line 35, in <module>
    pygrafix.resource.add_location("sprites")
AttributeError: 'module' object has no attribute 'resource'

I pulled the latest pygrafix, compiled and installed it per readme, but I'm still getting this error. What have you broken?
Logged

notajf

  • Guest
Re: Official PyGG2 Development thread
« Reply #535 on: February 28, 2012, 02:09:26 pm »

I added some stuff around client ID passing, and 2 players on the same server now work. 3 don't, for some reason I'll investigate, but that's secondary.

The main point is that we should now test it on a bigger distance than loop-back. I want to see whether it works on a real connection too.
OK, make it run without GUI and I can host a 24/7 test server ;)
It's not even possible to run a server with GUI.  :drool:
oh goodie
Logged

Fish

  • Guest
Re: Official PyGG2 Development thread
« Reply #536 on: March 09, 2012, 07:32:06 pm »

I saw the PyGG2 testing server on the lobby list which means work is getting done :]
Logged

NAGN

  • Developer
  • ******
  • Karma: 146
  • Offline Offline
  • Posts: 16150
  • Yeah so now I have an idea
Re: Official PyGG2 Development thread
« Reply #537 on: March 09, 2012, 07:42:14 pm »

sorry about that, you need to host a server in order to run clients, so I might have accidently port forwarded
Logged

MedO

  • Owns this place
  • *****
  • Karma: 151
  • Offline Offline
  • Posts: 1755
Re: Official PyGG2 Development thread
« Reply #538 on: March 09, 2012, 07:55:40 pm »

Aww, and I just added the UUID to the list of known lobbies :P
Logged
Quote from: Alfred North Whitehead
It is the business of the future to be dangerous; and it is among the merits of science that it equips the future for its duties.

Quote from: John Carmack
[...] if you have a large enough codebase, any class of error that is syntactically legal probably exists there.

NAGN

  • Developer
  • ******
  • Karma: 146
  • Offline Offline
  • Posts: 16150
  • Yeah so now I have an idea
Re: Official PyGG2 Development thread
« Reply #539 on: March 09, 2012, 07:59:26 pm »

...

I really have no idea what I'm doing
Logged
Pages: 1 ... 34 35 [36] 37 38 ... 77
 

Page created in 0.054 seconds with 36 queries.