XC_Engine version 22 full

Higor
Godlike
Posts: 1866
Joined: Sun Mar 04, 2012 6:47 pm

XC_Engine version 22 full

Post by Higor »

Full XC_Engine package.

You may check the documentation under each project's specific directory at https://github.com/CacoFFF/XC-UT99
XC_Core 9 changes
XC_Core version 9 update.

== Codebase
CacusLib (Cacus.so/Cacus.dll) is now required to run all XC based components.
** Windows builds require the vc140 runtime installed in order to load CacusLib.
Binary size drastically reduced.

>> Windows
Now built on Visual Studio 2015 with non-standard CRT linking.
Requires SSE2 instruction set.

>> Linux
Removed local and debug symbols, removed dead code generated bad UT v432 headers.


== FOutputDeviceInterceptor
Log lines that are cached for duplicate checks no longer limited to ~1000 characters.
There is a switch that allows the interceptor to log the full lines without cutting them
to the character limit, this switch will be enabled in the case the launcher supports
logging more than ~1000 characters per line.


== XC_CoreStatics
Added CleanupLevel function, this function can shrink the actor list size and
unreference unused textures from the level's brushes.
XC_Engine 22 changes
=============================
=== 22 update:

Advanced relevancy:
- Visibility checks now consider surface flags (instead of node flags).
** No more false positives with actors being replicated behind walls.
- Fixed pawns' visible movement lag when running up stairs (bug introduced in earlier release).
- Pawns are less likely to overlap with whatever object they're standing on.
** Done by sending a 'z' position 1-2 unit(s) higher to clients.

Server:
- Fixed 'DevNet: NotifyAcceptingConnection' anti log spam code not working after first map.
- Autocompressor won't compress some of the default packages.

Engine:
- FPS/FPSlimit command displays the current framerate limit when passed without arguments (or 0 as value).
- Added experimental mouse raw input capture (only X,Y axes during gameplay for now).
** Can be enabled via XC_GameEngine.bUseRawInput=True
- Added XC_Engine tab to preferences menu!

XC_IpDrv
- Fixed exploit that caused the server's memory to be slowly eaten up by an attacker.

Editor:
- Added actions tab to texture properties, lets you create UT CD 2 styled texture packages:
-- See S3TC in Editor.txt for more information.

Script patcher:
- Reimplemented condition system for spawning new script patcher mods.
** Launch the game and watch the INI update.
- DummyReachSpec variable contains an editable reachspec.
** Allows other actors to edit reachspecs without subclassing XC_Engine_Actor.
- Added in XC_Engine.ini [GeneralConfig] option: bFixMoverTimeMP (default=True)
** Tweaks Movers' interpolation time so that mover position doesn't desync on net games.
- Added a general replacement for TraceShot that prevents possible infinite recusions.
** This breaks any TraceShot sub-implementation!!
- Added an extension to Preferences window (see: XC_Engine_Menu.u)
** Lets the user change some XC_Engine settings from within the game.
- Improved Bot navigation on:
** DOM-Cidom
** DOM-Sesmar
** DM-Barricade
Notes:

If your previous installation of UCC2 is in UCC.exe, either restore the original UCC.exe or replace it with UCC2.exe by renaming it.

Linux build requires libstdc++6.0.20 in order to load Cacus.so.
XC_Engine_Full_22.7z
XC_Core - 9
XC_Engine - 22
UCC2 - 4
XC_Launch - 2
(729.26 KiB) Downloaded 340 times
UCC2_xp.7z
For Windows XP/2003 systems
(19.81 KiB) Downloaded 77 times
Last edited by Higor on Sun Dec 23, 2018 10:43 pm, edited 4 times in total.
User avatar
Deepu
Adept
Posts: 350
Joined: Mon Nov 11, 2013 7:56 am
Personal rank: Average
Location: India
Contact:

Re: XC_Engine version 22 full

Post by Deepu »

I getting this, i'm using centos server

Code: Select all

