Nemesis can go beyond level 5 + Oull registers as incorrect #2121

Closed
opened 2025-06-06 15:34:32 -07:00 by Ghost · 5 comments

This is a combination of a couple of issues, however, I did not want to open multiple issues for what may likely be related to one thing.

PR #2119 fixed a lot of progression related to the nemesis system. Thank you for this. However, there remain a couple of issues. This all occurred with a Kuva Lich.

The order in which a Kuva Lich moves to planets is Earth -> Mars -> Ceres -> Sedna -> Kuva Fortress. After the nemesis left Mars, it went immediately to Sedna, skipping Ceres.

When the nemesis moved to Sedna, I knew the first 2/3 and used Oull for the third. I used an Ultimatum on an influenced Sedna node to spawn it immediately. When executing the final finisher, Oull registered as being incorrect.

Upon returning from the mission, the nemesis did not move to the Kuva Fortress, Saturn Proxima (Final confrontation, railjack), nor did it stay on Sedna; it was completely removed from the starchart. Afterwards, the nemesis is displayed as being level 6 in the menu, when the max level should be 5.

Similar behavior might occur with Corpus Lich as well.

  • Additionally, guesses never get added; this may have something to do with my first guess being correct when it spawned for the first time. However, this isn't a progression blocker.
This is a combination of a couple of issues, however, I did not want to open multiple issues for what may likely be related to one thing. PR #2119 fixed a lot of progression related to the nemesis system. Thank you for this. However, there remain a couple of issues. This all occurred with a Kuva Lich. The order in which a Kuva Lich moves to planets is Earth -> Mars -> Ceres -> Sedna -> Kuva Fortress. After the nemesis left Mars, it went immediately to Sedna, skipping Ceres. When the nemesis moved to Sedna, I knew the first 2/3 and used Oull for the third. I used an Ultimatum on an influenced Sedna node to spawn it immediately. When executing the final finisher, Oull registered as being incorrect. Upon returning from the mission, the nemesis did not move to the Kuva Fortress, Saturn Proxima (Final confrontation, railjack), nor did it stay on Sedna; it was completely removed from the starchart. Afterwards, the nemesis is displayed as being level 6 in the menu, when the max level should be 5. Similar behavior might occur with Corpus Lich as well. - Additionally, guesses never get added; this may have something to do with my first guess being correct when it spawned for the first time. However, this isn't a progression blocker.
Sainan added the
bug
label 2025-06-06 15:52:40 -07:00
Owner

The order in which a Kuva Lich moves to planets is Earth -> Mars -> Ceres -> Sedna -> Kuva Fortress. After the nemesis left Mars, it went immediately to Sedna, skipping Ceres.

Could you provide a server log with the relevant requests?

> The order in which a Kuva Lich moves to planets is Earth -> Mars -> Ceres -> Sedna -> Kuva Fortress. After the nemesis left Mars, it went immediately to Sedna, skipping Ceres. Could you provide a server log with the relevant requests?
Sainan changed title from Nemesis can go beyond level 5 under certain circumstances, causing soft-lock. to Nemesis can go beyond level 5 + Oull registers as incorrect 2025-06-06 16:07:15 -07:00
Author

The order in which a Kuva Lich moves to planets is Earth -> Mars -> Ceres -> Sedna -> Kuva Fortress. After the nemesis left Mars, it went immediately to Sedna, skipping Ceres.

Could you provide a server log with the relevant requests?

The log I attached in the original post contains everything up to that point. Unless there are logs created elsewhere that I'm unaware of, this is all I have, unfortunately.

> > The order in which a Kuva Lich moves to planets is Earth -> Mars -> Ceres -> Sedna -> Kuva Fortress. After the nemesis left Mars, it went immediately to Sedna, skipping Ceres. > > Could you provide a server log with the relevant requests? The log I attached in the original post contains everything up to that point. Unless there are logs created elsewhere that I'm unaware of, this is all I have, unfortunately.
Owner

Ah, I see. I'm guessing the issue here is that multiple mode=r requests are sent and this is not handled properly at all:

