XC_Engine [20] - XC_Core [7b] - XC_IpDrv
Re: XC_GameEngine [build 9]
This is fun, moved lots of stuff into static vars and added more garbage collector stuff that should properly deinitialize/reinitialize temporary refrences, you know... in hope of fixing the v451 Linux GC issues.
To my surprise, now the Linux UT won't even attempt to find the XC_GameEngine class in the binary.
Should I just give up and drop it already?
To my surprise, now the Linux UT won't even attempt to find the XC_GameEngine class in the binary.
Should I just give up and drop it already?
- Chamberly
- Godlike
- Posts: 1963
- Joined: Sat Sep 17, 2011 4:32 pm
- Personal rank: Dame. Vandora
- Location: TN, USA
- Contact:
Re: XC_GameEngine [build 9]
Keep going, you will get there. Linux seem to have a crazy set up I guess.
- sektor2111
- Godlike
- Posts: 6411
- Joined: Sun May 09, 2010 6:15 pm
- Location: On the roof.
Re: XC_GameEngine [build 9]
Wooow, that's interesting it might be the best ever fix to write a mess called engine 451x and even removing any option for any extension able to fix it... "Well done", UTPG? I don't know where do we can find another "group of programmers" for such job... .Higor wrote:To my surprise, now the Linux UT won't even attempt to find the XC_GameEngine class in the binary.
Higor, whatever is claimed and fixed indeed for version 451 (brute force, lunch bug, unreliable bug, etc.) put them into XC_Engine and let people to use 436. I already went to 436 even if I'm using Win platform, I simply wanna do a fast check into a Level and Editor is doing sucks in 451 - and THAT thing won't help me and neither others, I'm almost to quit thinking at any 451...
- sektor2111
- Godlike
- Posts: 6411
- Joined: Sun May 09, 2010 6:15 pm
- Location: On the roof.
Re: XC_GameEngine [build 9]
If you intend to help tweaking VIA XC_Engine I'll point you into another chapter SP, Coop, MH related. - MOVERS again.
Some of those "cool" Level designers used stupid values into Mover timers because they probably never heard of bTriggerOnceOnly or they cannot breath normally and they aren't receiving too much oxygen inside their brain.
Results:
- If level has more movers like that, something will get rammed and things will stop working properly;
- less movers but... insane values, resulted in a 451 Win server unable to be contacted by player... and I was wondering what was wrong there or it was caused by another internal 451 "fix", I cannot say what goes wrong but maybe you will find a bad thing that needs a CLAMP before to mess up Level completely.
Some of those "cool" Level designers used stupid values into Mover timers because they probably never heard of bTriggerOnceOnly or they cannot breath normally and they aren't receiving too much oxygen inside their brain.
Results:
- If level has more movers like that, something will get rammed and things will stop working properly;
- less movers but... insane values, resulted in a 451 Win server unable to be contacted by player... and I was wondering what was wrong there or it was caused by another internal 451 "fix", I cannot say what goes wrong but maybe you will find a bad thing that needs a CLAMP before to mess up Level completely.
-
- Inhuman
- Posts: 850
- Joined: Wed Mar 12, 2008 7:14 pm
- Personal rank: I.T Master
- Location: New York
- Contact:
Re: XC_GameEngine [build 9]
just added Version 9 to our RX server. So far so good.
https://www.vulpinemission.com
ROCKET-X8 Server
MONSTERHUNT w/ NALI WEAPONS 3 + RX8
BUNNYTRACK NY
SNIPER DEATHMATCH
InstaGib + ComboGib + Jailbreak
ROSEBUM ROCKET-X RB
ROCKET-X8 Server
MONSTERHUNT w/ NALI WEAPONS 3 + RX8
BUNNYTRACK NY
SNIPER DEATHMATCH
InstaGib + ComboGib + Jailbreak
ROSEBUM ROCKET-X RB
- sektor2111
- Godlike
- Posts: 6411
- Joined: Sun May 09, 2010 6:15 pm
- Location: On the roof.
Re: XC_GameEngine [build 9]
Good for you... yes it works, but I'm talking about games using more default stuff added and delivering not really the best ever levels. If Higor works and spoke about 451 troubles, they exist and are known by people which were coding mods.Qwerty wrote:just added Version 9 to our RX server. So far so good.
-
- Adept
- Posts: 426
- Joined: Tue Feb 21, 2012 7:29 pm
Re: XC_GameEngine [build 9]
Have you noticed if the XC_GameEngine helps prevent server crash exploits?Qwerty wrote:just added Version 9 to our RX server. So far so good.
-
- Inhuman
- Posts: 850
- Joined: Wed Mar 12, 2008 7:14 pm
- Personal rank: I.T Master
- Location: New York
- Contact:
Re: XC_GameEngine [build 9]
All the patches that I know of have been posted here on this forum. Such as servercrashfix1.1 and securevalidate. Not sure if this new engine helps with bad server setups / inexperienced admins. I did want to look into how people use ip spoofing though http://en.wikipedia.org/wiki/IP_address_spoofingSC]-[LONG_{HoF} wrote:Have you noticed if the XC_GameEngine helps prevent server crash exploits?Qwerty wrote:just added Version 9 to our RX server. So far so good.
https://www.vulpinemission.com
ROCKET-X8 Server
MONSTERHUNT w/ NALI WEAPONS 3 + RX8
BUNNYTRACK NY
SNIPER DEATHMATCH
InstaGib + ComboGib + Jailbreak
ROSEBUM ROCKET-X RB
ROCKET-X8 Server
MONSTERHUNT w/ NALI WEAPONS 3 + RX8
BUNNYTRACK NY
SNIPER DEATHMATCH
InstaGib + ComboGib + Jailbreak
ROSEBUM ROCKET-X RB
Re: XC_GameEngine [build 9]
I hate stuff about server security, but I'll do something about it.
About the v451 related fixes:
- ShowPath requires bAdmin (or local game) - DONE
- ShowInventory requires bAdmin (or local game) - next in TODO list
- Disable brute forcing the admin login - TODO (a separate watcher actor will handle this given i can't edit class sizes).
Dynamic array UScript support for local/server sandboxes implemented, as well as appSeconds() and MakeColor( R, G, B, opt A)... all of them using the same opcode format as Unreal227, HUEHUEHUE.
About the v451 related fixes:
- ShowPath requires bAdmin (or local game) - DONE
- ShowInventory requires bAdmin (or local game) - next in TODO list
- Disable brute forcing the admin login - TODO (a separate watcher actor will handle this given i can't edit class sizes).
Dynamic array UScript support for local/server sandboxes implemented, as well as appSeconds() and MakeColor( R, G, B, opt A)... all of them using the same opcode format as Unreal227, HUEHUEHUE.
- sektor2111
- Godlike
- Posts: 6411
- Joined: Sun May 09, 2010 6:15 pm
- Location: On the roof.
Re: XC_GameEngine [build 9]
NO, is f..ed up not done, it could be limited at 20 requests/session or configurable into INI not removed C'Mon who the heck are those UTPG to claim this a fix ? They could reduce that bullshit log causing lags and file spam. Bot does these natives a lot of times but... no logs. AND now days we are using PI at 100 MHz to launch UT servers ?Higor wrote:- ShowPath requires bAdmin (or local game) - DONE
Because of this "fix" I Implemented (with a few hours of work) a new player-class in a custom DM game able to track an enemy pawn using Bot Pathing. I'm also interested in CTF to track way to Flag if map is not so known or has too many similar zones... also I've done this. I did not see yet many people brutalizing server with this subject, else they can be banned properly. And to complete UTPG's stupid fixes, the question is: What they did against ServerKill chapter ? Let me answer: NOTHING.
Yes, Brute Force it was a need - good job. Unrealiable buffer is NOT DONE, removing bullshit strings is NOT DONE.
Could be an option and added goodies from 451 (if exist any).Higor wrote:Say, is version 440 the one worth using and developing on?
I haven't been able to see if they changed the class/struct sizes on that one.
As for previous mentioned chapter WayBeacon is unseen On-Line, whoever is abusing it might be candidate to a permanent ban, at least I don't mind other IP added into my lists, I already have a few millions, one more is not the end of world. And because we just debated this chapter I think I can rewrite technology against abusing... using an external guard or... internal guard, LOL.
Last edited by sektor2111 on Tue Mar 03, 2015 7:24 pm, edited 1 time in total.
Re: XC_GameEngine [build 9]
Say, is version 440 the one worth using and developing on?
I haven't been able to see if they changed the class/struct sizes on that one.
BBL 7 hours, semester is ON!
I haven't been able to see if they changed the class/struct sizes on that one.
BBL 7 hours, semester is ON!
- sektor2111
- Godlike
- Posts: 6411
- Joined: Sun May 09, 2010 6:15 pm
- Location: On the roof.
Re: XC_GameEngine [build 9]
Into UScript side I have tweaked ShowPath. If you think this supposed 451 fix is good you can use it but I got over that using other player and other beacon more shinny and a nice player... Is nice because else will fly (not in game, out of game)...
In case you have suggestions to accelerate things a bit I'll present you heat fragments to tell what you think.
Edit: Fragment from my classes (that's why I still want screwed headers - other XC_Engine.u would be awesome for me)
Of course I'm talking about NsWayBeacon
I can put these into any whatever XC_Engine.u and other things GameInfo like, etc. AT this moment are integrated in customs DM CTF. But they can be a common part as they are or modified.
Mainly by using another Engine.u tweaked well, things will work much better.
In case you have suggestions to accelerate things a bit I'll present you heat fragments to tell what you think.
Edit: Fragment from my classes (that's why I still want screwed headers - other XC_Engine.u would be awesome for me)
Code: Select all
exec function ShowPath()
{
//find next path to remembered spot
if ( Level.TimeSeconds - LastSeekTime < 5)
{
log (Self.GetHumanName()$" attempt abusing ShowPath()."); //Log it or count it in order to Destroy it
return;
}
FindPath(); //Split here if time passed
}
function FindPath()
{
local NsWayBeacon Nw;
Node = None;
foreach ChildActors (class'NsWayBeacon',Nw)
{
if (!Nw.bInRemoval)
{
ClientMessage("Look for The Lamp around you. Don't get messy.");
return;
}
}
LastSeekTime = Level.TimeSeconds;
if (Self.PointReachable(Destination))
{
ClientMessage("Your destination seems reachable.");
return;
}
else
{
Node = FindPathTo(Destination);
if ( Node != None )
{
// log(Self.GetHumanName()$" found path."); //Removing only this
Spawn(class 'NsWayBeacon',Self,'',Node.Location);
// bHasBeacon = True;
}
else
{
log (Self.GetHumanName()$" didn't find path.");
ClientMessage("Unable to find a path to desired spot.");
}
}
}
Code: Select all
class NsWayBeacon extends WayBeacon;
//temporary beacon for server-find navigation
//And a lil loved
var bool bInRemoval;
function Touch( Actor Other )
{
if ( Other == Owner )
{
bInRemoval = True;
if ( Owner.IsA('NsTournamentPlayer') )
{
NsTournamentPlayer(Owner).FindPath();
}
Destroy();
}
}
defaultproperties
{
bStatic=False
bHidden=False
bOnlyOwnerSee=True
RemoteRole=ROLE_DumbProxy //see if needs other frequency to avoid more bandwidth
LifeSpan=8.000000
DrawType=DT_Mesh
DrawScale=0.500000
AmbientGlow=40
bCollideActors=True
LightType=LT_Steady
LightBrightness=125
LightSaturation=125
}
Mainly by using another Engine.u tweaked well, things will work much better.
Re: XC_GameEngine [build 9]
If the goal is to display a path to a player, it's best to do it the way UT3 does.
External actor calling the pathfinding functions, and continuously drawing a path ahead of you as you walk over it, with some nice arrow shaped actors appearing and disappearing...
Accesible via mutate or whatever.
PD: XC_Engine.u is a thing for v10.
Although you'll only be able to see and use XC_TravelManager, XC_EditorLoader and maybe the yet-to-be-done player anti brute forcer Object.
I can't make a XC_GameEngine UnrealScript counterpart because the parent GameEngine class doesn't have one, and I'm unable to serialize the XC_GameEngine class from an U file without getting a failed assertion.
Things would have been far easier had Epic (Or UTPG!!) defined Engine.GameEngine in UnrealScript as well.
PD2:
Had to remap my rear audio jacks as the front speaker one stopped working.
This piece of crap of computer is getting closer to expiration date.
External actor calling the pathfinding functions, and continuously drawing a path ahead of you as you walk over it, with some nice arrow shaped actors appearing and disappearing...
Accesible via mutate or whatever.
PD: XC_Engine.u is a thing for v10.
Although you'll only be able to see and use XC_TravelManager, XC_EditorLoader and maybe the yet-to-be-done player anti brute forcer Object.
I can't make a XC_GameEngine UnrealScript counterpart because the parent GameEngine class doesn't have one, and I'm unable to serialize the XC_GameEngine class from an U file without getting a failed assertion.
Things would have been far easier had Epic (Or UTPG!!) defined Engine.GameEngine in UnrealScript as well.
PD2:
Had to remap my rear audio jacks as the front speaker one stopped working.
This piece of crap of computer is getting closer to expiration date.
Re: XC_GameEngine [build 10]
Build 10 changes
Included XC_Engine.u
Added missing CPF_Const flag to XC_Engine defined variables.
Removed bHackingInit boolean.
Added dynamic array support, uses same opcodes than Unreal 227.
Added AppSeconds() and MakeColor( R, G, B, optional A) using 227 opcodes as well.
Redefined some XC_GameEngine vars into static vars.
Fixed debug logs showing up in enhanced GetMapName() despite being disabled.
Encroachment checks won't cause self-encroaching.
Added v451 ShowPath lag exploit fix.
Added v451 ShowInventory lag exploit fix.
Added AdminLoginHook, sample actor being XC_Engine.XC_ServerActor
Added 'Version' property to XC_GameEngine, stored in defaults so it's accesible via GET XC_GameEngine VERSION.
Partial sources contain all the new usable native functions.
XC_Engine.XC_EditorLoader contains coding guidelines on the new opcodes (and arrays).
Linux binary not included due to package not being able to bind.
Updates to most documentation files.
XC_ServerActor documentation included:
Included XC_Engine.u
Added missing CPF_Const flag to XC_Engine defined variables.
Removed bHackingInit boolean.
Added dynamic array support, uses same opcodes than Unreal 227.
Added AppSeconds() and MakeColor( R, G, B, optional A) using 227 opcodes as well.
Redefined some XC_GameEngine vars into static vars.
Fixed debug logs showing up in enhanced GetMapName() despite being disabled.
Encroachment checks won't cause self-encroaching.
Added v451 ShowPath lag exploit fix.
Added v451 ShowInventory lag exploit fix.
Added AdminLoginHook, sample actor being XC_Engine.XC_ServerActor
Added 'Version' property to XC_GameEngine, stored in defaults so it's accesible via GET XC_GameEngine VERSION.
Partial sources contain all the new usable native functions.
XC_Engine.XC_EditorLoader contains coding guidelines on the new opcodes (and arrays).
Linux binary not included due to package not being able to bind.
Updates to most documentation files.
XC_ServerActor documentation included:
==================================
XC_ServerActor server actor readme
==================================
=============
Installation:
Requires XC_GameEngine.
On the Server/Game main ini:
[XC_Engine.XC_GameEngine]
ServerActors=XC_Engine.XC_ServerActor
If you don't have a XC_GameEngine entry, copy it from GameEngine instead of making a new one or ugly things happen.
============
Description:
This AdminLoginHook actor will allow external handling of AdminLogin calls
originating from PlayerPawn actors.
This gives the server the ability to deny the GameInfo.AdminLogin call.
In this case, the XC_ServerActor prevents players from brute forcing the AdminLogin.
=====================
Settings (On UT.ini):
The default settings are as follow:A bad login attempt is a login that occurs quickly after another (defined by LoginTryAgainTime)Code: Select all
[XC_Engine.XC_ServerActor] MaxBadLoginAttempts=100 LoginTryAgainTime=4.000000 bKickAfterMaxLogin=False
Bad logins are automatically discarded and the player has to wait in order to be able to login again.
These bad logins are counted, when a player reaches MaxBadLoginAttempts, either:
- Block AdminLogin until player reconnects.
- Kick player if bKickAfterMaxLogin=true.
====================================
AdminLogin hook Description for coders
This is a PreLoginHook actor, it autoregisters itself to XC_GE's PreLoginHooks list and
gains the ability to interfere with a player's PreLogin function.
How does this happen?
The following pseudocode explains it:
Code: Select all
exec function AdminLogin( string Password) { if ( XCGE_Allow(self) ) Level.Game.AdminLogin( self, Password); }
This allows every hooked actor to alter the Error and FailCode values with simple unrealscript code.
The only requirements are to register the actor with the following console command:
Code: Select all
event PostBeginPlay() { ConsoleCommand( "AdminLoginHook "$Name); //Warning: SaveConfig() is called on this actor by XC_GameEngine before map switch. }
And to implement this function as you see it right here (register will fail otherwise):
Code: Select all
event bool AdminLoginHook( PlayerPawn P) { ... //Your code here return true; //If you want the call to pass return false; //If you want to interrupt the player from reaching GameInfo.AdminLogin }
Re: XC_GameEngine [build 10]
I think a great bruteforce blocker is like this,
double the time between logins , starting with 5 seconds for the first incorrect password.
so in seconds ,
5,10,20,40,80,160,180,360 (6 minutes) , 12 Minutes , 24 minutes , etc.
^_^
double the time between logins , starting with 5 seconds for the first incorrect password.
so in seconds ,
5,10,20,40,80,160,180,360 (6 minutes) , 12 Minutes , 24 minutes , etc.
^_^