Comments (6)
@jcoenen96 BeatTogether is probably closest to completion and it looks like they'll be ready for testing soon ("in a day or two").
from beatsaberserverbrowser.
Some quick & dirty notes on swapping master servers:
MasterServerEndPoint
is defined inNetworkConfigSO
→masterServerEndPoint
property. It's Harmony patchable, and when unpatched it's based on_masterServerHostName
and_masterServerPort
(2328).- A potential issue is that mods will do their own patching, which means any patching we do on the server endpoint could conflict.
- Need to find a safe way to do this where we can both read the mod's value and still override its patch if needed.
- And/or discuss with mod devs to find some kind of universal solution to server swapping.
from beatsaberserverbrowser.
It looks like the game reads the master server endpoint whenever you try to quickplay, host or join. That's good news because we can swap it out during runtime whenever outside of a lobby and it will work.
Official endpoints seem to be steam.production.mp.beatsaber.com
and oculus.production.mp.beatsaber.com
.
from beatsaberserverbrowser.
109abf6 adds basic support for master server swapping. The rundown is this:
- We detect which master server endpoint is being used, and determine whether it's official or set by a mod
- Your last used master server is attached when your game is announced to the server browser API
- When you join a game off the server browser, we'll override your master server or set you back to official servers as needed
I like this solution because it means even when you use a crossplay mod, you could still play a game on official servers if you want. Or even if you don't have a crossplay mod installed you may still be able to join the crossplay server this way.
A few things to check and tidy up before this is 100% ready:
- Restore the user's preferred master server after a game finishes (disable our override when you leave the game)
- API server tweaks: if a game is using a custom/crossplay server, disable platform filtering for that game
- Need to actually test with a real life custom master server mod
from beatsaberserverbrowser.
If you have already a custom master (test) server running, could you also release this one? I would love to test around with this concept a bit more.
from beatsaberserverbrowser.
This is now implemented and will ship soon
from beatsaberserverbrowser.
Related Issues (20)
- [v1-rewrite] New UI: Server List
- Friends system / social features
- [v1-rewrite] Multiplayer data collector
- IPv6 endpoint support HOT 1
- [v1-rewrite] 1.19.1 (beta) support HOT 1
- My game says MultiplayExtentions not deteced HOT 9
- [v1-rewrite] NullReferenceException in announce when running with useCustomServerEnvironment set HOT 2
- GameLift Quick Play joins don't work HOT 4
- Please update to latest version HOT 2
- "Vanilla" mode HOT 1
- Join/leave notifications show incorrect player count
- Text overflow with long song names HOT 1
- "All" difficulty handling
- BeatUpServer support / detection HOT 3
- Giant keyboard text HOT 3
- 'Create Server' UI doesn't account for elements from other mods HOT 3
- System for servers to announce additional capabilities HOT 1
- Exception when joining a lobby where a not owned DLC is playing HOT 1
- BSSongCoverImageFix compatibility HOT 5
- unity beta / update compatibility (1.29.4 / 1.30.0) HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from beatsaberserverbrowser.