DemoRecords in Server - Notes, facts tested

Development assistance and tutorials here.
Nelsona
Posts: 1737
Joined: Sat Sep 30, 2017 5:03 am

DemoRecords in Server - Notes, facts tested

Post by Nelsona »

The EUTSource package made me curious about how a match record works on the server, not on the client side via Via network replication. Some maps caused valid records, others just DEM files. It is true that EUT has a lot of details on the server, some not even the server's job, but it helps with various troubleshooting ... I mention that the registrations do not run with XC_Engine even version 21, but registrations can be made on XC servers.
What was the problem with some recordings? I suspect the name that was processed by the EUT was not exactly in good condition and the generation of unusual invalid altered filenames. If you ask me if I solved the problem, the answer is: It seems to have been solved.
I have changed the strategy of recording names using the old and ancient "underline" character instead of ":" and "." used in time-stamp...
Then I wrote a small mutator that does pretty much what EUT says, but it automatically starts recording when the game starts. Using a "more normal" filename, we generated a DEM record named after the map name, start date and time.
The recording can then be moved more or less automatically somewhere to be examined. We have a small advantage from udemo which shows us which files are not OK to view the recording and it is desirable to have EXACT the files we have in the server. I repeat, the recordings have details in HUD and sounds very much like what a client sees when playing EUT games, it is not the same everywhere. The toy addressing server is basically like here, simple without a configuration so far:

Code: Select all

class SDemo expands Mutator;

var bool bDemoStarted;
var string filename;

event PrebeginPlay()
{}

event PostBeginPlay()
{}

function ModifyPlayer(Pawn Other)
{
	Super.ModifyPlayer(Other);

	if (bDemoStarted) return;
	else
	{
		if ( DeathMatchPlus(Level.Game).bStartMatch && !Level.bDemoRecording )
		{
			filename = String(Outer.Name);
			filename = filename$"_";
			filename = filename$LogDate();
			log("Match and Record have been started using"@filename,'AutoRecord');
			Level.ConsoleCommand("demorec \""$filename$"\"");
		}
		bDemoStarted = True;
	}
}

function string LogDate()
{
	local string d, t;

	d = Level.Year$"-"$PrePad(Level.Month,"0",2)$"-"$PrePad(Level.Day,"0",2);
	t = PrePad(Level.Hour,"0",2)$"_"$PrePad(Level.Minute,"0",2)$"_"$PrePad(Level.Second,"0",2);
	return d$"__"$t;
}

function string PrePad(coerce string rv, string p, int i)
{
	while (Len(rv) < i) rv = p$rv;
	return rv;
}
After more testing I will see if it needs some other properties or... it's enough to be only a Server-Side thing.

Good and... less good things recommended in said EUT server with regard to INI - simplified... if not too simplified.

Code: Select all

