Git Product home page Git Product logo

Comments (19)

roncli avatar roncli commented on August 13, 2024 1

This is good information. I've asked D.Cent, dreawus, and Do_Checkor for their server logs for that time period, we'll see if we can't get to the bottom of this.

from olmod.

roncli avatar roncli commented on August 13, 2024

That is quite a formal post for an informal project. 🙂

Doing a local test with just 2 players, I had no problems.

Last successful game of CTF was played on the 0.5.5 patch (20 minutes, 9 players). You mentioned on September 5 that it wasn't working, but that is also the 0.5.5 patch. So, there has to be something specific going on with your games. What settings are you using when creating multiplayer games? Is this on a specific server this keeps happening? When did you last try it and on what server? We probably want to get the server op to pull the logs so we can see if there were any server errors.

from olmod.

AllanGibbs avatar AllanGibbs commented on August 13, 2024

Yesterday we tried another session to provide more detailed information.
It seems that more than 2 players cause the issue. We didn't check it as 1on1 yesterday.

I hope you can retrieve log from here:

Descentformum.net, 10 min ctf, 4 players at the beginning a 5th joined at min 6 or so -> crash

DK EU Server, 10 min ctf, -> no crash

When the crash happened:
Player "Wormaus" and the other players could not use ESC to exit to the game's multiplayer browser.
Player "Gibbs" could exit using ESC to exit to the game's multiplayer browser.
Players played on olmod version 0.5.8. Gibbs played using 0.5.5.
Servers provided olmod version 0.5.8.

Server game settings:
I used the OTL CFT preset and changed:

https://youtu.be/zRlU33-h_IQ
https://youtu.be/P2gwtSSosr8

We also thought of this idea, tested it but couldn't replicate it:

An instant flag change might cause the bug(s).
Blue ship positioned in orange flag spwan while no orange flag present.

Orange flag carrier killed, orange flag returned to orange flag spwan, blue ship instantly picking up the orange flag.
Because players reported duplicated flags (I never saw duplicated flags).

On D.Cents EU server happened this:
The match ran without any problems for 10 min and ended nearly normally. But the countdown timer got stuck at 00:00:01 seconds. No scoreboard was displayed. ESC to game multiplayer menue was successful.

What settings are you using when creating multiplayer games?
I used the OTL preset and changed:
https://youtu.be/zRlU33-h_IQ
https://youtu.be/P2gwtSSosr8

Is this on a specific server this keeps happening?
No.
Descentformum.net
DK EU Server
D.Cents EU server

When did you last try it and on what server?
Descentformum.net
DK EU Server
D.Cents EU server
Last try 2022/11/03 23:38 ECT-Berlin

from olmod.

AllanGibbs avatar AllanGibbs commented on August 13, 2024

For me flags have the correct team color. Orange and blue. No issues to report regarding the flag color.
Oops, I accidental closed this issue.

from olmod.

roncli avatar roncli commented on August 13, 2024

I don't think this is closeable just yet, @terminald3 was also reporting similar issues to you.

We're trying to get logs, but I think the European folks don't keep their logs. If you use an Overloader or one of the Azure servers, those keep logs for 30 days and indefinitely respectively.

from olmod.

AllanGibbs avatar AllanGibbs commented on August 13, 2024

Oops, I accidental closed this issue. Just wanted to comment.
OK. Thanks.
We will try the Overloader and Azure servers when we are testing it next time to provide server logs.
I think, I will also record the entire test session for visual feedback for you.

from olmod.

derhass avatar derhass commented on August 13, 2024

A couple of people tested CTF on a 0.5.4 server today (clients still 0.5.8), and the issues (at least some of them) could be reproduced there. Attached is the server log file, there are lot's of CTF-related exceptions: Player.log.zip

from olmod.

AllanGibbs avatar AllanGibbs commented on August 13, 2024

Thank you for the test run and for providing the LOG-file, @derhass .

from olmod.

derhass avatar derhass commented on August 13, 2024

Thank you for the test run and for providing the LOG-file, @derhass .

@AllanGibbs: Actually, the log is from Wormaus' server, and he and a few others did the test, I wasn't involved besides just looking at the logfile and uploading it here.

from olmod.

roncli avatar roncli commented on August 13, 2024

Thanks for the log, this is super helpful. Even though this is an 0.5.4 server with 0.5.8 clients (I would not do this again), it provides enough information that I think we can get to the bottom of it.

Here's the first error.

