GTA5Online-Private_Public_Lobby icon indicating copy to clipboard operation
GTA5Online-Private_Public_Lobby copied to clipboard

Still active?

Open EinDev opened this issue 3 years ago • 40 comments

Will working PR's be merged? I just had the idea of this program, but if this repo is still active i will start fixing the current issues instead of coding it completely from scratch.

I also have some feature requests, are you open for that? Like using an ID system like Hamachi or Among us does.

EinDev avatar Apr 30 '21 07:04 EinDev

@EinDev This app is still active however, updating is really slow and i understand that the developers are busy and at the moment, it isn't working for GTA Online anymore since the new update came out few months ago where they fixed the slow loading into Online.

Peshmerga1990 avatar Apr 30 '21 18:04 Peshmerga1990

Yeah, I'm still around.

I didn't actually know the program didn't work anymore. I tried searching if anybody has found what the new ports or a method to get a private public session, but I haven't found anything.

If anybody finds out how they changed their networking and how to get around it let me know or put up a PR, and I'll update the program.

Elec0 avatar May 01 '21 01:05 Elec0

@Elec0 You got Discord ? i wanna discuss the app with you and ways how to help you update it further and i can become beta tester

Peshmerga1990 avatar May 01 '21 21:05 Peshmerga1990

@Peshmerga1990 I do, but do you know how Rockstar updated their netcode?

Elec0 avatar May 01 '21 21:05 Elec0

@Elec0 add me on Discord: Peshmerga1990#6143 and i'll find out what R* exactly did with the game

Peshmerga1990 avatar May 01 '21 22:05 Peshmerga1990

If anybody finds out how they changed their networking and how to get around it let me know or put up a PR, and I'll update the program.

I think I found the correct settings for the firewall rules, here is my gitrepo: https://github.com/Ultraporing/LeaveMeAlone Feel free to pick the stuff from the code you need.

Ultraporing avatar May 02 '21 16:05 Ultraporing

@Ultraporing awesome, thanks. I'll look into that.

Elec0 avatar May 03 '21 17:05 Elec0

still active?

saiiisho avatar May 11 '21 06:05 saiiisho

@Ultraporing So I've looked through your code, the main difference I saw was that you had two rules per direction, along with port 65431 blocked, which I added, but it doesn't appear to have worked. Am I missing something in your work, do you think? Also, does LeaveMeAlone work properly currently?

Elec0 avatar May 11 '21 18:05 Elec0

@Ultraporing So I've looked through your code, the main difference I saw was that you had two rules per direction, along with port 65431 blocked, which I added, but it doesn't appear to have worked. Am I missing something in your work, do you think? Also, does LeaveMeAlone work properly currently?

It seemed to work at the time, but I cannot be really sure since it could have been coincidence that ppl didnt join my mission or Lobby. I did add 2 rules because not everyones Windows Firewall is setup to autoblock all traffic, which allows you to just whitlist. Sadly I couldn't test it and experiment over a longer time, just don't have the time. Somehow I got a feeling one should not add the friends to the blocking rule. You can try that. Currently I'm pushing a console menu update to allow turning it on/off. This should speed up testing.

  • Some stuff I noticed: While trying to find the correct ports I also noticed, when you block outbound ports it prevents people from joining. It looks like the Rockstar service in the background is sending other people your way. Their game tries to connect to you which it can, only to timeout because you don't answer, therefore are not really connected and just get accepted on the socket. I also ran into the problem that more agressive port blocking will result in their akamai (save/online server stuff) not being able to connect to you and then you are not able to pull the savegame from their servers. And bars you from entering GTA Online.

  • Update: I did a test just now and it seems to work when I don't add friends to the outbound UDP Block. I was before in a full lobby, set the scope to all ips. And then I was alone and even after trying to find a new session I was still alone. Even after going to singleplayer and then back to online. Sadly no friends are online so I cannot test it with friends. I create a new experimental release so you guys can try it if you want.

New Experimental Release: https://github.com/Ultraporing/LeaveMeAlone/releases/tag/v1.0.3 Feedback Issue Post: https://github.com/Ultraporing/LeaveMeAlone/issues/9 If this doesn't work we can try actively monitoring to whom you try to connect via the blacklisted UDP ports and then add them to the scope if they are not any of your friends. But this requires you to keep the program running while playing.

Ultraporing avatar May 11 '21 19:05 Ultraporing

