XC_Engine version 24 full

RocketJedi
Inhuman
Posts: 850
Joined: Wed Mar 12, 2008 7:14 pm
Personal rank: I.T Master
Location: New York
Contact:

Re: XC_Engine version 24 full

Post by RocketJedi »

sektor2111 wrote: Wed Mar 24, 2021 3:21 pm Yes, you have Level Hook and collision hook active, disable them and list map-names in array "NoBrushTrackerFix=Map-Name". See if this is helping at anything.
@ShaiHulud
You can try the same thing.
:( didn't work for me. I also tried to disable brush tracker completely and still not dice. If you think of anything else please let me know

Code: Select all

[XC_Engine.XC_GameEngine]
bDisableTimingFix=True
bUseNewRelevancy=False
bFasterUpload=True
bCollisionHashHook=False
NoBrushTrackerFix=CTF-(KoR)WiPEOUT
NoBrushTrackerFix=CTF-(SLvRace)WiPEOUT
NoBrushTrackerFix=CTF-([AE])RXRace
CacheSizeMegs=128
UseSound=False
MinClientVersion=432
bDisableBrushTracker=False
bSortMaplistByFolder=False
bSortMaplistGlobal=False
bAutoTravelManager=True
bCacheConvertAtJoin=False
bEnableDebugLogs=False
bUseLevelHook=False
bAutoCompressLZMA=True
bScriptDebug=False
bForceLevelHook=False
ClientFrameRateLimit=199
bInterceptMalloc=True
bInterceptLog=True
https://www.vulpinemission.com
Image ROCKET-X8 Server
Image MONSTERHUNT w/ NALI WEAPONS 3 + RX8
Image BUNNYTRACK NY
Image SNIPER DEATHMATCH
Image InstaGib + ComboGib + Jailbreak
Image ROSEBUM ROCKET-X RB
User avatar
sektor2111
Godlike
Posts: 6412
Joined: Sun May 09, 2010 6:15 pm
Location: On the roof.

Re: XC_Engine version 24 full

Post by sektor2111 »

Depending on XC version there is a function for fixing whatever mover timing. If you don't have this option for being disabled talk with your coder to adjust XC_Engine.u file and implement some config variables in order to disable any fixes which might be bugging you.
RocketJedi
Inhuman
Posts: 850
Joined: Wed Mar 12, 2008 7:14 pm
Personal rank: I.T Master
Location: New York
Contact:

Re: XC_Engine version 24 full

Post by RocketJedi »

sektor2111 wrote: Thu Mar 25, 2021 3:18 pm Depending on XC version there is a function for fixing whatever mover timing. If you don't have this option for being disabled talk with your coder to adjust XC_Engine.u file and implement some config variables in order to disable any fixes which might be bugging you.
Sadly we don't have anyone to help with this. It's not worth the hassle for 2 maps. Thanks for trying to help though
https://www.vulpinemission.com
Image ROCKET-X8 Server
Image MONSTERHUNT w/ NALI WEAPONS 3 + RX8
Image BUNNYTRACK NY
Image SNIPER DEATHMATCH
Image InstaGib + ComboGib + Jailbreak
Image ROSEBUM ROCKET-X RB
ShaiHulud
Adept
Posts: 459
Joined: Sat Dec 22, 2012 6:37 am

Re: XC_Engine version 24 full

Post by ShaiHulud »

We've been having a lot of issues with server crashes lately (build 451, BT server), I haven't had much time to try to pin the source of the fault down yet. But here's a trace from a crash today - I don't know whether this points to the involvement of XC_Engine somehow, or just that XC_Engine is intercepting the fault:

Code: Select all

[ChatLog][2021-10-17 01:34][Say] (]Player1[): siehste
appError called:
Segmentation fault (SIGSEGV)
FOutputDeviceInterceptor::Serialize
FFeedbackContextAnsi::Serialize
FString<<
RemoteCall
HandleStream
UActorChannel::ReceivedBunch
(Actor TFemale2)
UChannel::ReceivedSequencedBunch
Direct
UChannel::ReceivedRawBunch
DispatchDataToChannel
BunchData
UNetConnection::ReceivedPacket
UNetConnection::ReceivedRawPacket
UTcpNetDriver::TickDispatch
UpdatePreNet
ULevel::Tick
(NetMode=1)
TickLevel
UGameEngine::Tick
UXC_GameEngine::Tick
UpdateWorld
UServerCommandlet::Main
Executing UObject::StaticShutdownAfterError
General protection fault!



History: FOutputDeviceInterceptor::Serialize <- FFeedbackContextAnsi::Serialize <- FString<< <- RemoteCall <- HandleStream <- UActorChannel::ReceivedBunch <- (Actor TFemale2) <- UChannel::ReceivedSequencedBunch <- Direct <- UChannel::ReceivedRawBunch <- DispatchDataToChannel <- BunchData <- UNetConnection::ReceivedPacket <- UNetConnection::ReceivedRawPacket <- UTcpNetDriver::TickDispatch <- UpdatePreNet <- ULevel::Tick <- (NetMode=1) <- TickLevel <- UGameEngine::Tick <- UXC_GameEngine::Tick <- UpdateWorld <- UServerCommandlet::Main

Exiting due to error
Exiting.
Name subsystem shut down
[OVERLORD] ERROR    Server has died, return code 1
[OVERLORD] INFO     Starting server
WARNING: Not using preference directory
Executing Class Engine.ServerCommandlet
Bound to XC_Engine.so
Bound to XC_Core.so
Bound to CollisionGrid.so
========= XC_ENGINE - Test build 24 =========

XC_Engine config (some lines with custom Nexgen actors excluded):

Code: Select all

[XC_Engine.XC_GameEngine]
CacheSizeMegs=4
MinClientVersion=432
NoBrushTrackerFix=CTF-Niven
UseSound=True
bAutoCompressLZMA=false
bAutoTravelManager=false
bCacheConvertAtJoin=false
bCollisionHashHook=false
bDisableBrushTracker=false
bDisableTimingFix=true
bEnableDebugLogs=false
bFasterUpload=true
bForceLevelHook=false
bHackingTracker=true
bInterceptLog=true
bInterceptMalloc=true
bScriptDebug=false
bSortMaplistByFolder=false
bSortMaplistGlobal=false
bUseLevelHook=true
bUseNewRelevancy=false
ServerPackages=MultiMesh
ServerPackages=Relics
ServerPackages=EpicCustomModels
ServerPackages=TCowMeshSkins
ServerPackages=TNaliMeshSkins
ServerPackages=TSkMSkins
ServerPackages=SkeletalChars
ServerPackages=SkeletalCharsFix313
ServerPackages=SoldierSkins
ServerPackages=CommandoSkins
ServerPackages=FCommandoSkins
ServerPackages=SGirlSkins
ServerPackages=BossSkins
ServerPackages=Botpack
ServerPackages=BTPPUser
ServerPackages=BTPlusPlusv0994
ServerPackages=BTPlusPlusv0994_C
ServerPackages=AntiNetHack23
ServerPackages=BTCheckPointsCE
ServerPackages=Nexgen112
ServerPackages=NexgenClientsideExtensions112b
ServerPackages=NexgenPlus100
ServerPackages=NexgenCC
ServerPackages=NexgenPlayerLookup202
ServerPackages=NexgenABM102
ServerPackages=MapVoteCE104
ServerPackages=BunnyTrack2
ServerPackages=IpToCountry_AOL
ServerPackages=CountryFlags2
ServerPackages=i4Games_InstaGib_200810
ServerPackages=NPLoader_v16b
ServerPackages=NPLoaderLLU_v16b
ServerPackages=NPLoaderLLD_v16b
ServerPackages=NPLoaderLLS_v16b
ServerPackages=ACEv08h_Cdll
ServerPackages=IACEv08c
ServerPackages=ACEv08h_C
ServerPackages=NexgenACEcsFix100
ServerActors=IpToCountry.LinkActor
ServerActors=IpDrv.UdpBeacon
ServerActors=BT_IpServer.BT_UdpServerQuery
ServerActors=BT_IpServer.BT_UdpServerUplink MasterServerAddress=unreal.epicgames.com MasterServerPort=27900
ServerActors=BT_IpServer.BT_UdpServerUplink MasterServerAddress=master.333networks.com MasterServerPort=27900
ServerActors=UWeb.WebServer
ServerActors=NexgenXCGE_01.NexgenXCGE_PreLogin
ServerActors=Nexgen112.NexgenActor
ServerActors=NexgenServersideExtensions.NSEMain
ServerActors=NexgenPlayerLookupDataBase.NexgenPlayerLookupDataBase
ServerActors=NexgenPlayerLookup202.NexgenPlayerLookup
ServerActors=NexgenPlus100.NXPMain
ServerActors=NexgenABM102.NexgenABMMain
ServerActors=ACLSv220.ChatLogger
ServerActors=AntiNetHack23.AntiNetHack
ServerActors=NPLoader_v16b.NPLActor 
ServerActors=ACEv08h_S.ACEActor
ServerActors=ACEv08h_EH.ACEEventActor
ServerActors=NexgenACEcsFix100.NexgenACEcsFix

[XC_Engine.XC_ServerActor]
MaxBadLoginAttempts=25
LoginTryAgainTime=4.000000
bKickAfterMaxLogin=true

[XC_Engine.XC_ConnectionHandler]
DatalessTimeout=5.0
CriticalTimeout=2.0
CriticalConnCount=10
ExtraTCPQueries=2
User avatar
sektor2111
Godlike
Posts: 6412
Joined: Sun May 09, 2010 6:15 pm
Location: On the roof.

Re: XC_Engine version 24 full

Post by sektor2111 »

XC_Engine is intercepting critical situations which might come from elsewhere (some exploits not solved)... however... I'm not using any of those "hooks" LevelHook CollisionHashHook only the rest of options, but I allow capturing crashes because those small files are having time-stamp and they are reporting only critical problem not all spam data with no use in debugging.

In your stage it looks like a malformed string exploit, I'm not sure if XC_Engine is responsible for that and not 451 itself.
ShaiHulud
Adept
Posts: 459
Joined: Sat Dec 22, 2012 6:37 am

Re: XC_Engine version 24 full

Post by ShaiHulud »

Thanks for the input sektor. The guy who showed up in the chatlog there said "Don't crash the server" immediately before this happened (to another player - as a joke... I think), but I believe that was a co-incidence

I can't remember why I set some of these fields to true (should have made a note of that at the time), perhaps a result of trial and error on first installation - the only issue I was aware of initially was that some movers weren't working as expected, and setting one of these options to "true" fixed that.

Automatically merged

Another example (with some details changed, IP and Nexgen ID) - this happened when I entered the server briefly, and then left again almost immediately.

I'm not sure if ACE (8h) has some part to play in this, or whether there's some interaction between XC_Engine and ACE that is leading to problems. As far as I'm aware, these issues all began about 12-18 months ago (after around 7 years of pretty solid reliability), but at the moment I'm not sure what changed at that time.

Code: Select all

Join request: BT-Qubit-v2.unr?Name=Player7?Class=BotPack.TMale2?Team=0?skin=SoldierSkins.blkt?Face=SoldierSkins.Malcom?OverrideClass=?Voice=BotPack.VoiceMaleTwo?game=BotPack.CTFGame
Team 0
Login: Player7
[ChatLog][2021-10-18 01:36][System]: Player7 entered the game.
Possessed PlayerPawn: TMale2 BT-Qubit-v2.TMale0
Join succeeded: Player1
[ChatLog][2021-10-18 10:36][Join] (Player1): 
[NPLoaderv16b] Player Join: Player1 (10.10.10.10:64023)
SuperWebAdmin(DEBUG): Detected new player join..
SuperWebAdmin(DEBUG): Player Player1 initialized.
[NSC-SYS] Login request for Player1
[NSC-SYS] IP       = 10.10.10.10
[NSC-SYS] ClientID = AAAAAAAA-AAAA-AAAA-AAAA-AAAAAAAAAAAA
[NSC-SYS] Login accepted.
[NPLoaderv16b] Loading complete for player: Player1
[ACEv08h]: A new datalink is now listening on port: 7778
[ACEv08h]: Player: Player1 is now connected to the datalink at port: 7778
ACE: DataLink initialization complete.
ACE: Ident  : Player:Player1
[-- USUAL ACE INFO HERE -- omitted for the sake of privacy]
[ACEv08h]: [Player1]: [UTVER] 436
[ACEv08h]: [Player1]: [UTCMD] <none>
[ACEv08h]: [Player1]: [RENDEV] OpenGLDrv.OpenGLRenderDevice
[ACEv08h]: [Player1]: [SNDDEV] Galaxy.GalaxyAudioSubsystem
[ACEv08h]: [Player1]: [TIME] 18-10-2021 / 01:37:09
Close TcpipConnection11 Mon Oct 18 01:37:17 2021
[ChatLog][2021-10-18 01:37][System]: Player1 left the game.
[NSC-SYS] Player1 has left the server.
[ACEv08h]: [Player1]: Disconnected from the server.
ACE: DataLink closing by server request.
ACE: Object : ACEDataLink BT-Qubit-v2.ACEDataLink1
ACE: Ident  : Player:Player1
ACE: State  : 4 (STATE_Connected)
ACE: Close queued.
appError called:
Segmentation fault (SIGSEGV)
FOutputDeviceInterceptor::Serialize
FFeedbackContextAnsi::Serialize
IOT Trap Exit()
Preparing to exit.
Purging garbage
Unbound to Editor.so
Unbound to Core.so
Unbound to Engine.so
-0.0ms Unloading: Package Engine
-0.0ms Unloading: Package Core
Unbound to XC_Engine.so
Unbound to XC_Core.so
DESTROY XC_GAMEENGINE
Game engine shut down
Error reentered: Assertion failed: TopChunk==NULL [File:UnMem.cpp] [Line: 42]
FMemStack::InitStack
FMemStack::Exit
UEngine::Destroy
UGameEngine::Destroy
UXC_GameEngine::Destroy()
UObject::ConditionalDestroy
(XC_GameEngine Transient.XC_GameEngine0)
DispatchDestroy
(326: XC_GameEngine Transient.XC_GameEngine0)
DispatchDestroys
UObject::PurgeGarbage
UObject::StaticExit
appPreExit
[OVERLORD] ERROR    Server has died, return code 0
[OVERLORD] INFO     Starting server
WARNING: Not using preference directory
Executing Class Engine.ServerCommandlet
Bound to XC_Engine.so
Bound to XC_Core.so
Bound to CollisionGrid.so
========= XC_ENGINE - Test build 24 =========
User avatar
sektor2111
Godlike
Posts: 6412
Joined: Sun May 09, 2010 6:15 pm
Location: On the roof.

Re: XC_Engine version 24 full

Post by sektor2111 »

A little bump...
I'm not surprised to see some people running away from this XC extension.
With regard to "CollisionGrid" and some "aka UTx" Deck16 map re-textured and converted to UT'99, the same map re-taken and re-textured again recently probably does the same issues to this "CollisionGrid" which I have disabled for ages...
According to MapChecker localized here viewtopic.php?f=5&t=14809#p131447
central Mover (know as an Elevator) has a funky "PostScale" with lousy floating numbers. When mapper is wasting time to alter default values at these assets I'm surprised to see map in still a good state. Perhaps these "bits" are unexpected for new "CollisionGrid" deals, and as effect Mover is getting stuck like a rock when new CollisionGrid goes active. Is a bad practice to fool around brushes this way as it was already explained through forum but... Who cares about that ?
Yes, here we do have bugs but... we do have "dual bugs" - in both UNR file aka" UT map" and CollisionGrid unable to manage "2.999992" number.

When it was coming to providing "proper" feedback methods - I think I delivered proper "feed-back" for those "mapping" type assets exactly in the formula in how they are frustrating users and ignored forward. Why Mover was not scaled normally by default ? Why the "CollisionGrid" is touching offender Brush if it's not a plain Mover-Brush ? How many corruptions are resulting behind this "processing" ? What's next when such "Brush" will use a "Texture" with unknown properties ? I have X questions and no answer.

In other hand, now I can use in Editor the most of iterators suitable for various works... except "NavigationActors". The rest are helping a lot.
User avatar
f7r
Experienced
Posts: 111
Joined: Mon Oct 19, 2020 6:53 pm

Re: XC_Engine version 24 full

Post by f7r »

sektor2111 wrote: Fri Sep 02, 2022 4:37 pm A little bump...
I'm not surprised to see some people running away from this XC extension.
With regard to "CollisionGrid" and some "aka UTx" Deck16 map re-textured and converted to UT'99, the same map re-taken and re-textured again recently probably does the same issues to this "CollisionGrid" which I have disabled for ages...
According to MapChecker localized here viewtopic.php?f=5&t=14809#p131447
central Mover (know as an Elevator) has a funky "PostScale" with lousy floating numbers. When mapper is wasting time to alter default values at these assets I'm surprised to see map in still a good state. Perhaps these "bits" are unexpected for new "CollisionGrid" deals, and as effect Mover is getting stuck like a rock when new CollisionGrid goes active. Is a bad practice to fool around brushes this way as it was already explained through forum but... Who cares about that ?
Yes, here we do have bugs but... we do have "dual bugs" - in both UNR file aka" UT map" and CollisionGrid unable to manage "2.999992" number.
Wow... I just realized my jamming lift problem is described issue "CollisionGrid". But if I set bCollisionHashHook=False then lifts works properly, but such maps as DM-LP-Hodean and CTF-LP-Glycerin from LowPolyMapPack2 crash the server (436 listen on Windows and 451 dedicated on Linux, XC24)

Code: Select all

Critical: FCollisionHash::ActorLineCheck
Critical: CheckWithActors
Critical: ULevel::MultiLineCheck
Critical: ULevel::Trace
Critical: APawn::physWalking
Critical: APawn::performPhysics
Critical: AActor::Tick
Critical: TickAllActors
Critical: ULevel::Tick
Critical: (NetMode=2)
Critical: TickLevel
Critical: UGameEngine::Tick
Critical: UXC_GameEngine::Tick
Critical: UpdateWorld
Critical: XC_MainLoop
Spoiler

Code: Select all

Critical: FCollisionHash::ActorLineCheck
Critical: CheckWithActors
Critical: ULevel::MultiLineCheck
Critical: ULevel::Trace
Critical: URender::DrawFrame
Critical: FCollisionHash::ActorLineCheck
Critical: CheckWithActors
Critical: ULevel::MultiLineCheck
Critical: ULevel::Trace
Critical: URender::DrawFrame
Critical: FCollisionHash::ActorLineCheck
Critical: CheckWithActors
Critical: ULevel::MultiLineCheck
Critical: ULevel::Trace
Critical: URender::DrawFrame
Critical: FCollisionHash::ActorLineCheck
Critical: CheckWithActors
Critical: ULevel::MultiLineCheck
Critical: ULevel::Trace
Critical: URender::DrawFrame
Critical: FCollisionHash::ActorLineCheck
Critical: CheckWithActors
Critical: ULevel::MultiLineCheck
Critical: ULevel::Trace
Critical: URender::DrawFrame
Critical: FCollisionHash::ActorLineCheck
Critical: CheckWithActors
Critical: ULevel::MultiLineCheck
Critical: ULevel::Trace
Critical: URender::DrawFrame
Critical: FCollisionHash::ActorLineCheck
Critical: CheckWithActors
Critical: ULevel::MultiLineCheck
Critical: ULevel::Trace
Critical: URender::DrawFrame
Critical: FCollisionHash::ActorLineCheck
Critical: CheckWithActors
Critical: ULevel::MultiLineCheck
Critical: ULevel::Trace
Critical: URender::DrawFrame
Critical: FCollisionHash::ActorLineCheck
Critical: CheckWithActors
Critical: ULevel::MultiLineCheck
Critical: ULevel::Trace
Critical: URender::DrawFrame
Critical: FCollisionHash::ActorLineCheck
Critical: CheckWithActors
Critical: ULevel::MultiLineCheck
Critical: ULevel::Trace
Critical: URender::DrawFrame
Critical: FCollisionHash::ActorLineCheck
Critical: CheckWithActors
Critical: ULevel::MultiLineCheck
Critical: ULevel::Trace
Critical: URender::DrawFrame
Critical: FCollisionHash::ActorLineCheck
Critical: CheckWithActors
Critical: ULevel::MultiLineCheck
Critical: ULevel::Trace
Critical: URender::DrawFrame
Critical: FCollisionHash::ActorLineCheck
Critical: CheckWithActors
Critical: ULevel::MultiLineCheck
Critical: ULevel::Trace
Critical: URender::DrawFrame
Critical: FCollisionHash::ActorLineCheck
Critical: CheckWithActors
Critical: ULevel::MultiLineCheck
Critical: ULevel::Trace
Critical: URender::DrawFrame
Critical: FCollisionHash::ActorLineCheck
Critical: CheckWithActors
Critical: ULevel::MultiLineCheck
Critical: ULevel::Trace
Critical: URender::DrawFrame
Critical: UObject::StaticFindObject
Critical: FNameBatchMap::Request
Critical: CreateActor
Critical: UXC_Level::SpawnActor
Critical: (UT_SpriteSmokePuff)
Critical: UT_LightWallHitEffect1.SpawnEffects
Critical: UObject::ProcessEvent
Critical: (UT_LightWallHitEffect DM-LP-Hodean.UT_LightWallHitEffect1, Function Botpack.UT_WallHit.startup.Tick)
Critical: AActor::Tick
Critical: TickAllActors
Critical: ULevel::Tick
Critical: (NetMode=2)
Critical: TickLevel
Critical: UGameEngine::Tick
Critical: UXC_GameEngine::Tick
Critical: UpdateWorld
Critical: XC_MainLoop
I tried to autofix the Hodean map with the help of MapChecker and MapGarbage, but I did not receive a positive result. The same crash.
User avatar
sektor2111
Godlike
Posts: 6412
Joined: Sun May 09, 2010 6:15 pm
Location: On the roof.

Re: XC_Engine version 24 full

Post by sektor2111 »

Um... no, MapGarbage won't edit geometry (movers more exactly) but mainly MapChecker has that basic investigation for brushes which delivered the report. Later I realized that another version of this "ported" map with the same type of Lift made it to get stuck like a rock. All these Lifts stuck are definitely screwed up, lazy mapper did not recreate offender, but using a "rubber" type fix, pulling mover using Scale/PostScale and generating out of grid numbers. And here if these floating numbers are a pain, the new deal supposed to do a fix should never touch them. As result, collision fixes won't be part of the party and old crashes are still available - we have no fix, and your crashes are identical with some of my crashes - original collision crashes - I'm not sure if I can do something at UScript Level except what I did with Teleporters but that's not the only issue triggering this crash... Sometimes happens when a patch file is deploying a Scout for mapping run-time paths and the tester boy does "effects" colliding with monsters - in such cases the deal has to be rewritten with hard-coded data - no Scout.
Another "effect" of such Level Hook and CollisionGrid is when you are pulled by your Rocket or ShockBall like using a GrappleHook type projectile. You simply are thrown in wall, projectile explodes damaging you, and if you are falling later more or less in a damage zone or nearby a bad-ass monster you are definitely dead.
Next one is more funky, over time during game-play some weapon is simply vanished... If a critical monster is suddenly vanished, that would head to break map/game, not very funny. These are main reasons for disabling this feature and taking the risk to a collision crash - at least server will get a restart here.

The rest are benefits, some of them helping a lot and... it's why I'm using it since 469 has no deal - and latest 469 is not even starting in my machine:
- replacing functions - A Big Plus - (think only at Mover Timers - you can have a permanent fix);
- altering/fixing navigation flaws;
- mapping packages only when are needed;
- LZMA compressor - smaller files are downloaded logically faster - and UZ specific bugs are out of stage;
- Dynamic arrays options;
- Editor stuff;
- Others which I forgot ?
User avatar
esnesi
Godlike
Posts: 1018
Joined: Mon Aug 31, 2015 12:58 pm
Personal rank: Dialed in.

Re: XC_Engine version 24 full

Post by esnesi »

f7r wrote: Wed Sep 07, 2022 1:14 am Wow... I just realized my jamming lift problem is described issue "CollisionGrid". But if I set bCollisionHashHook=False then lifts works properly, but such maps as DM-LP-Hodean and CTF-LP-Glycerin from LowPolyMapPack2 crash the server (436 listen on Windows and 451 dedicated on Linux, XC24)
This has been an issue with XC since the start.
I had my fair share of discussion about this exact issue back in 2019 somewhere.

The approach that sektor takes, is to remake all maps that give an issue..
What is the exact reason that you use XC on a 451 or 436, and not just solely a 469b build on it's original engine?
User avatar
f7r
Experienced
Posts: 111
Joined: Mon Oct 19, 2020 6:53 pm

Re: XC_Engine version 24 full

Post by f7r »

esnesi wrote: Wed Sep 07, 2022 5:24 pm What is the exact reason that you use XC on a 451 or 436, and not just solely a 469b build on it's original engine?
I could not run my heavy modded system on 469b with XC25.
exact reason is
sektor2111 wrote: Wed Sep 07, 2022 4:50 am The rest are benefits, some of them helping a lot and... it's why I'm using it since 469 has no deal - and latest 469 is not even starting in my machine:
- replacing functions - A Big Plus - (think only at Mover Timers - you can have a permanent fix);
- altering/fixing navigation flaws;
- mapping packages only when are needed;
- LZMA compressor - smaller files are downloaded logically faster - and UZ specific bugs are out of stage;
- Dynamic arrays options;
- Editor stuff;
- Others which I forgot ?
and some of my mods use XC features
esnesi wrote: Wed Sep 07, 2022 5:24 pm The approach that sektor takes, is to remake all maps that give an issue..
How exactly to do this? Step by step. Only problem movers.
On the example of the DM-Deck[ReduX].
1) I select Mover2
2) Change PostScale Z to integer 3.000
3) Do PermanentTransform or something like that
4) Rebuild All
5) Save map
The elevator now moves, but somehow shakes.

