XC_Engine script patcher stuff

XC_Engine script patcher stuff

Postby Higor » Sat Jan 13, 2018 12:45 am

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 29 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.
Higor
Godlike
 
Posts: 1608
Joined: Sun Mar 04, 2012 6:47 pm

Re: XC_Engine script patcher stuff

Postby SC]-[WARTZ_{HoF} » Sat Jan 13, 2018 12:48 am

Nice work Higor. I will check it out.
Image
Image
Image
SC]-[WARTZ_{HoF}
Adept
 
Posts: 378
Joined: Tue Feb 21, 2012 7:29 pm

Re: XC_Engine script patcher stuff

Postby Qwerty » Sat Jan 13, 2018 3:05 pm

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.
http://www.vulpinemission.com
Image ROCKET-X8 Server
Image MONSTERHUNT w/ NALI WEAPONS 3 + RX8
Image BUNNYTRACK NY
Image SIEGE ULTIMATE
Qwerty
Masterful
 
Posts: 612
Joined: Wed Mar 12, 2008 7:14 pm
Location: New York
Personal rank: I.T Master

Re: XC_Engine script patcher stuff

Postby sektor2111 » Sat Jan 13, 2018 4:39 pm

13th do seems a bad day for you...
GamePlay.png

Nice work, Higor, you are The Man...
User avatar
sektor2111
Godlike
 
Posts: 3364
Joined: Sun May 09, 2010 6:15 pm
Location: vect(1,1,1)

Re: XC_Engine script patcher stuff

Postby Qwerty » Sun Jan 14, 2018 6:51 pm

sektor2111 wrote:13th do seems a bad day for you...
GamePlay.png

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
http://www.vulpinemission.com
Image ROCKET-X8 Server
Image MONSTERHUNT w/ NALI WEAPONS 3 + RX8
Image BUNNYTRACK NY
Image SIEGE ULTIMATE
Qwerty
Masterful
 
Posts: 612
Joined: Wed Mar 12, 2008 7:14 pm
Location: New York
Personal rank: I.T Master

Re: XC_Engine script patcher stuff

Postby sektor2111 » Sun Jan 14, 2018 8:25 pm

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.
User avatar
sektor2111
Godlike
 
Posts: 3364
Joined: Sun May 09, 2010 6:15 pm
Location: vect(1,1,1)

Re: XC_Engine script patcher stuff

Postby SC]-[WARTZ_{HoF} » Sun Jan 14, 2018 10:48 pm

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
SC]-[WARTZ_{HoF}
Adept
 
Posts: 378
Joined: Tue Feb 21, 2012 7:29 pm

Re: XC_Engine script patcher stuff

Postby sektor2111 » Mon Jan 15, 2018 12:51 am

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.
User avatar
sektor2111
Godlike
 
Posts: 3364
Joined: Sun May 09, 2010 6:15 pm
Location: vect(1,1,1)

Re: XC_Engine script patcher stuff

Postby Higor » Mon Jan 15, 2018 1:12 am

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.
Higor
Godlike
 
Posts: 1608
Joined: Sun Mar 04, 2012 6:47 pm

Re: XC_Engine script patcher stuff

Postby Qwerty » Mon Jan 15, 2018 1:30 am

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
http://www.vulpinemission.com
Image ROCKET-X8 Server
Image MONSTERHUNT w/ NALI WEAPONS 3 + RX8
Image BUNNYTRACK NY
Image SIEGE ULTIMATE
Qwerty
Masterful
 
Posts: 612
Joined: Wed Mar 12, 2008 7:14 pm
Location: New York
Personal rank: I.T Master

Re: XC_Engine script patcher stuff

Postby Higor » Sat Feb 03, 2018 9:57 pm

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;
}
Higor
Godlike
 
Posts: 1608
Joined: Sun Mar 04, 2012 6:47 pm

Re: XC_Engine script patcher stuff

Postby sektor2111 » Sun Feb 04, 2018 3:31 am

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
sektor2111
Godlike
 
Posts: 3364
Joined: Sun May 09, 2010 6:15 pm
Location: vect(1,1,1)

Re: XC_Engine script patcher stuff

Postby iSenSe » Mon Feb 19, 2018 9:36 pm

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.
Image
Image

For many of us it's just a dream.
They are guided by the mainstream.
You need some balls, some self-esteem?
Come join us at the substream!

https://www.ClassicUT99.com
User avatar
iSenSe
Average
 
Posts: 66
Joined: Mon Aug 31, 2015 12:58 pm

Re: XC_Engine script patcher stuff

Postby sektor2111 » Tue Feb 20, 2018 7:37 am

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: 3364
Joined: Sun May 09, 2010 6:15 pm
Location: vect(1,1,1)

Re: XC_Engine script patcher stuff

Postby sektor2111 » Sat Apr 28, 2018 11:30 am

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.
User avatar
sektor2111
Godlike
 
Posts: 3364
Joined: Sun May 09, 2010 6:15 pm
Location: vect(1,1,1)

Next

Return to Discussions

Who is online

Users browsing this forum: No registered users and 1 guest