unixoide / 5th-echelon

https://unixoide.github.io/5th-echelon/
76 stars 2 forks source link

creating your own dedicated SCBL server #17

Closed DRS490 closed 2 months ago

DRS490 commented 5 months ago

Tell me how to raise my server using these files? I just can’t figure out where to change the ip, how to connect the friends system, etc. I would be grateful if one of you describes everything point by point, preferably with screenshots of each procedure In general, make a clear tutorial for creating your own dedicated server, I will be very grateful to you

unixoide commented 4 months ago

An upcoming change will make it easier to use. For now:

one time setup

  1. Get the zip file from here
  2. Unpack it somewhere (for example on your desktop)
  3. Go to your game installation folder and then into src, then SYSTEM
  4. Rename the uplay_r1_loader.dll to uplay_r1_loader.orig.dll
  5. Get the updated binaries from here
    1. Copy the uplay_r1_loader.dll from the 2nd zip file to the game folder (your\game\directory\src\SYSTEM)
    2. Replace the dedicated_server.exe in the previously unpacked folder with the one from the 2nd zip file
    3. In the unpacked folder edit the services.toml file by adding api_server = "127.0.0.1:50051" after the services = ... line:
      services = ["sc_bl_secure", "sc_bl_auth", "onlineconfig", "content"]

      becomes

      services = ["sc_bl_secure", "sc_bl_auth", "onlineconfig", "content"]
      api_server = "127.0.0.1:50051"
  6. Start the DX9 binary. You should see a message box saying that a config file was created.
  7. Go to the game directory (your\game\directory\src\SYSTEM) and verify that there is a uplay.toml file with this line: ApiServer = "http://127.0.0.1:50051"
    1. if there is no such line, add it after ConfigServer = ... like so:
      ConfigServer = "127.0.0.1"
      ApiServer = "http://127.0.0.1:50051/"

testing it

  1. Run the dedicated_server.exe binary
  2. Start the DX9 version of the game
  3. Try to go online

[!NOTE] The currently released version of the code only supports for a single individual to start a game session and join it (aka "go online"), no working multiplayer!. This requires to correctly setting up a peer-to-peer connection and I sadly haven't received any network recordings while the fix worked so finding the correct implementation is harder.

Undoing the changes

To revert everything back to normal, delete the uplay_r1_loader.dll and rename uplay_r1_loader.orig.dll back to uplay_r1_loader.dll.