Executing Class Engine.ServerCommandlet
Signal: SIGIOT [iot trap]
Aborting.
Exiting.
Name subsystem shut down
Allocation checking disabled
I just replaced old xc 21 files to 22 files, is that any problem with my settings or something?
Last edited by Deepu on Sun Dec 23, 2018 10:11 am, edited 1 time in total.
User avatar
sektor2111
Godlike
Posts: 6403
Joined: Sun May 09, 2010 6:15 pm
Location: On the roof.

Re: XC_Engine version 22 full

Post by sektor2111 »

[attachment=0]UCC2_Alien.PNG[/attachment]

UCC2 checksums:

Code: Select all

CRC-32: f5ccd8a4
MD5: 066b1b936731ce0a71ca7c522ce8b29f
SHA-1: 3e40304ec348e9a62bdbd723b223f90c5d767cb2
SHA-256: 21e5fc6f19b7ae346fff9f2a93b92ab32b1878c0bd7ff9f38b8f75ac481d9086
Attachments
UCC2_Alien.PNG
Higor
Godlike
Posts: 1866
Joined: Sun Mar 04, 2012 6:47 pm

Re: XC_Engine version 22 full

Post by Higor »

Deepak O V wrote:I just replaced old xc 21 files to 22 files, is that any problem with my settings or something?
I used a newer compiler for CacusLib, so it's likely you'll be needing an updated version of GLIBC.
EDIT: In case it's not possible I can try a different compiler, could really use reports on how it works on other distros.

sektor2111 wrote:UCC2_Alien.PNG
Whops!
I know what's causing that, I'll put a XP build out soon.
User avatar
Deepu
Adept
Posts: 350
Joined: Mon Nov 11, 2013 7:56 am
Personal rank: Average
Location: India
Contact:

Re: XC_Engine version 22 full

Post by Deepu »

Higor wrote:
Deepak O V wrote:I just replaced old xc 21 files to 22 files, is that any problem with my settings or something?
I used a newer compiler for CacusLib, so it's likely you'll be needing an updated version of GLIBC.
EDIT: In case it's not possible I can try a different compiler, could really use reports on how it works on other distros.
Now i got your point, i update that library soon...
Higor
Godlike
Posts: 1866
Joined: Sun Mar 04, 2012 6:47 pm

Re: XC_Engine version 22 full

Post by Higor »

Only update through official builds provided by the distro's update manager, you don't want to break the server lol.
Something like "-apt-get install libc6" (this is for ubuntu... centos command was different I remember)
User avatar
Barbie
Godlike
Posts: 2792
Joined: Fri Sep 25, 2015 9:01 pm
Location: moved without proper hashing

Re: XC_Engine version 22 full

Post by Barbie »

If you update glibc it will be an update of the complete operation system (because nearly very program is linked to it). So make a backup first. ^^
"Multiple exclamation marks," he went on, shaking his head, "are a sure sign of a diseased mind." --Terry Pratchett
User avatar
Deepu
Adept
Posts: 350
Joined: Mon Nov 11, 2013 7:56 am
Personal rank: Average
Location: India
Contact:

Re: XC_Engine version 22 full

Post by Deepu »

That is yum install or update glibc, but problem is latest version is 2.28, latest version for centos is 2.17, waiting for new centos glibc release...
Higor
Godlike
Posts: 1866
Joined: Sun Mar 04, 2012 6:47 pm

Re: XC_Engine version 22 full

Post by Higor »

Can you connect to the server via putty and run commands in it?
Alternatively, do you have a CentOS virtual machine?

If any of them is true, you could get this GIT repository and compile it through the makefile, you'd get your own build of Cacus.so
https://github.com/CacoFFF/CacusLib

EDIT, if you've never done this before, it's the perfect opportunity to learn.
> Download the source, extract and upload to server... (you only need the contents of /Cacus and /Private on linux)
> cd CacusLib/Private
> make
It's likely that the server doesn't have GCC...

EDIT2
Got a VM where it doesn't work too, if I get it to run there it may run in your server. Hang on.

