XC_Engine script patcher stuff

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

XC_Engine script patcher stuff

Post by Higor »

We'll use this topic to discuss and propose script patcher stuff, with occasinal test builds.

======
I'll start, for XC_Engine 20:
XC_Engine_ScriptUpdate_20.7z
(40.69 KiB) Downloaded 108 times
Adds an aditional option to XC_Engine.ini: bPatchUdpServerQuery
This option loads an additional package XC_IpServerFix that contains a an improved player listing function, plus a SecureValidate fix for unpatched servers.
When the server has 1 or more players, the list will display all players, spectators and bots on the list.
SecureValidate fix will deny any query string that isn't 6 characters long.
SC]-[WARTZ_{HoF}
Adept
Posts: 426
Joined: Tue Feb 21, 2012 7:29 pm

Re: XC_Engine script patcher stuff

Post by SC]-[WARTZ_{HoF} »

Nice work Higor. I will check it out.
Image
Image
Image
RocketJedi
Inhuman
Posts: 850
Joined: Wed Mar 12, 2008 7:14 pm
Personal rank: I.T Master
Location: New York
Contact:

Re: XC_Engine script patcher stuff

Post by RocketJedi »

tested it out. I dont see bots in the player list. IS there another option that needs to be enabled? Or do I have to run a special / enhanced UT browser? I haven't tested specs just yet.
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: 6403
Joined: Sun May 09, 2010 6:15 pm
Location: On the roof.

Re: XC_Engine script patcher stuff

Post by sektor2111 »

13th do seems a bad day for you...
[attachment=0]GamePlay.png[/attachment]

Nice work, Higor, you are The Man...
Attachments
GamePlay.png
RocketJedi
Inhuman
Posts: 850
Joined: Wed Mar 12, 2008 7:14 pm
Personal rank: I.T Master
Location: New York
Contact:

Re: XC_Engine script patcher stuff

Post by RocketJedi »

sektor2111 wrote:13th do seems a bad day for you...
[attachment=0]GamePlay.png[/attachment]

Nice work, Higor, you are The Man...

Hmm Might work for you, but doesn't work on any of our servers. Is there anything I may have missed?

Image

Image
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: 6403
Joined: Sun May 09, 2010 6:15 pm
Location: On the roof.

Re: XC_Engine script patcher stuff

Post by sektor2111 »

Step 1: Both U files provided by Higor should go into System including XC_IpServerFix.u
Step 2: Add new Boolean value bPatchUdpServerQuery=True into XC_Engine.ini else it will be probably false if doesn't exist

For the case with files which I recompiled
Step 1: Upload XC_IpServerFix.u file and new XC files.
Step 2: Open and edit XC_Engine.ini file with value bPatchUdpServerQuery=True somewhere through the rest of values.

Mention:
I was using SecureValidate stuff for server.
SC]-[WARTZ_{HoF}
Adept
Posts: 426
Joined: Tue Feb 21, 2012 7:29 pm

Re: XC_Engine script patcher stuff

Post by SC]-[WARTZ_{HoF} »

I think most game server admins before xcge have been using this patched IpServer.u http://www.unrealadmin.org/forums/showt ... hp?t=15616 and most likely are still using. I would also assume that most use XServerQuery instead of SecureValidate viewtopic.php?f=34&t=6061
Image
Image
Image
User avatar
sektor2111
Godlike
Posts: 6403
Joined: Sun May 09, 2010 6:15 pm
Location: On the roof.

Re: XC_Engine script patcher stuff

Post by sektor2111 »

SC]-[WARTZ_{HoF} wrote:I think most game server admins before xcge have been using this patched IpServer.u...
A few minutes ago I've installed that thing (I had to switch machines because I dropped Athlon in water in bathroom...), I see that IpServer works fine as well, I mean reporting All Player possible. Function in cause seems to have the same purpose so it should be compatible. I did not check XServerQuery.

Another note:
Higor wrote:We'll use this topic to discuss and propose script patcher stuff, with occasinal test builds.
If I'm not disturbing, I might have something to ask to do if you can. I would like to see a few words logged in Editor during building process. So far if Editor has a problem with a brush will say

Code: Select all

Warning: FPoly::Fix: Collapsed a point
Warning: FPoly::Fix: Collapsed a point
Warning: FPoly::SplitWithPlane: Ignored back sliver
Actually is hard to figure where is that "sick" brush because it doesn't log any brush-name as it does with bad actors in run-time, or hint me with some "nice console command" for building map.
A sample log I think should be:

Code: Select all

Warning: Brush452: FPoly::Fix: Collapsed a point
Warning: Brush453: FPoly::Fix: Collapsed a point
Warning: Brush450: FPoly::SplitWithPlane: Ignored back sliver
100 times more useful for debugging.
Higor
Godlike
Posts: 1866
Joined: Sun Mar 04, 2012 6:47 pm

Re: XC_Engine script patcher stuff

Post by Higor »

The query stuff doesn't affect custom queries, like XServerQuery and maybe SecureValidate.
You'll either have to edit these or simple revert to UdpServerQuery

===
In ALL cases, securevalidate exploit should be patched.
RocketJedi
Inhuman
Posts: 850
Joined: Wed Mar 12, 2008 7:14 pm
Personal rank: I.T Master
Location: New York
Contact:

Re: XC_Engine script patcher stuff

Post by RocketJedi »

sektor2111 wrote:Step 1: Both U files provided by Higor should go into System including XC_IpServerFix.u
Step 2: Add new Boolean value bPatchUdpServerQuery=True into XC_Engine.ini else it will be probably false if doesn't exist

For the case with files which I recompiled
Step 1: Upload XC_IpServerFix.u file and new XC files.
Step 2: Open and edit XC_Engine.ini file with value bPatchUdpServerQuery=True somewhere through the rest of values.

Mention:
I was using SecureValidate stuff for server.
Yup, The server has these files and entries yet still is not working. Thank you for confirming.
SC]-[WARTZ_{HoF} wrote:I think most game server admins before xcge have been using this patched IpServer.u http://www.unrealadmin.org/forums/showt ... hp?t=15616 and most likely are still using. I would also assume that most use XServerQuery instead of SecureValidate viewtopic.php?f=34&t=6061
yes this is what we use
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
Higor
Godlike
Posts: 1866
Joined: Sun Mar 04, 2012 6:47 pm

Re: XC_Engine script patcher stuff

Post by Higor »

One of my Linux servers also fails to display players too, gonna have to download the IpServer.u package it uses and examine it.
=======

Meanwhile, server created a 20mb logfile with spam coming from minigun2.RateSelf, so I decided to raplace and improve.
Basically, larger creatures are more likely to get alt-fired and tiny creatures make the bots not want to use it.
If ammo is below 50 the rating is linearly saled down.

These RateSelf could do a big deal at improving bot behaviour now that I think about it.

//**********************************************
// Minigun AI improvement + log spam fix on bots
// Creature size now a factor in alt-firing and weapon recommendation

Code: Select all

function float Minigun2_RateSelf( out int bUseAltMode )
{
	local float dist;
	local float scale;
	local Pawn Enemy;

	scale = 1;
	if ( AmmoType != None && AmmoType.AmmoAmount < 50 )
		scale = (scale * float(AmmoType.AmmoAmount)) * 0.02; //Same as X/50
	if ( scale <= 0 )
		return -2;

	Enemy = Pawn(Owner).Enemy;
	if ( Enemy == None )
		bUseAltMode = 0;
	else
	{
		dist = VSize(Enemy.Location - Owner.Location) * 19 / FMax(Enemy.CollisionRadius,5); //Larger enemy, more ALT
		scale *= FMin(Enemy.CollisionRadius,5) * 0.2; //Smaller enemy, dont recommend minigun
		bUseAltMode = int(dist <= 1700);
		AIRating *= FMin(Pawn(Owner).DamageScaling, 1.5);
		if ( dist > 1200 )
			AIRating += FMin(0.0001 * dist, 0.3); 
	}
	return AIRating * scale;
}
User avatar
sektor2111
Godlike
Posts: 6403
Joined: Sun May 09, 2010 6:15 pm
Location: On the roof.

Re: XC_Engine script patcher stuff

Post by sektor2111 »

I did not see more such things last time, but for other weaponry. I reduced using altmode at once with AIRating when ammo is missing or ammo is low - we have some funky tick here anyway... Majority of these "RateSelf" doesn't have Ammo checker. I think pawn attempt to "rateself" but nothing says: hey, you are out of ammo, weapon won't work not even in AltMode is not only a low rating, it should never try to fire gun when ammo is none. Or simply pawn is attacking too early when weapon is not loaded yet "GiveAmmo bla bla" immediately after picking up the gun - like that PostRender junkie - ammocount is a null thing because doesn't exist yet - probably not in first tick and even more in Net games. At monster is probably the same problem until I added a small "Sleep" in state attacking letting stuff to initialize before to mock with pawn's combat code.
Definitely for preventing A.I. in making troubles, a lot of stuff has to be reconsidered...
User avatar
esnesi
Godlike
Posts: 1018
Joined: Mon Aug 31, 2015 12:58 pm
Personal rank: Dialed in.

Re: XC_Engine script patcher stuff

Post by esnesi »

Qwerty wrote: Yup, The server has these files and entries yet still is not working. Thank you for confirming.
Same issue confirmed here unfortunatly.
XCEngine 20/21 - Core 7b/8
XServerquery201

Something clientsided i assume.
User avatar
sektor2111
Godlike
Posts: 6403
Joined: Sun May 09, 2010 6:15 pm
Location: On the roof.

Re: XC_Engine script patcher stuff

Post by sektor2111 »

iSenSe wrote:Something clientsided i assume.
Nope...
Read above posts. This is about server reporting Players and Bots loaded which can be seen by any player. If server has "nice stuff", then problems are not something unexpected.
I've did a check to server set for public visibility with me connected and worked fine - as shown in pictures - using even MBot types. I cannot complain.
User avatar
sektor2111
Godlike
Posts: 6403
Joined: Sun May 09, 2010 6:15 pm
Location: On the roof.

Re: XC_Engine script patcher stuff

Post by sektor2111 »

Due to these sudden rateself borks toward weaponry and A.I., once again I got a confirmation. When load code forces a load like for enforcer, weapon the mostly goes screwed and not giving ammo or getting late for this task. Pawn does a query which will fail. The better code is Skaarj Code - you can have even a default message on screen without calling other messages for a bad load idea.
However, because Skaarj Code might fail in some cases (like I could figure with BioAmmo - falling by default), I did another small research in how to load pawns - and I got this operational without any RateSelf failure. I modified RandWeapon mutator which I did for XCGE environments and now I think I can breath relaxed. Snippet bellow:

Code: Select all

				Am = class<Ammo>( DynamicLoadObject(AnAmmo[i], class'Class', True) );
				if ( Am != None )
				{
					A = Spawn(Am,Other,,Other.Location,Other.Rotation);
					if ( A != None )
					{
						A.GoToState('Pickup');
						A.Enable('Touch');
						A.RespawnTime = 0.00;
						A.AmmoAmount *= AmmoScale;
						A.Touch(Other);
						A = None;
					}
				}
I set Owner by default, I'm forcing the state for picking up this item, and before to call the "Touch" I made sure that is enabled (I guess it was not that enabled since item was ignored at random). Now it do works clean and healthy. Pawn loads ammo, then weapon and doesn't mess with switching, leaving pawn to finish RateSelf correctly. And they do seems to be more bad-ass warriors if RateSelf works properly, because sanity checkers won't help at a good rating in this tiny moment.

History:
Before testing above code I went into "AddInventory" function for load. You don't wanna see what crap was spread in console and how many ammo have failed to get collected... because that code do seems to have another purpose than bunch-loading.
Post Reply