XC_Spec (r10) - Enhanced spectator

Search, find and discuss about Mutators!
Post Reply
Higor
Godlike
Posts: 1767
Joined: Sun Mar 04, 2012 6:47 pm

XC_Spec (r10) - Enhanced spectator

Post by Higor » Sun Aug 19, 2012 12:44 am

This is a serverside mutator that replaces the spectator class with a more complete one.
XC_Spec_r10.7z
Crashfix, less bandwidth usage during simulation.
SiegeIV clock
(15.11 KiB) Downloaded 238 times
XC_Spec_r7.7z
(13.07 KiB) Downloaded 182 times

It has 2 modes:

- Basic:
Alf fire key (while not chasing player) will chase closest player in the spectator's aim.
Jump key releases the spectator from the player at the player's location.
Grab command will teleport the spectator at the wall the spectator's aiming, for fast navigation.
'Chase' command, used to find players by partial matches > (EX: CHASE LANE > specs Tamerlane)

- Simulation
Locked in first person view.
99% accurate inventory simulation.
100% accurate rotation simulation. (capped to server framerate)
Weapon display identical to the player's.
Fixed legacy log spamming issue for weapons with ammocount (pulse gun and minigun).
Ducking eyeheight correction.
Cycling between players stays in first person mode.

In order to enter Simulation mode, you must chase a player, then type 'Simulate', cycling players will keep simulation mode.
In order to leave Simulation mode, jump out of your view target.

Other info:
If server doesn't automatically put you in XC_Spectator mode, type MUTATE XC_SPEC and it'll reconnect you in said mode.
In order to properly simulate, it is recommended that the the average server outgoing traffic per spectator never reaches the one specified by MaxClientRate.
ViewClass and ViewPlayerNum antispam.
ViewPlayerNum works like UTPure's.
SiegeIV's clock below the player health.

Usage instructions.
- Add serverpackage (NOT REQUIRED IF SERVER HAS XC_ENGINE):
ServerPackages=XC_Spec_r10
- Add mutator:
XC_Spec_r10.XC_SpecMutator

Making server replace all default spectators with XC_Spectators
Create XC_Spec.ini and add the following lines.

Code: Select all

[XC_Spec_r10.XC_SpecMutator]
bNoSimulation=False
bNoForce=False
Screenshot during a test:
Image
Last edited by Higor on Thu May 26, 2016 9:45 pm, edited 6 times in total.
ImageImage
Image unreal://23.111.157.138:7777
Image unreal://46.228.199.205:7788

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

Re: XC_Spec (r1) - Enhanced spectator

Post by Higor » Mon Aug 20, 2012 3:56 am

Fixed a couple of mistakes.

Now inventory chain isn't broken after a while.
And it works on servers with bNoMonsters=True.
ImageImage
Image unreal://23.111.157.138:7777
Image unreal://46.228.199.205:7788

User avatar
Dr.Flay
Godlike
Posts: 3210
Joined: Thu Aug 04, 2011 9:26 pm
Personal rank: Chaos Evangelist
Location: Kernow, UK
Contact:

Re: XC_Spec (r2) - Enhanced spectator

Post by Dr.Flay » Mon Aug 20, 2012 4:33 am

Niiice !
A client side version would be very handy for recording demos or machinema.
or for during testing of bot-pathing in maps ;)

User avatar
Wises
Godlike
Posts: 1088
Joined: Sun Sep 07, 2008 10:59 am
Personal rank: Right-Wing

Re: XC_Spec (r2) - Enhanced spectator

Post by Wises » Thu Feb 21, 2013 11:11 am

this is an interesting mod higor! I see that you seem to be a very active and very creative resource to the ut99 community as a whole. couple of questions regarding this mod/mutator.

is this a replacement to normal spec mode? I mean do players type some cmds into console whilst speccing or press 'jump' key (space) to perform Some_Action?

also Iam wondering.. is there some better way of only allowing non-banned individuals into a match/server based on ip/subnet blocks as well as having a whitelist for players within the same range but not banned?

thanks.
...

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

Re: XC_Spec (r6) - Enhanced spectator

Post by Higor » Fri Nov 07, 2014 8:12 pm

Updated

- There's less dummy items created during simulation.
- XC_Spectator forcing disabled by default, needs XC_Spec.ini to enable it.
- Hack fixes for DemoManager.
- Simulator no longer adds extra channels to other clients.
- Bots no longer shoot at the simulator.
ImageImage
Image unreal://23.111.157.138:7777
Image unreal://46.228.199.205:7788

