Comments (19)
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.
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.
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.
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.
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.
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.
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.
Thank you for the test run and for providing the LOG-file, @derhass .
from olmod.
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.
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 happensKÜSTENNEBEL
joins in progress 3 seconds later.KÜSTENNEBEL
formally joins the match 0:09 into it.INSANER
disconnects 1:34 into the matchKÜ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.
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.
Cool, @CCraigen!
from olmod.
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.
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.
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.
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.
Attached.
GameMod.zip
from olmod.
I see Ron has merged this - how did the tests go? Were you guys able to give it a good work-over?
from olmod.
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)
- Missing loading screens in single player HOT 6
- Assisted suicide - Game reports last enemy weapon, tracker post reports suiciding weapon.
- Allow Rear View Camera in Create Match menu broken
- Lagging and unplayable vr using different setups. HOT 7
- Fix for control sensitivity issues related to switching between MP and CM/SP HOT 1
- Can't chat at game end due to quick chat wheel HOT 1
- TB Penetration doesn't default to false HOT 1
- Several settings are not loaded correctly by PILOT PROFILE HOT 1
- Forcing a custom loadout with ammo only does not result in the player receiving ammo HOT 5
- Playing with a custom projdata in one multiplayer game and then not playing with it in the next game results in client seeing custom projdata HOT 1
- Energy pickups (possibly energy center) not cooling down boost HOT 3
- Graceful server shutdown
- Using the "Reinitialize Audio Device" function sets the Sound FX volume to 100 instead of the pilot's value
- Options -> Control Options -> Joystick/Gamepad Options -> Controller Axis Settings -> Axis menu behavior
- Arrow keys don't work for audio taunt volume slider HOT 1
- Balance - adjust cyclone spinup
- Don't trigger audio taunts while typing HOT 2
- Fix `name (2) (2) (2) (2)` bug HOT 2
- Modify Server Browser to respect olmodsettings.json trackerBaseUrl HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from olmod.