saviola wrote:supernatural wrote:I set my extrapolation to 130.
Game send my extrapolation value to server.
And server streamed game to me based on my extrapolation value.
This is not what happens, the game is changed according to the extrapolation value locally. To keep extrapolation value in check you would have to make sure the client has not been modified, and that is pretty much impossible as far as I know.
Man I am tryhard changing things in the game's source code since day one of html5. Even I am the first guy using this customJs thing. Basically, the thing I said is working. Yes, just like you change extrapolation limits, try to remove kickrate, or modify. Here is the answer before you try, you are denied. Yes, you can't change kickrate because it applies to everyone in the game.
Very very very simple logic of kickrate is:
We have 3 different players called "x, y and z"
x and y doesn't have any modification in the source code. So they play with 6 12 4 kickrate command.
but z modified the code, he just removed or changed some parts of the kickrate and gain some advantage, for example doesn't effected by kick rate limit. So when that happens, z can kick the ball more than 6, but other players can't. Right here z get desynchronization. Because the game are streamed from host and host is x, and he already defined that no one can kick the ball more than 6 times per second. Basically, even if you join some VPS, you use the source code of host. Basically, there is couple values that can give you speedboost in game, i wont reveal which function is doing it, but when you do that and play in your host, you get more speed or acceleration than normal based on how much value you put on it. And others can also use it if they changed the source code and play in your room.
I can send you a video if it if you don't believe me. But with the modified code, with that speed thing, if you join someones room and
use their game-min.js or headless-min.js you play like you have 1 fps and you can't use that speed/acceleration bypass just like you did in your room. So that proves when you play, you only use your game-min for local stuff like layers rendering, some commands etc, but everything important that makes you play the game is coming from the game-min.js of the host and compared to your game-min.js while playing it. And if you have different stuff that can change dynamics of the game, pew pew you get desynchronization.
With that being said, kickrate is impossible to remove. Because the "host" forces everyone to play with same values. And then why not making it same for extrapolation?
I set my extrapolation to 200, host get the value and forced me to play with 200. If I change my extrapolation to 210, the host has non modified source code, and his limit is 200, so im supposed to get desyncronization.
Maybe that way you can understand, basro always tell that extrapolation is local feature that affects only you and doesnt have any relation with other players. So I'm here recommending that idea, move this extrapolation thing outside of locally, compare these values every second of the game with host's one and if something is different just kick that guy from room.
Also I want to say that have you ever seen "Bad Actor" kick? Well that's happen when someone has modified client, or something that beyond the limit. Here I will tell you how to achieve this everytime you want.
Go to github, there is a repo called "Hack Style" it's a macro program. Open that java shit and set it to 100 kicks per second. And press your macro key for 2-3 seconds. Bum you will get bad actor kick, only you will see that "connection closed" but you actually get Bad Actor kick. But if you set it to 70 you wont get. Basically thats the limit, even autohotkey can't reach that limit, but that program can. I am pretty sure there is couple faggots using that shit already.
It's because there is couple limits,
ALSO! -->
That thing includes message letter limit. Yes there is a letter limit for the chat at haxball, if you change your game-min.js and let say limit is 30 letter per message, and you sent 31 letter by changing source code, you will get bad actor. Because you use host (some other guy's) game-min.js code when you join some room. So that's the thing I'm telling since beginning, make extrapolation code work like this and let's see if there is single one person that can hack the game.