unixoide / 5th-echelon

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

How Can We Help With This Project #33

Open souhaibHadded03 opened 2 months ago

souhaibHadded03 commented 2 months ago

Thank you for your incredible efforts in reviving Splinter Cell: Blacklist. After playing two co-op missions using Radmin VPN, I'm eager to help further improve the server. Currently, it's challenging to connect without a VPN, as the client often receives a "service not available" error. Additionally, there is noticeable lag with enemies for the non-host player during co-op missions.

I have a few questions and suggestions:

  1. I am willing to provide Wireshark records from my gameplay sessions. Would these records be useful in improving the server?
  2. Are you planning to work on the invitation system? Relying on the "Find Teammate" feature is most of the times unreliable without a VPN.
  3. The server creates a separate save file, preventing the use of DLC save files from Nexus Mods. Will there be a way to integrate the dedicated server with the original game's save files?

Thank you once again for your hard work and dedication.

unixoide commented 2 months ago

Thank you. It is nice that almost 3 years of work finally show some progress.

  1. I don't know yet, depends on the area which should be improved. Regarding the lagging issue I might can figure out if it something I can try to improve or not. If only your game instance and the one of the host are involved and not the server, there isn't a lot I can do unfortunately.
  2. I do, but currently when someone invites you into a game (not the main lobby) or a party moves into a game, you'll end up in an endless loop trying to connect. At that point you can only kill the game and restart. I don't know yet why this is happening, already spent 3 months on it without luck.
  3. As a quick fix, I could try to make a converter to import original save files
souhaibHadded03 commented 2 months ago

Thank you. It is nice that almost 3 years of work finally show some progress.

  1. I don't know yet, depends on the area which should be improved. Regarding the lagging issue I might can figure out if it something I can try to improve or not. If only your game instance and the one of the host are involved and not the server, there isn't a lot I can do unfortunately.
  2. I do, but currently when someone invites you into a game (not the main lobby) or a party moves into a game, you'll end up in an endless loop trying to connect. At that point you can only kill the game and restart. I don't know yet why this is happening, already spent 3 months on it without luck.
  3. As a quick fix, I could try to make a converter to import original save files

Thank you for your hard work over the past three years. I truly appreciate the progress made so far.

1: I'm willing to provide Wireshark records and server logs anyways, especially focusing on the lagging issue(if it's related to server and can be improved) and the invitation system. I hope these will be useful in identifying specific areas for improvement.

2: I'm happy to assist with further testing to pinpoint the endless loop issue when inviting players whenever you add the ability to invite even if it doesn't work you can add it just for debugging purposes. I can document scenarios and provide detailed logs to help identify the problem.

3: Save File Integration: A converter tool to import original save files sounds like a great interim solution. This would allow us to use our existing progress and access DLC content while you work on a more permanent fix.

Additionally, optimizing the server's connection could help reduce latency and make enemy interactions more responsive for non-host players. Implementing techniques like client-side prediction, lag compensation, and robust NAT traversal might enhance the overall experience

Thank you once again for your incredible efforts. I'm excited to see how the project continues to develop!

unixoide commented 2 months ago

1: Awesome, thanks a lot! 3: Ok, will develop something when I can find time

2: It is already in. To make it easier, the person who runs the server can change 2 settings in the service.toml to true:

  1. mark_all_as_online this will show everyone as online, this bypasses some issues with reliably detecting online presence
  2. force_joins this will cause connected and invited clients to immediately accept invites and attempt to join

There are two scenarios:

  1. Invite someone into the main lobby (this works). Then try to start a game lobby (this loops)
  2. Start a game session first, then invite someone (loops)
souhaibHadded03 commented 2 months ago

1: Awesome, thanks a lot! 3: Ok, will develop something when I can find time

2: It is already in. To make it easier, the person who runs the server can change 2 settings in the service.toml to true:

  1. mark_all_as_online this will show everyone as online, this bypasses some issues with reliably detecting online presence
  2. force_joins this will cause connected and invited clients to immediately accept invites and attempt to join

There are two scenarios:

  1. Invite someone into the main lobby (this works). Then try to start a game lobby (this loops)
  2. Start a game session first, then invite someone (loops)

One more thing i want to add maybe you didn't know about "Invite someone into the main lobby (this works). Then try to start a game lobby (this loops)"

This was the case even with the official server when we were using your workaround, so it's probably a problem within the game itself, not related to your server, it was never working even using ubisoft servers inviting people to party then starting a game always loops, it has nothing to do with the dedicated server, what is actually related to the server is the 2nd scenario because it worked fine in the original game unlike the first that was always broken even before this server came out, so please just focus on the second scenario, the first is was always broken What should be working is what worked using official servers (starting a public lobby, then inviting, this is what used to work fine, while doing it from party always used to give an infinite loop)

kareemix commented 2 months ago

This project looks awesome, hope I can contribute in the future!