Giter Club home page Giter Club logo

Comments (10)

WinterPhoenix avatar WinterPhoenix commented on August 20, 2024 1

Thanks for all the hard work Yepoleb!

from python-a2s.

Yepoleb avatar Yepoleb commented on August 20, 2024

Thanks for the heads up! This shouldn't be too difficult to implement.

from python-a2s.

Yepoleb avatar Yepoleb commented on August 20, 2024

I've committed this in a branch and will merge it as soon as the feature in Steam leaves beta. Currently the padding is not configurable, but I might add it for compatibility later if there is a relevant number of servers that doesn't implement the change. Official policy is still "it's not supported if Steam doesn't support it" but it might be worth it to make an exception here. https://github.com/Yepoleb/python-a2s/tree/padding

from python-a2s.

WinterPhoenix avatar WinterPhoenix commented on August 20, 2024

Wonderful, looks like it's working, thanks!

from python-a2s.

WinterPhoenix avatar WinterPhoenix commented on August 20, 2024

Heads up, it looks like Valve is changing the approach they're using for the A2S_INFO changes due to the padding triggering existing Anti-DDoS filters:
https://steamcommunity.com/discussions/forum/14/2989789048633291344/#c2974028351329871253

from python-a2s.

Yepoleb avatar Yepoleb commented on August 20, 2024

Thanks, will implement this as soon as possible.

from python-a2s.

Nereg avatar Nereg commented on August 20, 2024

image
it seems like they implemented it already in official client. And [here] is link mentioned in the changelogs
P.S. For now my test script and project is working fine with ARK: Survival Evolved.

from python-a2s.

Nereg avatar Nereg commented on August 20, 2024

I found test server with new format (138.201.84.93:27113) and this library doesn't wotk with it at all. Here is stack trace:

Received single packet: b'A\xad $\x00'
Traceback (most recent call last):
  File "test.py", line 22, in <module>
    server = a2s.info(address)
  File "D:\Projects\Current\ARK Server monitor\lib\site-packages\a2s\info.py", line 272, in info
    return info_response(resp_data, ping, encoding)
  File "D:\Projects\Current\ARK Server monitor\lib\site-packages\a2s\info.py", line 259, in info_response
    "Invalid response type: " + str(response_type))
a2s.exceptions.BrokenMessageError: Invalid response type: 65

I took it from responce here:

Thanks for the information.

I successfully tested the new protocol with this configuration:
- TOXIKK game server (app id 324810)
- dropped the dlls from the zip you linked above into C:\steamcmd\steamapps\common\TOXIKK\Binaries\Win32, replacing the older DLLs that are shipped with the game
- setting STEAM_GAMESERVER_A2S_INFO_REQUIRE_CHALLENGE=1
- started the server

The Steam Client's built-in browser (View / Servers) and also the game's internal server browser did not show my server before I opted-in to the steam client beta. After beta opt-in the server was listed again in both.

My SteamServerBrowser app constructs UDP query packets directly without steamclient.dll and works now too after a bug fix. I can confirm that the server is sending a challenge as expected.

If anyone needs a server for testing, you can use mine: 138.201.84.93:27113 

And also this author implemented that in his client : https://github.com/PredatH0r/SteamServerBrowser

from python-a2s.

Yepoleb avatar Yepoleb commented on August 20, 2024

I did not have a test server and that delayed the implementation, but with a public one I can move forward much quicker. Thanks for the hint!

from python-a2s.

Yepoleb avatar Yepoleb commented on August 20, 2024

Implemented in a453675

from python-a2s.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.