Edit:
Looks like that only the first and third steps is enough.
Last edited by f7r on Thu Sep 08, 2022 12:28 am, edited 1 time in total.
User avatar
esnesi
Godlike
Posts: 1018
Joined: Mon Aug 31, 2015 12:58 pm
Personal rank: Dialed in.

Re: XC_Engine version 24 full

Post by esnesi »

Haven't come across certain mods that depend on XC features, but i assume if you got those you're bound to it..
Much of good luck wished at least!
User avatar
sektor2111
Godlike
Posts: 6412
Joined: Sun May 09, 2010 6:15 pm
Location: On the roof.

Re: XC_Engine version 24 full

Post by sektor2111 »

f7r wrote: Wed Sep 07, 2022 7:14 pm 2) Change PostScale Z to integer 3.000
Actually I put it back to 1.000000 - it's like a thin platform but usable and I cannot see any major visual impact - it's a dark spot after all, I'm still wondering why was needed a PostScale.
And then ? And then the rest are just "normal" flaws. No asteroids ON-Line, missing paths, miss-aligned textures, some of these cannot be solved by "XC patching" map. After cleaning unseen textures one of texture package "used" by map it's no longer needed :lol: and map looks identical with original minus 7 MB flushed out. Now I'm probing it for game-flow issues and perhaps I'll drop out an edit letting everyone to figure my points toward such an edit.
Extra:
Said Mover doing issues with CollisionGrid I think it needs more love than just fixing it. You take damage when you jump down, it stays open too much time. Perhaps reducing fall damage or using it triggered and with a faster reaction will make it more closer to a "DM Lift". I don't camp in a Deck16 type map after all.
ShaiHulud
Adept
Posts: 459
Joined: Sat Dec 22, 2012 6:37 am