EDIT3:
Pinpointed, you need libstdc++6.0.20 on your server.
User avatar
Deepu
Adept
Posts: 350
Joined: Mon Nov 11, 2013 7:56 am
Personal rank: Average
Location: India
Contact:

Re: XC_Engine version 22 full

Post by Deepu »

g++: error: unrecognized command line option ‘-std=gnu++14’

g++ version is (g++ (GCC) 4.8.5 20150623)
User avatar
sektor2111
Godlike
Posts: 6403
Joined: Sun May 09, 2010 6:15 pm
Location: On the roof.

Re: XC_Engine version 22 full

Post by sektor2111 »

Higor wrote: - DummyReachSpec variable contains an editable reachspec.
** Allows other actors to edit reachspecs without subclassing XC_Engine_Actor.
Can I do this in Editor ? I see it crashing for a missing token code whatever. Is this because of transient property ?
Technically, in run-time, if I'm understanding this well, an actor might be able to call:

Code: Select all

XCGEA.AddReachSpecs(XCGEA.DummyReachSpecs,true); //I have hopes here
It won't mismatch something at compiling code ?
If possible, I think I will prepare a small nightmare in case that DevPath won't go crapped... I really want to see effects for reachFlags=3.
Can you sample me an external call to the master XC_Engine_Actor connecting stuff ? GunLoc uses a child of XC_Engine_Actor.

Edit:
Um... it's
done

Code: Select all

class FlyingWay expands Mutator;

var XC_Engine_Actor XGEA;
var NavigationPoint N;
var Int I;

event PostBeginPlay()
{
	InitialState = 'DeployingFlyiers';
}

function AcquireXC()
{
	Foreach AllActors(class'XC_Engine_Actor', XGEA)
		break;
}

state DeployingFlyiers
{
Begin:
	Sleep(5.00);
CreateRoutes:
	AcquireXC();
	if ( XGEA != None )
	{
		N = Level.NavigationPointList;
		while ( N != None )
		{
			for ( I = 0 ; I < 5 ; I++ )
			{
				if ( N.VisNoReachPaths[I] != None )
				{
					log (Self.Name@adding new route to@N.VisNoReachPaths[I].name,'FlyingRoute');
					XGEA.DummyReachSpec.Start = N;
					XGEA.DummyReachSpec.End = N.VisNoReachPaths[I];
					XGEA.DummyReachSpec.Distance = VSize(N.Location-N.VisNoReachPaths[I].Location);
					XGEA.DummyReachSpec.reachFlags = XGEA.R_WALK | XGEA.R_FLY;
					XGEA.DummyReachSpec.CollisionRadius = 50;
					XGEA.DummyReachSpec.CollisionHeight = 50;
					N.VisNoReachPaths[I] = None;
					XGEA.AddReachSpec(XGEA.DummyReachSpec,True);
				}
			}
			Sleep(0.01);
			N = N.NextNavigationPoint;
		}
	log (Self.Name@New reachSpecs added.);
	}
}
Tested using BotyMan3 DM tester mutator according to following ConsoleCommands:
- fly
- set PlayerPawn bCanFly 1
On screen confirmation about heading to some high placed inventory in map DM-Amc-Miestas:
[attachment=0]FlyingWay_ProbingMutator.png[/attachment]
Lamp is WayBeacon heading to vials while seeker (Me in Bot suit) was looking for items using native FindBestInventoryPath. Ground units will never head to those vials, but flying pawn has no restrictions when a few VisNoReachPaths have been deleted and remapped with reachFlag 3 aka R_WALK | R_FLY. So... technically right now we do have run-time support from DevPath for Jets and RocketX and/or... whatever planes for those RocketX-CTF games. The question is: How to do maps with this flag ? Editor is a piece of garbage at this point adding VisNoReachPaths rather than Flying routes... Dammit...
Attachments
FlyingWay_ProbingMutator.png
Higor
Godlike
Posts: 1866
Joined: Sun Mar 04, 2012 6:47 pm

Re: XC_Engine version 22 full