@Ultraporing Since we seem to be living in the same timezone, maybe we can test it together? Would be interesting to capture wireshark data on both ends during a session.

I also tried blocking only my friend's IP's, but that resulted in GTA tunneling the connection through R* servers. I currently can't give any details on how you can replicate this, but as R* IP's are all in the same subnet i can definitively say that all my traffic went through their server and not to my friends.

EinDev avatar May 12 '21 16:05 EinDev

I currently can't give any details on how you can replicate this, but as R* IP's are all in the same subnet i can definitively say that all my traffic went through their server and not to my friends.

Yes thats because they run a docker container on your machine in the background which acts as tunnle. You can block port 80 but then GTAO seems to break a bit.

Ultraporing avatar May 13 '21 00:05 Ultraporing

I updated a test build and didn't block friends on the outbound rule, but @Peshmerga1990 said that caused the program to do nothing at all from their point of view. It didn't get them an empty session or anything.

Which doesn't make any sense to me at all.

Elec0 avatar May 13 '21 17:05 Elec0

I had a few problems with the old method, halting the cpu or network with task manager such as weird glitches and even ctd or freezing the computer. I have no idea how that happened but I could do the trick before without any problems, this started this month so I had to look for an alternative and then I found your code.

Yours seems to work just fine, no bugs or anything, no freezing either. Why is that? I mean what's the difference, and what was causing so many headaches with the old trick? I had the feeling that whenever I suspended the process I was just bloating some script or drivers or whatever somewhere until I had to reinstall the game.

Cybergothika avatar May 14 '21 01:05 Cybergothika

I updated a test build and didn't block friends on the outbound rule, but @Peshmerga1990 said that caused the program to do nothing at all from their point of view. It didn't get them an empty session or anything.

Which doesn't make any sense to me at all.

Any chance we can get a release of your latest version? Quite happy to test and report.

Current version seemed to work as expected for an hour, but after completing a mission and returning to a public session my friends kept getting kicked.

stom66 avatar May 22 '21 22:05 stom66

GTA5.zip Sure, here's the download.

Elec0 avatar May 23 '21 06:05 Elec0

Hi, any news about this?

I'm one of the developers of Guardian and Victoria (tools that dynamically block packets filtering at kernel level instead of using windows firewall) and i've been trying quite a few stuff and changes without any results at all.

As far as i've been able to test, it looks like they added some connectivity checks that won't allow anyone to join to your lobby if you use strict blocking (all ip besides those whitelisted), and if you use a more permissive blocking (allowing Take2 ips by default) randoms get routed to your session through those ips.

Till now i've been testing fully blocking both incoming and outgoing packets, will try blocking only incoming packets as mentioned above as soon as i find some free time.

Rubensei avatar Jun 08 '21 11:06 Rubensei

No, I don't have anything new yet.

Elec0 avatar Jun 08 '21 18:06 Elec0

What about changing the MTU for all active NICs to about 1280 or 800 and then set it back to the original value after 10 seconds?

This is a trick used on PS4/XBOX to start or lagg out into an empty public session. It's not bulletproof, but it's an alternative and only the host needs to do this.

I know C# can get the current MTU for IPv4 and IPv6. But I didn't find a way to set it using a .NET API.

It could be done by running netsh commands using C#. Like netsh interface ipv4 set subinterface <??> mtu=1280 store=persistent and netsh interface ipv6 set subinterface <??> mtu=1280 store=persistent.

This does however change the accuracy and the convenience of the tool.

KevinJDurant avatar Jun 17 '21 20:06 KevinJDurant

For solo it is working for me just fine. No randoms managing to get through and no CTD or anything like that when I previously used rudimentary stuff like forcing to cut the connection.

Cybergothika avatar Jun 17 '21 20:06 Cybergothika

Hi, any news about this?

I'm one of the developers of Guardian and Victoria (tools that dynamically block packets filtering at kernel level instead of using windows firewall) and i've been trying quite a few stuff and changes without any results at all.

As far as i've been able to test, it looks like they added some connectivity checks that won't allow anyone to join to your lobby if you use strict blocking (all ip besides those whitelisted), and if you use a more permissive blocking (allowing Take2 ips by default) randoms get routed to your session through those ips.

Till now i've been testing fully blocking both incoming and outgoing packets, will try blocking only incoming packets as mentioned above as soon as i find some free time.

Mind to share the repositories (if these are open sourced) or a source where I can try both tools? Sorry for being a bit offtopic here.