NullReferenceException: Object reference not set to an instance of an object
  at GameMod.CTF.SendCTFPickup (Int32 conn_id, Overload.Player player, Int32 flag_id, FlagState state, .Item item) [0x00000] in <filename unknown>:0 
  at GameMod.CTF.SendJoinUpdate (Overload.Player player) [0x00000] in <filename unknown>:0 
  at GameMod.JIPReadyForCountdown+<MatchStart>d__2.MoveNext () [0x00000] in <filename unknown>:0 
  at UnityEngine.SetupCoroutine.InvokeMoveNext (IEnumerator enumerator, IntPtr returnValueAddress) [0x00000] in <filename unknown>:0 

Here is the timeline of significant events:

  • StartGame tracker post happens
  • KÜSTENNEBEL joins in progress 3 seconds later.
  • KÜSTENNEBEL formally joins the match 0:09 into it.
  • INSANER disconnects 1:34 into the match
  • KÜSTENNEBEL picks up the flag at 2:32.
  • INSANER attempts to reconnect at 2:38, resulting in the above error.

So, this appears to be some kind of JIP issue. But that's not the end of it. INSANER, who did not join cleanly, picks up the flag, and then this error occurs.

Unhandled Exception detected: KeyNotFoundException: The given key was not present in the dictionary.
 
(Filename: /home/builduser/buildslave/unity/build/artifacts/generated/common/runtime/DebugBindings.gen.cpp Line: 51)

System.Collections.Generic.Dictionary`2[UnityEngine.Networking.NetworkInstanceId,GameMod.CTF+CTFStats].get_Item (NetworkInstanceId key)
GameMod.CTFClientHandlers.OnCTFNotify (UnityEngine.Networking.NetworkMessage rawMsg)
UnityEngine.Networking.NetworkConnection.InvokeHandler (UnityEngine.Networking.NetworkMessage netMsg)
UnityEngine.Networking.LocalClient.ProcessInternalMessages ()
UnityEngine.Networking.LocalClient.Update ()
UnityEngine.Networking.NetworkClient.UpdateClients ()
UnityEngine.Networking.NetworkIdentity.UNetStaticUpdate ()

After this, the game is hosed.

So clearly there are some shenanigans going on with CTF+JIP (which is why some people are having no problem with CTF - they don't use JIP). I think this helps narrow down the issue, but will take a pretty hard look at the code to figure out how to fix it.

from olmod.

CCraigen avatar CCraigen commented on August 13, 2024

I might have something. MatchModeCTF.cs, in SendJoinUpdate(), line 458.
CTF.SendCTFPickup(conn_id, FindPlayerForEffect(x.Key), x.Value, FlagState.PICKEDUP);
As far as I can tell, SendJoinUpdate() only fires on the server, and only in the case of JIP, and is trying to use FindPlayerForEffect() to get the Player object to attach the glow to. However, FindPlayerForEffect() has a check that returns null if it is run on the server. I haven't tested it yet but it looks wrong. Gonna take a peek.

-- Yep that appears to be the cause of the first null reference, and fixing it made the second one not happen too. Working on a patch now, there's some other stuff not firing properly on JIP too that's now visible.

from olmod.

AllanGibbs avatar AllanGibbs commented on August 13, 2024

Cool, @CCraigen!

from olmod.

CCraigen avatar CCraigen commented on August 13, 2024

I've managed to fix up most of the problems, the main stubborn one remaining is that when JIPing the flag colors are sometimes reversed. They still behave correctly, they just look wrong. As soon as they're picked up they go back to normal when dropped or returned, so it's just the initial spawn, and I'm assuming it's something similar to ship customizations sometimes not taking properly.

from olmod.

AllanGibbs avatar AllanGibbs commented on August 13, 2024

I'm very glad to hear that you could solve issues regarding the CTF mode. I'm excited. Thank you very much, @CCraigen.

from olmod.

CCraigen avatar CCraigen commented on August 13, 2024

Glad to help. What it really needs is a real good shakedown to make sure I didn't miss anything, there's only so much testing I can do with a couple of clients running on the same computer. If you've got people that want to play and you're willing to play around and test it out, I can post a DLL for you to try and break.

from olmod.

AllanGibbs avatar AllanGibbs commented on August 13, 2024

Hello CCraigen. Yes, post the DLL. I should find some testers. I guess it will be the same ones as last time. Afterwards you will receive the server logs.

from olmod.

CCraigen avatar CCraigen commented on August 13, 2024

Attached.
GameMod.zip

from olmod.

CCraigen avatar CCraigen commented on August 13, 2024

I see Ron has merged this - how did the tests go? Were you guys able to give it a good work-over?

from olmod.

derhass avatar derhass commented on August 13, 2024

I haven't heard of anyone actually testing this. But the "0.5.9 RC2+2" version on D.Cent's server has all those stuff in it, and should be compatible with the DLL posted here on client side, so people could test it on this server at any time.

from olmod.

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.