Post by Higor »

Modifying XC_Engine's editor path builder, that's it.
Deepak O V wrote: g++: error: unrecognized command line option ‘-std=gnu++14’

g++ version is (g++ (GCC) 4.8.5 20150623)
I have updated the repository, try now https://github.com/CacoFFF/CacusLib
User avatar
Deepu
Adept
Posts: 350
Joined: Mon Nov 11, 2013 7:56 am
Personal rank: Average
Location: India
Contact:

Re: XC_Engine version 22 full

Post by Deepu »

I will try again, thank you...
User avatar
sektor2111
Godlike
Posts: 6403
Joined: Sun May 09, 2010 6:15 pm
Location: On the roof.

Re: XC_Engine version 22 full

Post by sektor2111 »

Higor wrote:Modifying XC_Engine's editor path builder, that's it.
Considering a bool option in builder's interface nearby ScanRange, probably something like bAddFlySpecs and then all VisNoReachPaths turned into UpStreamPaths[InFreeSlot] (and Paths[x] if not reachable properly ?) - at least 3-4 such paths...
In run-time I think I can setup a party for nodes with no ground at tracing location under node 60-70 UU and if node is not in water or end tracing is not located in a water-zone or such, adding reachFlag 3 for these aerial locations. We need only Jets coded properly...
For now I think I need a custom map and some monsters under alarm in order to see what they do...
At this moment I think I'll check new stuff in my testing box because I'm curious what A.I. does... I added a wrapper. Not adding Aerial paths if Node has more UpStreams...
To do:
Capping somehow number of adds, in big maps we have even 590+ new specs - I think is not useful for engine but... it's still smoother...
Clapping hands at FB's map BigAndUgly_NW running like a charm :gj: .

EDIT:
Holy s-beeep-t. How the heck was possible to have these in Devs and unused for two decades ? What anything else is doable with Engine and Editor is just a piece of s-beep-t ?
I set a sort of map having BIG nodes at long distances not linked with any way but having VisNoreachPaths - not a lot. I connected them in run-time with desired flag... CaveManta respecting Collision specification was able to attack triggered by some Karmic stuff and then after eliminating them I could do more checks with RememberSpot and ShowPath - all is logic and operational. Pawn seeker should have bCanFly=True as primary condition. Entering the network is depending on Physics vs Nearby Node as follows:
- nearby node is normal - pawn walking - can see network but it won't reach at next points like that;
- nearby node is high - pawn walking - won't move nowhere;
- nearby node is normal - pawn is flying, permission granted to network;
- nearby node is high - pawn is flying, permission is granted as long as pawn flying can reach where wants;
- it looks like target can be even higher located from ground - a flight unit can find easier a goal - it's what I suspected for years...
- I might be wrong but I think entering the network for a flight unit is easier with less processing than for a ground unit.
- I need a reference pawn to tell me about collision data for new specs, definitely Gasbag is a sort of flying pig fat-ass... and Warlord is a statue unable to move into rat holes even if directive says that might have access...

And now I have a question: Is that super-duper U227 capable of setting up reachSpecs for flight ?
Edit2:Answer: Yes, it is, but definitely flag is... 2 = S_FLY and not 3 S_FLY S_WALK so entering the network is more restrictive if triggered creature is walking at moment (warlord and such...). But at least this is operational somehow, I only need to figure when are linked these...
User avatar
sektor2111
Godlike
Posts: 6403
Joined: Sun May 09, 2010 6:15 pm
Location: On the roof.

Re: XC_Engine version 22 full

Post by sektor2111 »

Feedback Time:
Several lines are claimed repeated in logs, and I don't think movers are tweaked twice because I did not see such lines previously.
If logs are OK I think they are not. See this from my location.

Code: Select all

Log: Engine class is 'UTIntro'
then NfoServers

Code: Select all

Log: Engine class is 'DeathMatchPlus'
These are not engines at all.
These are game-types starting before triggering a random map... all was working properly before.
I cannot have any trust in these logs.
Post Reply