StunlockStudios / vrising-dedicated-server-instructions

V Rising Dedicated Server Instructions
473 stars 45 forks source link

Battlemetrics and data pulling #60

Open InfamyStudio opened 2 years ago

InfamyStudio commented 2 years ago

How is it possible that Battlemetrics are pulling all the data about each server from steam, this is all the custom settings each server has setup. So can you let me know how they are doing this and also the extent of what they can pull. From my findings they return every single detail within our server settings folder including passwords but do not display it publically.

https://pastebin.com/pnFvKLqS

Fy- commented 2 years ago

+1

InfamyStudio commented 2 years ago

+1

Trust me this is annoying, for one why are these encoded. Secondly, why is this not documented or even priority support? I require this for my API and Battlemetrics has told me they "decrypted" these. Please any dev tells me what to do with this data and what it is encoded with. Have you made any progress @Fy-? I have tried base64 decoding, tried messing around with the has but it does not output to any legible text. I asked a cryptography group and they say it is not a standard encoding.

Fy- commented 2 years ago

Honnestly I only check quickly to see references & docs . I don't even know how to pull data yet, but I saw your post across multiple forums. (I plan on checking in details this we, I'll update if I find something interesting :)

InfamyStudio commented 2 years ago

Sounds good, I am wondering if there is another way to decode the data or pull the data from another place? I was honestly tempted just to scrape battlemetrics but servers do not have links the same way we would query one.

Fy- commented 2 years ago

Using steam API you can get all data (servers infos / GS / time played) - it's suffisant for my needs so I'll stop there for now : https://steam.readthedocs.io/en/latest/api/steam.game_servers.html# :)

Server:

>>> gs.a2s_info(server) 
{'_ping': 49.11971092224121, '_type': 'source', 'protocol': 17, 'name': '[EU] FY.TO - [PVP Solo] [Wiped: 28-05-22 GMT2]', 'map': 'VRisingWorld', 'folder': 'V Rising', 'game': 'e6221b53-59d1-448d-b911-a677fb98b50c', 'app_id': 1604030, 'players': 1, 'max_players': 40, 'bots': 0, 'server_type': 'd', 'environment': 'w', 'visibility': 0, 'vac': 1, 'version': '0.0.0.1', 'edf': 177, 'port': 9876, 'steam_id': 90159774719506435, 'keywords': 'pvp,cs1,ded,std,sal_mi', 'game_id': 1604030}

Players :

>>> gs.a2s_players(server)
[{'index': 0, 'name': 'Sylfade', 'score': 54, 'duration': 4497.39501953125}, ...]
InfamyStudio commented 2 years ago

My API does all of this: https://rapidapi.com/InfamyStudio/api/vrising-server-scanner - just returns encoded settings data.

AunePVP commented 2 years ago

Any updates on this topic?