As for blocking only incoming traffic I already tried with a conventional firewall solution but that didn't work well. What I do is to allow only a few specific IP addresses from R* servers so it does register the lobby session + host IP address and allow friends IP addresses. It costs a few tries to get on an empty lobby with this method but its been working well for my case.

R4to0 avatar Jul 14 '21 18:07 R4to0

Mind to share the repositories (if these are open sourced) or a source where I can try both tools? Sorry for being a bit offtopic here.

As for blocking only incoming traffic I already tried with a conventional firewall solution but that didn't work well. What I do is to allow only a few specific IP addresses from R* servers so it does register the lobby session + host IP address and allow friends IP addresses. It costs a few tries to get on an empty lobby with this method but its been working well for my case.

Yeah you can check the tools here, there is a new version of Victoria that uses a Rust backend to filter (more reliable than python multithreading and way less resource hungry) but it's not public yet 😅

Regarding the issue, I tried quite a few things with no positive results at all. As a last resort i want to try setting up a udp ssl termination proxy to try and decrypt the game data, but if it uses a hardcoded cert it won't be possible (since i know nothing about reverse engineering to try and extract it)

Rubensei avatar Jul 14 '21 19:07 Rubensei

Do we have any updates coming soon to make this more reliable? It is easy enough to get into a solo lobby, but playing with friends hasn't had a great success rate... Sometimes it works, sometimes it doesn't and just boots them out.

TaintedDemonWolf avatar Sep 11 '21 08:09 TaintedDemonWolf

Also having the same problem. The initial session works as expected, allowing whitelisted players to join, and keeping others out. Once a heist or other private-instance session has been completed the tool stops working until the game is re-launched.

Not currently useable for doing the open-world setup portions of the newer heists in a whitelist-only setup.

stom66 avatar Sep 11 '21 23:09 stom66

I haven't been able to figure out any way to get it working, and I haven't seen anybody else able to get it working either. (Rubensei, for example.)

I don't want to say private public lobbies are dead, but they very well might be. :(

Elec0 avatar Sep 13 '21 22:09 Elec0

@Rubensei Can you please add me on discord to discuss few things about the Guardian app Discord: Peshmerga1990#6143

Peshmerga1990 avatar Sep 19 '21 23:09 Peshmerga1990

I haven't been able to figure out any way to get it working, and I haven't seen anybody else able to get it working either. (Rubensei, for example.)

I don't want to say private public lobbies are dead, but they very well might be. :(

Programs that only extend upon Windows' stock firewall (which can only filter on source / destination) aren't powerful enough anymore as the session tunneling procedure will eventually find a R* IP you're already using to play the game through to tunnel players. This is why sessions can stay safe for a while; once enough people have attempted to join, the tunneling procedure will discover the destinations you're connected to and will "re-use" them for tunneling.

Also, as a side note, tunnels aren't only IP flexible. They're also port flexible, meaning that you can be hosting on the standard Game Port (6672) but receive tunneled connections on any other UDP port.

Speyedr avatar Nov 21 '21 13:11 Speyedr

Some good news if anybody is still watching this thread.

No promises, but I believe I've discovered not only a way to fix Whitelisting to work since Online 1.54, but also a couple of flaws in Guardian (some intentional, some probably not) that were hindering the program's efficacy to filter packets. I'm in the process of cleaning up my fork and will make it public in a few days so we can all benefit from more extensive testing.

Speyedr avatar Nov 27 '21 03:11 Speyedr

Alright, that should be good enough for beta testing.

You can find more details about my fork here: https://gitlab.com/Speyedr/guardian-fastload-fix/-/merge_requests/1

Again, no promises on how well this will work for everybody, but private testing has been optimistic.

Speyedr avatar Nov 27 '21 14:11 Speyedr

Alright, that should be good enough for beta testing.

You can find more details about my fork here: https://gitlab.com/Speyedr/guardian-fastload-fix/-/merge_requests/1

Again, no promises on how well this will work for everybody, but private testing has been optimistic.

You're amazing! Did a quick check and could start a public session with nobody else in (selecting "whitelisted" option), while R* servers could see my session up. It even worked with 3rd party firewalls (I use ESET just because I can see active UDP connections lol) that I disabled my firewall rules to use this.

Didn't invited friends to try yet with the whitelisted IPs but if I do I'll let you know, although someone will do that before I do heh.

R4to0 avatar Nov 27 '21 23:11 R4to0