z4tan
Novice
Posts: 8
Joined: Wed Sep 07, 2011 1:27 am

Re: XC_Spec (r6) - Enhanced spectator

Post by z4tan » Fri Nov 07, 2014 11:51 pm

Good higor!

Si lo instalo en el cliente modifica algo? o solo afecta si esta en el servidor?

------------------------------------------------------------------

If I install on the client modifies something? or whether this only affects the server?

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

Re: XC_Spec (r6) - Enhanced spectator

Post by Higor » Sat Nov 08, 2014 2:46 am

It's a server mod.
ImageImage
Image unreal://23.111.157.138:7777
Image unreal://46.228.199.205:7788

UT99.org

Re: XC_Spec (r6) - Enhanced spectator

Post by UT99.org » Sat Nov 08, 2014 3:43 am

billybill wrote:Hey... never saw this release until now. I was working on something similar and I'm not too sure how you did that stuff for a serverside only mod. I got all the messages playing and displaying correctly until I got to sprees. Not sure if you remember or not because you wrote this a long time ago. I'm guessing you were to play the message to the spectator as if it was them on the spree. But then muting all server messages and creating a custom one. And spree message is probably more generic like not in red text like "you were killed by", or not slightly higher like "you killed". I recall doing the same mute message after for first blood messages, which is a little different, no playername in the message to the person who got it. So do you think that's what I would have to do to make them work?

Thanks for the mod, I'll check it out, wish I knew it existed. Maybe a Higor section is in order

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

Re: XC_Spec (r7) - Enhanced spectator

Post by Higor » Thu Dec 04, 2014 11:32 pm

