Closed tfausak closed 8 years ago
@danielsamuels: Although I was parsing SteamIDs incorrectly, I think this player's SteamID is simply invalid. Here's what this branch says about it:
"Engine.PlayerReplicationInfo:UniqueId": {
"Value": {
"Remote": {
"Value": {
"Universe": 0,
"Type": 0,
"Number": 24488897,
"Instance": 0
},
"Type": "Steam"
},
"Local": 0,
"System": "Steam"
},
"Type": "UniqueId"
},
Compare that to "Chupis" from the same replay:
"Engine.PlayerReplicationInfo:UniqueId": {
"Value": {
"Remote": {
"Value": {
"Universe": 1,
"Type": 1,
"Number": 91355920,
"Instance": 1
},
"Type": "Steam"
},
"Local": 0,
"System": "Steam"
},
"Type": "UniqueId"
},
Hmm, it could be STEAM_0:1:24488897
which gives you this user. Could be a match.
Yup!
That doesn't make a whole lot of sense, though. If the "number" part is correct, how can I be reading everything else as 0
when at least one of them should be 1
?
I'm not sure! May I request that the 64-bit values remain somewhere, if at all possible? I use them for a lot of things, and would prefer not to have to convert them back.
Oh, if you're using the SteamIDs as they are now, I'd prefer to leave them alone. This one particular player's SteamID is bogus, but it's not a parsing problem.
Sure, no problem - I just wasn't sure where the problem was. If it's just bad data in the replay then I can live with that.
Yeah, I'm pretty sure it's not a parser error. Especially since it is serialized many times and is "wrong" every time, but all the other SteamIDs are fine. For some reason that SteamID has three bits as 0
when they should be 1
.
"ProjectX.GRI_X:Reservations" => VReservation (CompressedWord {limit = 7, value = 0}) 0x01 (RemoteSteamId (SteamId {unpackSteamId = 0x000000000175abc1})) (Just 0x00) (Just "Ahad") (Boolean {unpack = True}) (Boolean {unpack = True})
"ProjectX.GRI_X:Reservations" => VReservation (CompressedWord {limit = 7, value = 1}) 0x01 (RemoteSteamId (SteamId {unpackSteamId = 0x0110000101214082})) (Just 0x00) (Just "Rayhush") (Boolean {unpack = True}) (Boolean {unpack = True})
"ProjectX.GRI_X:Reservations" => VReservation (CompressedWord {limit = 7, value = 2}) 0x01 (RemoteSteamId (SteamId {unpackSteamId = 0x0110000102890e3c})) (Just 0x00) (Just "TeRRoR eYeS") (Boolean {unpack = True}) (Boolean {unpack = True})
"ProjectX.GRI_X:Reservations" => VReservation (CompressedWord {limit = 7, value = 3}) 0x01 (RemoteSteamId (SteamId {unpackSteamId = 0x011000010662c745})) (Just 0x00) (Just "Mo") (Boolean {unpack = True}) (Boolean {unpack = True})
"ProjectX.GRI_X:Reservations" => VReservation (CompressedWord {limit = 7, value = 4}) 0x01 (RemoteSteamId (SteamId {unpackSteamId = 0x011000010571fb10})) (Just 0x00) (Just "Chupis") (Boolean {unpack = True}) (Boolean {unpack = True})
"ProjectX.GRI_X:Reservations" => VReservation (CompressedWord {limit = 7, value = 5}) 0x01 (RemoteSteamId (SteamId {unpackSteamId = 0x01100001043246fb})) (Just 0x00) (Just "rosellemark") (Boolean {unpack = True}) (Boolean {unpack = True})
This fixes #38.