Destiny 2 Solo Enabler is a lightweight tool designed to help players load into Destiny 2 sessions without being matched with other players. By managing Windows Firewall rules, the program effectively blocks matchmaking ports, enabling solo play for strikes, forges, story missions, and more.
-
Matchmaking Block:
Dynamically creates and removes firewall rules to block Destiny 2 matchmaking, ensuring solo play when desired.
-
Hotkey Control:
Toggle solo play on or off using a dedicated hotkey.
-
Customizable Settings:
-
Configure options such as always-on-top, hotkey enablement, and persistence of firewall rules.
-
Support for additional parameters like custom port ranges when launching the application.
-
-
Graceful Cleanup:
Automatically removes or disables firewall rules on application exit to maintain a clean system configuration.
-
Modern Architecture:
Built on .NET 9 using dependency injection, MVVM, and a CQRS-driven application layer to ensure clear separation of concerns and improved maintainability.
Destiny 2 Solo Enabler manipulates the Windows Firewall to block ports used by Destiny 2 for matchmaking. When solo play is enabled, the appropriate firewall rules are created to isolate the game session. Toggling solo play (either via the UI or a global hotkey) reverses this configuration, allowing matchmaking to resume.
For people simply curious as to how the program looks (I'm one of those people, wondering about the UI/UX before downloading a program), I've decided to include this image.
D2SE is a program which creates Firewall rules and blocks out ports used by Destiny 2 (or well, rather Steam itself) for matchmaking. This enables the user of the program to load into an empty strike or an empty forge. Basically, it allows the user to not be matchmade with other players. It works on any matchmade activity, i.e. strikes, patrol zones, story missions, etc...
- Download and start the program.
- Boot up Destiny 2 and go into orbit.
- Enable the program.
- Start matchmaking.
- ... after some time (like 30 - 60 seconds) matchmaking will fail, and you will get an instance for yourself.
When you want to turn it off, simply click the button in the program once again.
It's a program I decided to develop, because I got more and more annoyed with Bungie's decisions to focus on Bounties which made players compete with each other in Strikes. I don't want to fight for kills against teammates just to complete a bounty, I want to just relax and play through a strike or two, and complete my Bounties like that.
While there already are scripts to solve this issue, the problem with them is the lack of UX. For this program I wanted the UI itself to be simple, but still be useful at a glance. The status updates whenever certain firewall rules exist, this provides a better UX than the various PowerShell scripts out there.
What guarantee do you have this won't ban anyone? (source)
Good question! A complete guarantee: None.
However based on emphirical evidence, I can say that I've not experienced any problems. The very core of the program is based on a PowerShell script which has been floating around this subreddit before, and it has been used without problems.
So to answer your question, all I can say is: I've been using this program for the last week, the same has a buddy of mine. The concept of using the firewall to enable soloplay has been used by the community for a long time, and personally I've used that trick in the last 6 months. All without any problems.
Firewall handling. That is the reason for the prompt asking for admin priviledges. Windows has made sure a program can't change the firewall without having such rights (which is a good thing). This in turn means the program needs such rights, since that's how it does its thing!
No, unfortunately not. It uses namespaces which works with the Windows Firewall, and not thirdparty ones (e.g. Kaspersky). So make sure you're only using the Windows one.
Note: I haven't tested it myself, but one person has reported you can disable the third party Firewall while using the program, and then it should work. So if you run into problems, try disabling your third party Firewall, start the program, and when you close the program again, turn on your third party Firewall.
Does it mean my firewall will be filled with a lot of wasteful rules after using this program a few times?
No! Don't worry. I was contemplating on just letting the firewall rules stay, and simply disabling them. However, I know that I'd find it annoying if I were to find unused firewall rules. So I made sure the programs goes in and deletes whatever rules it creates, when you (the user) decides to disable the program.
The game will then be able to matchmake other people into your session. Which simply means, people will join you. Sometimes it takes some time (longest I've experienced was 2 minutes), other times it'll be almost instantly (shortest I've experienced was less than 5 seconds after disabling, two people joined my strike).
No it does not. It's a program which makes use of an API in order to talk with the Windows firewall. Meaning, if you're not using the Windows firewall, the program will not work. This unfortunately also means it won't work on Linux (well, since it requires .NET Framework, it won't work anyways, but yeah.)
It's an amazing show. Can only recommend it to people. A funny show which held my attention through the entire show!
Warnings about unsigned code or other security alerts are expected. These can typically be bypassed by following system prompts.
Ensure that only the default Windows Firewall is active and that no third-party firewall software interferes with rule creation.
Enabling solo play might result in longer matchmaking times. Allow additional time for matches to be found. Long story short, Bungies system needs time to actually realize that it cannot find any people for you to match with.
If you keep getting matched with other people you can try these solutions:
- Make absolutely sure you are using no other firewall than the default Windows one. If you have any other installed, disable those.
- Change the PowerShell execution policy.
#29 (comment) - Check to see if there are any firewall rules which overrule the rules setup by D2SE.
#29 (comment)
Thanks to BLTplayz and MajorMalarky for the troubleshooting suggestions.
Since release 4.0 (complete rewrite of the program) one can use command line arguments. For now, one only is supported.
-PortRange
specifies what ports should be blocked.
- Original Inspiration for Port Blocking:
The idea for blocking ports comes from a PowerShell script widely shared on the DestinyTheGame subreddit. Although the original author remains unknown due to multiple reposts, heartfelt thanks go out to everyone who contributed and refined the concept.
- Firewall Rule Implementation:
Special thanks to the contributors of this Stack Overflow post, particularly David Christiansen and Heo Đất Hades, whose combined efforts made the creation of the firewall rule possible.
- UI Design:
A massive shoutout to GitHub user dheif for designing the new UI and coding the "About" section.
- Community Support:
I'm extremely thankful towards BLTplayz for providing invaluable support in GitHub issues, as well as to haloskinner and Van-Dame for quickly finding solutions when previous versions of the program encountered problems.