Giter Club home page Giter Club logo

Comments (6)

roydejong avatar roydejong commented on July 23, 2024 1

@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.

roydejong avatar roydejong commented on July 23, 2024

Some quick & dirty notes on swapping master servers:

  • MasterServerEndPoint is defined in NetworkConfigSOmasterServerEndPoint 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.

roydejong avatar roydejong commented on July 23, 2024

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.

roydejong avatar roydejong commented on July 23, 2024

109abf6 adds basic support for master server swapping. The rundown is this:

  1. We detect which master server endpoint is being used, and determine whether it's official or set by a mod
  2. Your last used master server is attached when your game is announced to the server browser API
  3. 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.

jcoenen96 avatar jcoenen96 commented on July 23, 2024

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.

roydejong avatar roydejong commented on July 23, 2024

This is now implemented and will ship soon 🚢

from beatsaberserverbrowser.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.