Some problem triggered me to check "scientific" stuff meant to fix Teleporters and crashing problems from there, I did not check yet NewNet "fixing" ( Bots simply won't use Teleporters-through routes because of awesome stuff creating again advantages for humans - cheaters as usual ).
First stuff checked was v103 with a funny read-me (related to nexgen
). Doing some logs and trying to figure why client was crashing in previous versions I drew conclusion that people have serious problems in understanding WHO IS THE MAN. IT'S THE SERVER
. I did not understand why teleportation and touching and all crap is simulated in client too because if server says YOU ARE HERE, in client you will not be in a different LOCATION - server pulls you back. I made kickers dropping player in the sky without simulated functions because PlayerPawn/Bot are natively replicated after all. Client should be left alone because it needs to participate at game and not executing useless codes.
Later I found some versions involving exception for swJumpPad or such. I think we can refer only to Original Teleporters (3 classes) and NOTHING else - leaving new cute Navigation stuff alone.
While my client (testing on a slow machine) from a LAN server has crashed properly at function "Touch" - recursive crash, I got rid of this SIMULATED brain-fart and everything went normal. Else the rest of NO-NEEDS-SIMULATED have been ruined properly in order to leave SERVER to decide WHERE IS THE PLAYER and not player mooing through zones. Else, crash did not occurred any more when I removed this stuff from "packages" and leaving it only for server, LOL
Of course client probably is good to be noticed about new stuff else will feel some laggy things at first encounter. I really should made it a Server-Side thing because client should not control authoritative things. LOGS were pretty clear where and what happens.
A.I. handling - old bugged teleporter for sure should not be debated by screwing string things - yes geniuses - you have ruined all A.I.. We can Enable old thing with any matter, collision size set (0,0) disabling Touch, Untouch, Trigger, Untrigger and other collisions turned False - By leaving alone strings involving RouteCache A.I. can still navigate correctly. The rest is blabbering, trying to "disbale" old teleporter.
All these moves can be done using a cute state (even simulated for noticing client) without rushing in PostbeginPlay. Those simulated things are helpful in understanding client things and executions but is not the case here (effects, sounds, smokes, lights, etc), all we need is a server tweak and not moving a server-crash to a client-crash.
I'm open for suggestions - mainly this stuff will address XCGE haters (with collision problems) or XCGE problems in some instances/gametypes, and we are looking for "domestic" solutions without hating A.I. after all in these non XCGE games/servers. Else perhaps I have to share another prototype of TeleporterFix or kicker method which I've been using.
Aside, I think NewNet Teleporters can be rewritten more properly because in current state are a just a cheap mess.