{"level":"http","message":"POST /api/nemesis.php?accountId=6841d8d45c1f28869d80cbd1&nonce=3751398536819698&ct=MSI&mode=p 200 9.182 ms - 17","timestamp":"2025-06-06T21:37:34.954Z","version":"0.1.0"}
{"level":"http","message":"POST /api/nemesis.php?accountId=6841d8d45c1f28869d80cbd1&nonce=3751398536819698&ct=MSI&mode=r 200 101.095 ms - 18","timestamp":"2025-06-06T21:38:18.300Z","version":"0.1.0"}
{"level":"http","message":"POST /api/nemesis.php?accountId=6841d8d45c1f28869d80cbd1&nonce=3751398536819698&ct=MSI&mode=r 200 71.951 ms - 18","timestamp":"2025-06-06T21:38:24.672Z","version":"0.1.0"}
{"level":"http","message":"POST /api/nemesis.php?accountId=6841d8d45c1f28869d80cbd1&nonce=3751398536819698&ct=MSI&mode=r 200 21.629 ms - -","timestamp":"2025-06-06T21:38:28.420Z","version":"0.1.0"}
Ah, I see. I'm guessing the issue here is that multiple `mode=r` requests are sent and this is not handled properly at all: ```json {"level":"http","message":"POST /api/nemesis.php?accountId=6841d8d45c1f28869d80cbd1&nonce=3751398536819698&ct=MSI&mode=p 200 9.182 ms - 17","timestamp":"2025-06-06T21:37:34.954Z","version":"0.1.0"} {"level":"http","message":"POST /api/nemesis.php?accountId=6841d8d45c1f28869d80cbd1&nonce=3751398536819698&ct=MSI&mode=r 200 101.095 ms - 18","timestamp":"2025-06-06T21:38:18.300Z","version":"0.1.0"} {"level":"http","message":"POST /api/nemesis.php?accountId=6841d8d45c1f28869d80cbd1&nonce=3751398536819698&ct=MSI&mode=r 200 71.951 ms - 18","timestamp":"2025-06-06T21:38:24.672Z","version":"0.1.0"} {"level":"http","message":"POST /api/nemesis.php?accountId=6841d8d45c1f28869d80cbd1&nonce=3751398536819698&ct=MSI&mode=r 200 21.629 ms - -","timestamp":"2025-06-06T21:38:28.420Z","version":"0.1.0"} ```
Sainan added the
pr'd for
label 2025-06-06 17:00:18 -07:00
Author

I'm not familiar with the API's full functionality, so please forgive my limited understanding. Would mode=r be what occurs when stabbing the nemesis? In the log I provided, I notice a group starting on line 1416, and groups starting on lines 1710 and 1823.

I don't necessarily remember my exact steps, but it would match what I remember doing in-game. With each occurrence being a guess. Perhaps I misunderstood when you said it's not properly handled. If it wasn't, I'd imagine the nemesis level would not increment.

Each group would represent my session on Earth, Mars, and then Sedna. It stood out to me before the nemesis completely disappeared after Sedna, because I didn't remember that the Sedna Arena nodes could be influenced by the nemesis.

Line 1710 would be where the Mars session occurred. I was correct on the first and second guess, and failed the third, which leveled it up. Hence why I noticed the Oull issue, as I then used it on the Sedna session. You understand the codebase better than I do, but nothing sticks out as being incorrectly handled to me, judging based on the logs and a cursory glance at nemesisController.ts.

I checked out #2122 as well, and I see that you are capping the nemesis rank, but from my perspective, it shouldn't be necessary in the first place. Unless I am again misunderstanding your meaning of multiple requests not being handled. There are only five normal nodes for the nemesis to go to, with it starting at level 1 on Earth. Realistically, there shouldn't be a scenario where it can go beyond level 5, unless the client has a discrepancy or there's an issue elsewhere in the server.

I'm not familiar with the API's full functionality, so please forgive my limited understanding. Would `mode=r` be what occurs when stabbing the nemesis? In the log I provided, I notice a group starting on line 1416, and groups starting on lines 1710 and 1823. I don't necessarily remember my exact steps, but it would match what I remember doing in-game. With each occurrence being a guess. Perhaps I misunderstood when you said it's not properly handled. If it wasn't, I'd imagine the nemesis level would not increment. Each group would represent my session on Earth, Mars, and then Sedna. It stood out to me before the nemesis completely disappeared after Sedna, because I didn't remember that the Sedna Arena nodes could be influenced by the nemesis. Line 1710 would be where the Mars session occurred. I was correct on the first and second guess, and failed the third, which leveled it up. Hence why I noticed the Oull issue, as I then used it on the Sedna session. You understand the codebase better than I do, but nothing sticks out as being incorrectly handled to me, judging based on the logs and a cursory glance at [nemesisController.ts](https://onlyg.it/OpenWF/SpaceNinjaServer/src/branch/main/src/controllers/api/nemesisController.ts). I checked out #2122 as well, and I see that you are capping the nemesis rank, but from my perspective, it shouldn't be necessary in the first place. Unless I am again misunderstanding your meaning of multiple requests not being handled. There are only five normal nodes for the nemesis to go to, with it starting at level 1 on Earth. Realistically, there shouldn't be a scenario where it can go beyond level 5, unless the client has a discrepancy or there's an issue elsewhere in the server.
Owner

Professional yapper

Professional yapper
Sign in to join this conversation.
No description provided.