Open wibiti opened 2 years ago
this was disabled at one time to prevent crashing. not sure what changed or when. this crash looks like ship ref is missing for distance check. (segfault - deref null ptr)
So while testing this, let me say WOW this is janky. During testing, I ran into the following:
.update
command15:47:26 [FxError] fxID = 0 for Dual 250mm Railgun II.
15:47:26 [FxError] guid empty for Dual 250mm Railgun II using effectID 0
Funnily enough, the one thing I couldn't reproduce is the segfault mentioned here 🤷 I'm testing in staging, but nothing should really have changed since master which would make this happen or not I think 😁
@wibiti do you mind testing again with the latest commit in staging
?
@zhyrohaad have you seen any of the above before?
ja, sadly i am familiar with all of the above. LOL
to comment on points....
1) yes, asteroids have no hp. pilots should not be able to activate offensive weapons on them. this was checked/denied in activate code at one time. dunno if that part made it into official. (havent had time to look)
a) at one time, there was a bug where a pilot was crim flagged for pewpew-ing roids... https://forums-archive.eveonline.com/topic/172780
2) because of the 'no hp', roids are one-shot kills....then server sends "ship explosion" and other ship-related popping data to client, then client tries to apply ship shit to asteroid....and chaos ensues. upon a complete destiny reset, things work again.
3) timers and locking were both working very well.....not sure when this changed. (another point for unit testing)
4) yeah, client freaked out with data sent about 'dead roid'. see point 2.
a) that msg happens fairly rarely now. the number is the messageID (from client defines) that server sends. it is the error msgs in the throw
s. ive found and fixed most of them, but there are a few i havent found still in there. this is also why there are error msgs commented out around throw blocks. (bad msgIDs). you wont find that msg in our code....its client-side.
5) yes, all gfx was working at one point. i dont know they rhyme or reason why they work at times and dont at others.
a) gfx seems to work/not depending on ship also.
b) ahhh....that msg fxID = 0 for ....
is one i put in while working gfx. that and the next mean there is no data in db for that weapon's gfx, which explains why it's not working. there are a few of those, also, but has been low on my list.
the actual segfault i believe is/will be rather elusive....not sure where to start on that one
to fix this, we first need to find that target check in weapon activate code and make sure it's doing it's job. i believe everything after that is just from popping a SE that shouldnt be popped.
i cannot reproduce this yet. running local staging branch, with no changes to module or weapon code.
EDIT let me elaborate a bit.... in my testing of mining and modules for other things, i tried this.
first targeted 3 asteroids, one scordite and two veldspar.
target speed is determined by target type, pilot skills, and ship electronics.
target time for asteroids and other non-hostile, non-ship entities should be 2s.
immediate yellow-box with 2s timer. after timer rundown, red-boxed asteroids.
target timer test successful.
i then activated one autocannon on one veldspar and another autocannon on the single scordite. activate code allowed my ship to shoot the roids. successful test 1 - weapons allowed to activate on asteroids successful test 2 - weapon charges get consumed while active and data updated on client screen
the damage msg showed zero damage. "your xxx autocannon hit veldspar/scordite doing 0.0 damage". successful test - weapons do no damage to asteroids
changed ammo on both weapons (successful test - changing weapon charges in space), then loaded crystals in one strip miner. (successful test - loading mining crystals in space)
next, i activated mining lasers and strip miners (successful test - mining lasers activate on asteroid) and let them run thru a few cycles (about 45 minutes) while watching cargo. (successful test - mining lasers pulled ore amounts exactly as shown in "show info" window, both with and without charges) i jettisoned some, tried to jetcan more (which didnt let me as the wait time wasnt completed yet - successful test), and moved remaining ore from ore hold to cargo hold. (successful test - moving cargo between holds in space) after letting ore hold fill up, the modules successfully auto-stopped with "cargo full" messages. (successful test - mining module deactivates and gives message when cargo full)
then i activated the autocannons again, with same results as before, confirming previous testing.
so, for shitz-n-giggles, i targeted the jetcan. 2s target time resulted in a successful test there. activate weapons on jetcan had no effect for me. this was two tests in one.... test one - activate weapon on jet can: successful test two - weapons damage containers in space: failed i should also note there were no damage messages.
i was not allowed to activate miner on jetcan, so thats a win, too. (successful test - only weapons, tractor, salvagers and rr allowed to activate on jetcans) i think there are others im missing here
anyway, that's my report.
working on adding this feature. current plan is to allow shooting of asteroids. if a roid is destroyed while a mining module is activated, the miner will deactivate and dump the ore it has already aquired. will close this once i am finished testing.
Describe the bug The server crashes when a player shoots an asteroid in an asteroid belt with a turret (not a mining laser)
To Reproduce
Expected behavior The server should continue to function. The weapon should hit (or miss) the asteroid and do zero damage.
Screenshots If applicable, add screenshots to help explain your problem.
System Details (please complete the following information):
Additional context