Anyone else still need a SUR generator?
-
Depends on the crash - tell us more - server crash or client crash?
You can isolate your problem very easily…
1. Change the surs for the vanilla ones temporarily.
2. Replace your fuse with the standard one.
3. Test the gunships one at a time by removing the factions in your encounters one at a time. -
A very interesting find…
After adding the HpTurretxx (and other) hpids into the sur file for my base ship, GetCollisions dll did not create the GetCollisions.txt file at all - no log messages!
EDIT:-
[d]And contrary to my earlier post, you CAN insert new hpids into the sur file and extend it. Just be careful not to alter the mesh name following the last hpid entry, and make sure the hpid count is correct (it is hex, so 10=0A, 36=24).[/d][d]So - best to be sure you do add all the relevant Hardpoints - use my list above to see which ones need to be in, so I don’t repeat that here.
[/d]LancerSolurus wrote:
A warning if you are hex editing the HPIDs in, you ARE overwriting important data in the sur file, don’t do it. I would suggest splicing it in.
I have no idea how to “splice in” the hpid’s.
And the table is not at the end on the two files I edited.
So as LS confirms the file will be damaged, it is best to regenerate the sur file using Sur Exporter v1.1 with the hardpoints included. This will also add the sur meshes for the hardpoints.
-
As far as I remember at the beginning is an entry which tells the total size of the sur file. So Freelancer should not load any added Hps to the list unless you change that entry too (could even be two values, would have to look it up).
-
Glad the problem was found, adding in the HPID section hopefully won’t be too difficult. The single part does add them.
The names of the HPs are not a big problem, they are all there in the CMP file including any oddball names (I used non-standard names as well).
A warning if you are hex editing the HPIDs in, you ARE overwriting important data in the sur file, don’t do it. I would suggest splicing it in.
@ Schmackbolzen - I feel for ya, guess you found out there really isn’t any decent code out there for making convex hulls. It’s why I ended up coming up with my own method (which unfortunately still doesn’t work 100% )
-
LancerSolurus wrote:
Glad the problem was found, adding in the HPID section hopefully won’t be too difficult. The single part does add them.So if we use single part sur files from your builder we shouldn’t have a problem?
But the multipart sur files are bolloxed?That’s weird if true, as ST was still getting crashes when using single part sur files from what I recall.
-
You may be right but I don’t think I tried single part surs with Sur Builder, Timmy - I don’t use single-part cmps, I’ve been trying the multi-part surs. Remember the group cube box and triangle tests were all multi-part.
I did make some single-part surs just to help me to isolate the problem of Sur Builder not making sur parts for all ship parts, and it was the same as with multi-part. But I don’t think I ever used them for testing, I don’t like them! lol
In passing, another reason for multi-part ships and surs is that when the ship is destroyed, the groups fly apart when using process = shatter in the explosion (defined in FX\EXPLOSIONS\explosion.ini) called in shiparch.ini.
-
StarTrader wrote:
I can now confirm that single-part surs for the same two ships also fail within 30 minutes.Sad.
Retested yet again with vanilla surs - all runs well for over 3 hours.
Here are the single-part surs if anyone would please test these and the multi-part ones (the ship cmps are the same) I would appreciate the help, it would tell me if the crashes are genuine or if it is indeed my setup.
The only thing I can think to cause this type of crash after a certain amount of time is perhaps large numbers of error messages accumulating in a hidden FL Server log or buffer?
Does anyone know where there is such a log/buffer? I don’t mean C:\FL-Server-errors.log, I know about that one and there is nothing in it.
I’m confused, when I read this I thought you meant you had proved single part were also failing for you.
-
ST, how are you generating these single part surs, with the sur builder or some other way? If they are with the sur builder i find that odd because i don’t have crashes with single group surs made with the utility, ever.
If it’s another method then i’m curious how you make them.
-
Hmm, my memory loss is evidently more serious than I thought. I had forgotten I did that completely. Funny how the mind plays tricks once we’re over 20!!
Gibbon - I’m assuming that I used Sur Builder. I’ve also used the Sur Exporter v1.1 and I’ve also stitched them with Sur Splicer. The result was always the same, they fail during extended testing.
But don’t forget none of my surs had hardpoints.
And this is the problem. Vanilla surs never failed during my tests.
How long have you tested your surs? Half an hour is not enough.
Set up the same test environment that I have - NPCs attacking a heavily-armed base station or base ship, I’ve repeated this many times and the results are always the same.
The base ship uses cannon, missile turrets, and flak turrets. I replaced all with one type one at a time, flak turrets are useless at killing NPCs. Cannons only and missile turrets only both brought on the crashes.
Adoxa’s GetCollisions dll logs bad hits. The last hits at the time of the crashes were always to the thruster or the cm dropper.
Once we put them in (me using Sur Exporter v1.1 to generate a new sur with hardpoints and adoxa by manual insertion of the hpids into the sur file) the crashes stopped and GetCollisions logged only hits to my base ship’s turrets, which also had no sur parts.
I then added the HpTurret hpids to the base ship’s sur and there were no entries logged by GetCollisions for more than two hours of testing.
So the cause and solution are clear.
Keep on testing but test it my way.
I know I’m pedantic. But in fact I want whatever I do to be as good as I can get it.
I want a trouble-free sur so that my mod server does not have intermittent crashes due to these, there will be enough other causes in most mods! lol
-
Right, this is how i do it. Custom system, custom base, all custom ships including capships, fighters and traders. Capships using guns and missiles only. It stays up all day if i want it to.
Custom surs created using the sur builder only, on a duplicate radius setting of 0.1, anything else gives holes on large models. All models are single group with single group surs, no crashes, ever.
This is what i can’t figure out is why myself, and LS for that matter, have no problems. He has custom surs in his mod, some even multipart ones and he doesn’t crash, and neither do i. I’m baffled tbh
I don’t go near the sur splicer as i don’t know how to use it and can’t be bothered learning either, not when i have a tool that for me at least, works fine. I even put in the multipart model i uploaded yesterday and my test server was up all evening without issues, 3+ hours. Those poor little gunboats were getting slaughtered left, right and centre, no errors showing in console or anywhere else i could find, no crashes.
I don’t doubt there is an issue somewhere, just wish i knew where
-
StarTrader wrote:
But don’t forget none of my surs had hardpoints.And this is the problem. Vanilla surs never failed during my tests.
The question is: Do they have the right hardpoints defined? And as I already asked, what if I add hardpoints to a vanilla ship cmp without updating the sur?
Anybody having a solution for the problem I mentioned before?
-
Gibbon, put in adoxa’s GetCollisions.dll and let’s see what it logs in your test environment. It will be good to know.
I will test your model too.
By the way: Weapons hardpoints (HpWeaponxx, HpTurretxx, HTorpedoxx) are not being logged and are not causing the crash.
The crashes were caused only by HpThrusterxx and HpCMxx hits. By putting in the hpids only, or by putting in the whole sur part, we cured the crashes.
Quarks: if you only added weapon hardpoints to your vanilla cmp and with a vanilla sur then you should not get a crash from this.
As for your problem, you didn’t give me enough info yet. Is it an FLServer.exe crash or a Freelancer.exe crash? Narrow down which model is causing it and try to isolate how - replace the fuses with standard ones one at a time.
-
On mine both were equipped.
Adoxa - can you tell us when GetCollisions.dll is triggered exactly? What, when, and why is it logging is what I want to know.
-
StarTrader wrote:
The crashes were caused only by HpThrusterxx and HpCMxx hits. By putting in the hpids only, or by putting in the whole sur part, we cured the crashes.There’s your answer straight away why mine are not crashing. The sur builder adds those entries to single group surs, why i’m not suffering with this. This is all to do with multipart surs and the fact the sur builder doesn’t add that in for multipart surs. Jason has the source for that these days btw.
-
Hardly that big a deal then is it. It’s not like small ships need to have a skin tight sur file, for all the difference it will make.
Do capships, where you would really benefit from multi part surs even use cm’s or thrusters? Stations and solars certainly have no need of them.
This does explain why I’ve never encountered any crashes either.
-
Half agree with you Timmy, where multi part surs would come in handy is odd shaped ships like Star Trek Enterprise style, bases most definately need them though. Just think docking bays and asteroids you can actually fly into or through.
Surely a solution would be to simply add the HpID’s to the multi part sur builder like it already generates them for the single part surs?
Other solution is to fix the sur exporter for milkshape, especially 1.1 as that at least is almost there and generates proper form fitting surs complete with holes for docking bays and the like.
I know Smack is almost there with his his sur builder so clear solutions seem on the horizon for sure.
-
with multi-part surs, is there a way to manually edit them to attach to a certain mesh part other than “Root”? where would that be? or to rob even more time from our programmers: is it a challenge to read out the name of the mesh part the tool is generating a sur part for and then add this as attachment reference instead of “Root”? would be good for e.g. animations of station (and docking ring and jumpgate) and warship bays/airlocks.
-
Gibbon wrote:
StarTrader wrote:
The crashes were caused only by HpThrusterxx and HpCMxx hits. By putting in the hpids only, or by putting in the whole sur part, we cured the crashes.There’s your answer straight away why mine are not crashing. The sur builder adds those entries to single group surs, why i’m not suffering with this. This is all to do with multipart surs and the fact the sur builder doesn’t add that in for multipart surs. Jason has the source for that these days btw.
No. Sur Builder only puts in the HpMount - the shield bubble sur part.
No other hpids are in the single-part sur file. I just checked by making a single-part sur for my DevilRay.
Run your test again with GetCollisions.dll and let us see the text file that is generated.
-
Gisteron wrote:
with multi-part surs, is there a way to manually edit them to attach to a certain mesh part other than “Root”? where would that be? or to rob even more time from our programmers: is it a challenge to read out the name of the mesh part the tool is generating a sur part for and then add this as attachment reference instead of “Root”? would be good for e.g. animations of station (and docking ring and jumpgate) and warship bays/airlocks.This is what is being done by the Sur Exporter and Sur Builder and by the Sur Splicer, only the first part is attached to “Root”, the others are named after their cmp group. Or do you mean something else?
How would it be good for animations?
Gibbon: I’m testing your model now, it is generating the same hits as my model in GetCollisions.txt to the shield bubble (because HpMount and HpSHield01 are not present in the sur file - they use the same shield sur).
Here’s a sample:
00:12:30.489: idx = -2, end = 0x3709B90
object 1 = 2001 SHIPS\liberty\li_elite\li_elite_shield.3db
object 2 = 0067
CRC 1 = 0x00000000
CRC 2 = 0x0000000000:12:50.027: idx = -2, end = 0xA35730
object 1 = 2001 SHIPS\liberty\li_elite\li_elite_shield.3db
object 2 = 0067
CRC 1 = 0x00000000
CRC 2 = 0x0000000000:12:50.077: idx = -2, end = 0xA35730
object 1 = 2001 SHIPS\liberty\li_elite\li_elite_shield.3db
object 2 = 0067
CRC 1 = 0x00000000
CRC 2 = 0x0000000000:13:04.478: idx = -2, end = 0xA35730
object 1 = 2001 SHIPS\liberty\li_elite\li_elite_shield.3db
object 2 = 0067
CRC 1 = 0x00000000
CRC 2 = 0x0000000000:13:38.346: idx = -2, end = 0x2EBD404
object 1 = 2001 SHIPS\liberty\li_elite\li_elite_shield.3db
object 2 = 0067
CRC 1 = 0x00000000
CRC 2 = 0x0000000000:14:27.247: idx = -2, end = 0x2EBD230
object 1 = 2001 SHIPS\liberty\li_elite\li_elite_shield.3db
object 2 = 0067
CRC 1 = 0x00000000
CRC 2 = 0x00000000When the HpThrusterxx or HpCMxx is hit then it should crash…
And of course that all depends where the HPThrusterxx and HpCMxx are located, on my ships they are both prominent at the rear of the model.
If your models have them in protected places it is possible they will never be hit.
May be this is the real reason some of you didn’t have this problem yet.