Closed ghost closed 8 years ago
O.o and where is this string located?
Because the weather code isn't even in the server at all. All that it does is set a configstring for clients to see. >.<
It happens immediately after running any amweather effect command in the server console, it's the last thing printed before it force closes.
Are you running it as a client connected or as the server? And within where does AM_Weather function in g_admin.cpp get to before it crashes if at all?
I'm betting its related to AM_DrawString(ADMIN_STRING_WEATHER, ent, cmd); as that uses std::strings
It's ran as an admin client which then creates the server crash shutdown immediately after entering. Regarding the g_admin.cpp, I have no idea.
Stack trace will be required to see the problem :/
Ah unfortunately I don't know how to do that :[
Are you using a specific build or compiled self?
It's the Windows server build and client build on the japp.jkhub page
Edit: Prior to using that build I had used an earlier version that did not cause the problem. OpenJK is latest windows build.
Those are quite possibly outdated a while? @Razish
Attached an image of the dedicated server console here: http://i.imgur.com/x18ToDv.png
Likely means a failure is happening here. https://github.com/Razish/japp/blob/master/game/g_admin.cpp#L265-L266
An update, same crash message appears in dedicated console after using amkick on bots. Latest Windows client (Dec 17th) I will see if any other admin commands cause this.
I think we can close this down, I tried both /amkick on bots per Server Panel and /amweather also, no crashes at all. Try using different OpenJK builds or compile it by yourself.
is it shows messages properly?
If you use /amweather on the Serverpanel it won't show any announcement, but that can be fixed. On the clientside it works fine when using it.
just checked it. Closing
When using any of the amweather commands on an OpenJK Dedicated server it crashes the dedicated session with a Windows error, normal game stays up fine.
Error in server window:
terminate called after throwing an instance of 'std::out_of_range' what(): basic_string::replace: __pos (which is 4294967295) > this->size() (which is 0)
Then the application requests runtime termination.