Small update:
- Displays timer on HUD when there's a ViewTarget.
- Armors replicated separately. (they used to be replicated as a single unit)
- Inventory simulation optimized (doesn't rebuild the inventory chain every frame).
ImageImage
Image unreal://23.111.157.138:7777
Image unreal://46.228.199.205:7788

sk1p
Novice
Posts: 8
Joined: Wed Jun 03, 2015 2:15 am

Re: XC_Spec (r7) - Enhanced spectator

Post by sk1p » Sun Jun 07, 2015 3:44 am

Code: Select all

Warning: Failed to load 'SGirl': Can't find file for package 'SGirl'
Warning: Failed to load 'Texture SGirl.sgrl': Can't find file for package 'SGirl'
Log: Possessed PlayerPawn: XC_Spectator CTF-'uK-Simplex][.XC_Spectator0
DevNet: Join succeeded: HoneyLemon
ScriptLog: [NPLoaderv16b] Player Join: HoneyLemon (67.197.36.183:51884)
ScriptLog: [NPLoaderv16b] Loading complete for player: HoneyLemon
NSC: [NSC-SYS] Login request for HoneyLemon
NSC: [NSC-SYS] IP       = 
NSC: [NSC-SYS] ClientID = 
NSC: [NSC-SYS] Login accepted.
Critical: appError called:
Critical: XC_Spectator CTF-'uK-Simplex][.XC_Spectator0 (Function XC_Spec_r7.XC_Spectator.ViewPlayerNum:01BD) Runaway loop detected (over 10000000 iterations)
Exit: Executing UObject::StaticShutdownAfterError
Critical: FFrame::Serialize
Critical: UObject::ProcessEvent
Critical: (XC_Spectator CTF-'uK-Simplex][.XC_Spectator0, Function Engine.PlayerPawn.ServerMove)
Critical: RemoteCall
Critical: HandleStream
Critical: UActorChannel::ReceivedBunch
Critical: (Actor XC_Spectator0)
Critical: UChannel::ReceivedSequencedBunch
Critical: Direct
Critical: UChannel::ReceivedRawBunch
Critical: DispatchDataToChannel
Critical: BunchData
Critical: UNetConnection::ReceivedPacket
Critical: UNetConnection::ReceivedRawPacket
Critical: UTcpNetDriver::TickDispatch
Critical: UpdatePreNet
Critical: ULevel::Tick
Critical: (NetMode=1)
Critical: TickLevel
Critical: UGameEngine::Tick
Critical: UpdateWorld
Critical: UServerCommandlet::Main
Exit: Exiting.
Uninitialized: Name subsystem shut down
I keep getting this error when someone joins as spec.

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

Re: XC_Spec (r10) - Enhanced spectator

Post by Higor » Thu May 26, 2016 9:45 pm

Updated - r10
ImageImage
Image unreal://23.111.157.138:7777
Image unreal://46.228.199.205:7788

ShaiHulud
Adept
Posts: 344
Joined: Sat Dec 22, 2012 6:37 am

Re: XC_Spec (r10) - Enhanced spectator

Post by ShaiHulud » Mon Sep 11, 2017 6:47 am

Feature request (unless it's already in there, and I'm just missing the mechanism to activate it). It'd be really cool if you could "lock" into the third person perspective in a way that would maintain the same viewing angle relative to the host.

What I mean is, if you do "behindview 1", and rotate your mouse so that you're viewing the host from - as an example - immediately behind the back of their head, and looking along the same line-of-sight, it'd be handy if releasing the mouse would keep you aligned with that projection. So, when the host turns, the camera would swing with them, and you'd still be seeing things from the same perspective (as though the camera were sitting on a selfie-stick attached to the back of the host's head).

Perhaps breaking out of this jailed mode by turning the mouse by a certain number of degrees left or right. I lack the vocabulary to describe this in a way that would make my proposition clearer. Diagrams might be helpful, but perhaps this communicates the gist.

Just a thought.

User avatar
sektor2111
Godlike
Posts: 4079
Joined: Sun May 09, 2010 6:15 pm
Location: On the roof.

Re: XC_Spec (r10) - Enhanced spectator

Post by sektor2111 » Tue Jan 29, 2019 7:45 pm

ACrashLog wrote: NetComeGo: Close TcpipConnection2363 01/28/19 17:39:59
Warning: Empty slot
Warning: This is: XC_Spectator DM-(]TKK[BandPractice).XC_Spectator1
Critical: appError called:
Critical: Assertion failed: ThisActor->IsValid() [File:R:\Projects\nacput\Utpg\Engine\Src\UnLevAct.cpp] [Line: 198]
Exit: Executing UObject::StaticShutdownAfterError
Critical: ULevel::DestroyActor
Critical: (XC_Spectator DM-(]TKK[BandPractice).XC_Spectator1)
Critical: UPlayer::Destroy
Critical: UNetConnection::Destroy
Critical: UTcpipConnection::Destroy
Critical: UObject::ConditionalDestroy
Critical: (TcpipConnection Transient.TcpipConnection2363)
Critical: UNetDriver::TickDispatch
Critical: UTcpNetDriver::TickDispatch
Critical: UpdatePreNet
Critical: ULevel::Tick
Critical: (NetMode=1)
Critical: TickLevel
Critical: UGameEngine::Tick
Critical: UXC_GameEngine::Tick
Critical: UpdateWorld
Critical: UXC_ServerCommandlet::Main
Exit: Exiting.
Uninitialized: Name subsystem shut down
Uninitialized: Log file closed, 01/28/19 17:39:59

User avatar
sektor2111
Godlike
Posts: 4079
Joined: Sun May 09, 2010 6:15 pm
Location: On the roof.

Re: XC_Spec (r10) - Enhanced spectator

Post by sektor2111 » Sun Feb 24, 2019 1:04 am

Hey, UTPG, is this a cloudy day or something else ?

Code: Select all

NetComeGo: Close TcpipConnection1467 02/18/19 22:29:48
Warning: Empty slot
Warning: This is: XC_Spectator DM-[BBST]-SkateOrDie.XC_Spectator0
Critical: appError called:
Critical: Assertion failed: ThisActor->IsValid() [File:R:\Projects\nacput\Utpg\Engine\Src\UnLevAct.cpp] [Line: 198]
Exit: Executing UObject::StaticShutdownAfterError
Critical: ULevel::DestroyActor
Critical: (XC_Spectator DM-[BBST]-SkateOrDie.XC_Spectator0)
Critical: UPlayer::Destroy
Critical: UNetConnection::Destroy
Critical: UTcpipConnection::Destroy
Critical: UObject::ConditionalDestroy
Critical: (TcpipConnection Transient.TcpipConnection1467)
Critical: UNetDriver::TickDispatch
Critical: UTcpNetDriver::TickDispatch
Critical: UpdatePreNet
Critical: ULevel::Tick
Critical: (NetMode=1)
Critical: TickLevel
Critical: UGameEngine::Tick
Critical: UXC_GameEngine::Tick
Critical: UpdateWorld
Critical: UXC_ServerCommandlet::Main
Exit: Exiting.
Uninitialized: Name subsystem shut down
Uninitialized: Log file closed, 02/18/19 22:29:48
I'll bet on 10$ that you cannot keep UT alive...

Post Reply