Re: XC_Engine version 24 full

Post by ShaiHulud »

I mentioned having problems with this issue some time ago, but wasn't able to find an answer. In some BunnyTrack maps (such as BT-KyrptonCB), movers have been used as targets for triggering other events. This is a screenshot of the properties for one such mover in Krypton:
Mover.png
Using XC_Engine24 (on a 451 build server), this mover only triggers one time (the same issue has been observed in other maps with the same target mechanism). I was browsing around in the XC_Engine24 GitHub repository a little earlier, and XC_Engine_Mover.uc caught my attention. On line 10 it says:

Code: Select all

if ( numTriggerEvents == 1 ) //Prevent multiple interpolation starts
And earlier in that function, numTriggerEvents is incremented. But it's never decremented. I don't know whether it's dealt with elsewhere (a search of the repository only turned up one other hit (in EngineClasses.h), but that doesn't seem to be related. So could this be the root of the problem?

If so, is it possible to recompile the relevant portion of XC_Engine24 to deal with this?

Thanks in advance.
User avatar
sektor2111
Godlike
Posts: 6412
Joined: Sun May 09, 2010 6:15 pm
Location: On the roof.

Re: XC_Engine version 24 full

Post by sektor2111 »

Let me tell a story trying to explain much shorter as possible.
Imagine two bugs: Bug A and B. In original format Bug A could not be very visible being bugged by B which also suffered from Bug A - things were working here. When one of them is solved, the other one shows up doing sudden reactions which nobody was expecting. As result if you don't have solved both bugs, things are getting ugly.
This is why I mentioned repeatedly that a fix should come with a "fallback" option added in a configuration INI file. Here I rewrote XC extensions with more Values in INI file that can be disabled/enabled. In other hand if a fix has benefits for 300 maps but damaging 10 maps, those 10 maps will need a separate deal. Values that can be changed are subject for some patch files - it's why NavAdder has been born. Some maps were using a similar string Event Tag for certain actor :loool: - n00b cube drawer doesn't know a damn thing about how "triggering" works - and later map is happily ported "edited" elsewhere at once with original bugs - creating a duplicated garbage. I even found on YouTube a so called Tutorial about Triggered Movers which was delivering FALSE things and I reported it.
Another sample is that with PlayerStart finding. Since UT did not used some of those lousy things, by using XC stuff all PlayerStarts are now available dropping players away. New code in Finding PlayerStarts has no sanity check if these are really usable, returning new bugs which weren't there before. As you can see, the bugged original function did not do damage related to some lousy bugged PlayerStarts placed into void. By solving issue and bringing more spawn options, the second bug was entering in stage and annoying player. This was the reason for doing XC_SpawnFixer actor delegated to throw away these useless junks - as reward to my fix, in server has been fired a storm about voting the same maps - those lousy maps. It was only a normal reaction as long as players could no use such maps elsewhere because they were garbage - but administration went angry. And this was the stage when I decided to longer fix anything.
For Movers, investigations concerning events need to be done in two ways: #1 Looking what map is using and if setup is normal, #2 Editing "the XC fix" with other two options: #2.1 Adding another condition somewhere #2.2 Re-Configuring the fix condition -> In a fix can be multiple factors that need to be in account.
All XC operations must be configurable via INI file and NOT Hard-Coded. Hard-Coding fixes demonstrated not a single time as being a way no go.
Certain code which I see at EventChain previously was making me to look more time at that line. I could see later a crash-log somewhere here in forum related to a Mover which was never there - map was having ZERO movers - but the crash looks done by some "Assert" type stuff which to me was somehow 50% Great and 50% Hazard - you don't know if mapper was using a "LiftTrigger" or an useless event which is pointing nowhere - it was all about "guess" type mapping and not the "how to" type mapping. But... I cannot say more because I'm not an I.T. expert coder and then I want to minimize potential fake stories, I'm trying to stay in reality. For my DM matches a larger number of fixes were automated when I decided to add a very small delay at Movers - perhaps for BT Movers there could be simple things operated as default in similar format doing an unexpected improvement of the stage.
Post Reply