[Engine.Engine]
NetworkDevice=IpDrv.TcpNetDriver
Console=UTMenu.UTConsole
Language=int
GameEngine=Engine.GameEngine
DefaultServerGame=EUTSource.EUTDeathMatchPlus
Input=Engine.Input
Canvas=Engine.Canvas //I don't see which demoDriver it's used - does it work then ?
... //there is no render defined and nothing else related to clients
[Core.System]
PurgeCacheDays=30 //Server won't cache anything anyway
SavePath=../Save
CachePath=../Cache
CacheExt=.uxx
Paths=../System/*.u
Paths=../Maps/*.unr
Paths=../Textures/*.utx
Paths=../Sounds/*.uax
Paths=../Music/*.umx
Suppress=DevLoad
Suppress=DevSave
Suppress=DevNetTraffic
Suppress=DevGarbage
Suppress=DevKill
Suppress=DevReplace
Suppress=DevSound
Suppress=DevCompile
Suppress=DevBind
Suppress=DevBsp
Suppress=DevNet
Suppress=ScriptWarning //Hooligan behavior - you should be arrested quickly and jailed !
Suppress=NetComeGo
Suppress=NotifyAcceptingConnection //I did not know this
...
[Engine.GameEngine]
CacheSizeMegs=128
UseSound=False //I suspected that server don't need this - it's stupid - plain servers by EPIC are having this TRUE, after messing up with GetSoundDuration too... 
ServerPackages=EUTSource //This is probably pointless - game-type goes automated mapped in ServerPackages
ServerPackages=EUT_Sounds
ServerPackages=EUT_Textures
...
ServerActors=EUTSource.EUT //this is firing mutator responsable with demo record and HUD and... all that stuff - excuse me but these docs have holes
...
[Engine.GameInfo]
...
PlayerViewDelay=1.000000
PlayerSpeechDelay=0.300000
PlayerTauntDelay=2.000000
bLogAdminActions=True
LoginDelaySeconds=3.000000
MaxLoginAttempts=3
ActionToTake=DO_KickBanPlayer //Now this is good for spoofing logins in order to gain a native weak ban...
...
UncodeX Stuff
Not often maintained
My UT Mapping works...
Learn the rules like a pro, so you can break them like an artist.
- Pablo Picasso -
Nelsona
Posts: 1737
Joined: Sat Sep 30, 2017 5:03 am

Re: DemoRecords in Server - Notes, facts tested

Post by Nelsona »

Reporting time
It looks like if server is another machine with another way of working (using UCC and Not U..T...exe) these demo files have no use. I don't know if that DEM file it's storing or not some performance data and then running on a different machine won't really happen. A few times demo has started, and the only thing which I could see was the map (without weapons, without Bots) and one or two kill messages. So to speak server might have things incompatible with a client on another machine and... I could figure this with other demo files posted in forums by people and being totally useless. This is shortly what was happening so far, I'll do other checks in next time...
UncodeX Stuff
Not often maintained
My UT Mapping works...
Learn the rules like a pro, so you can break them like an artist.
- Pablo Picasso -
User avatar
Cool Cat
Posts: 221
Joined: Mon Dec 31, 2018 7:25 pm
Location: Europe

Re: DemoRecords in Server - Notes, facts tested

Post by Cool Cat »

So... It was long time overdue. I have to make a demo to explain how do i do this. People start to talk and lately i got almost kicked from server by users(!) cause they think it is almost impossible to play like that. Last results raise some eyebrows. Frankly i don't blame them to match. But! All this time i searched way to show how i play. I tried to use udemo 3.5, but it does not worked online at all, and create heavy lags and low FPS effect during record that make normal game impossible.
Then i use built-in in UT99 system to record DEMO, it worked online but still with that heavy lags and low FPS. I literally can't play because it like 20 fps or at least effect like that.
But today i tried on Blue's server again with built in demo engine and suddenly it worked. So i immediately go to NFR server cause it was full with over 20 players and finally record DEMO on Killing Fields map. Built-in demo engine can't record sniper rifle optical scope work. udemo 3.5 can, as it say in readme, but udemo 3.5 is not worked for me. So this DEMO show a little bit not as i see game, cause in this demo not working sniper rifle zoom. It is mean that while i played i actively use sniper rifle zoom but in demo record it is not showing. Still it's not bad demo. Sorry for many words - i for a long time couldn't make a demo in ut.
11-12-2021 Killing Fields.zip
(3.79 MiB) Downloaded 377 times
Image Image
User avatar
Cool Cat
Posts: 221
Joined: Mon Dec 31, 2018 7:25 pm
Location: Europe

Re: DemoRecords in Server - Notes, facts tested

Post by Cool Cat »

New Demo recorded. I didn't play for 20 days. Play only 2 matches today - this was second.
01-01-2022 Shed.zip
(3.37 MiB) Downloaded 424 times
Image Image
User avatar
Cool Cat
Posts: 221
Joined: Mon Dec 31, 2018 7:25 pm
Location: Europe

Re: DemoRecords in Server - Notes, facts tested

Post by Cool Cat »

2 new demos. In both matches players say that i am probably cheater. With aimbot. And radar. And there is no way they miss me. :P
02-01-2022 Headquarters.zip
(5.29 MiB) Downloaded 430 times
02-01-2022 Largelegos.zip
(3.96 MiB) Downloaded 440 times
Image Image
User avatar
Cool Cat
Posts: 221
Joined: Mon Dec 31, 2018 7:25 pm
Location: Europe

Re: DemoRecords in Server - Notes, facts tested

Post by Cool Cat »

Sexy Sesmarv3 24.01.2023.zip
(1009.48 KiB) Downloaded 265 times
New Demo that i make just now. Short game of 2 players. Recorded using uDemo3.5.
It seems that you need game version 469 to record normally on 469 servers. This one recorded on HOF Blue's Deathmatch that is 451 on both sides (meaning me and server).
I can't record normally games on 469 - it then showed as slo-mo laggy game. This sucks.
Image Image
User avatar
Cool Cat
Posts: 221
Joined: Mon Dec 31, 2018 7:25 pm
Location: Europe

Re: DemoRecords in Server - Notes, facts tested

Post by Cool Cat »

New Demo that i make today.
boxes1 - 25_02_2023.zip
(2.01 MiB) Downloaded 311 times
Image Image
User avatar
Cool Cat
Posts: 221
Joined: Mon Dec 31, 2018 7:25 pm
Location: Europe

Re: DemoRecords in Server - Notes, facts tested

Post by Cool Cat »

2 new demo that i make today with many players.
First is HardRockCafe map.
Second is InDaCrib map with UK_bad_boy (if you know what i mean :twisted: )
cafe.zip
(4.52 MiB) Downloaded 301 times
fucked.zip
(1010.57 KiB) Downloaded 314 times
giphy-2648991924.gif
giphy-2648991924.gif (1.77 MiB) Viewed 6017 times
Image Image
User avatar
Cool Cat
Posts: 221
Joined: Mon Dec 31, 2018 7:25 pm
Location: Europe

Re: DemoRecords in Server - Notes, facts tested

Post by Cool Cat »

Snipertown map. Match with deemer. Just made it. Telefrags and madskilz included. :ugeek: :mrgreen:
SNIPERTOWN.zip
(3.28 MiB) Downloaded 293 times
Image Image
User avatar
Cool Cat
Posts: 221
Joined: Mon Dec 31, 2018 7:25 pm
Location: Europe

Re: DemoRecords in Server - Notes, facts tested

Post by Cool Cat »

Just recorded.
Map: DM_Contact_XL
Server: {HoF} SC]-[WARTZ's DeathMatch
Game with with admins and HOF members. I was falling off from tiredness, i was totally exhausted and needed sleep. So i upload this and go :arrow: to sleep. Turns out when you play with sub-conscience behind the wheel, - it may be even better.
gungame.zip
(1.25 MiB) Downloaded 278 times
Image Image
Post Reply