XC_Spec (r10) - Enhanced spectator

Search, find and discuss about Mutators!

XC_Spec (r10) - Enhanced spectator

Postby Higor » Sun Aug 19, 2012 12:44 am

This is a serverside mutator that replaces the spectator class with a more complete one.

Crashfix, less bandwidth usage during simulation.
SiegeIV clock
(15.11 KiB) Downloaded 173 times

(13.07 KiB) Downloaded 157 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 mutator:

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

Screenshot during a test:
Last edited by Higor on Thu May 26, 2016 9:45 pm, edited 6 times in total.
Posts: 1668
Joined: Sun Mar 04, 2012 6:47 pm

Re: XC_Spec (r1) - Enhanced spectator

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

Re: XC_Spec (r2) - Enhanced spectator

Postby 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
Site Staff
Posts: 3136
Joined: Thu Aug 04, 2011 9:26 pm
Location: Kernow, UK
Personal rank: Chaos Evangelist

Re: XC_Spec (r2) - Enhanced spectator

Postby 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?

User avatar
Posts: 1087
Joined: Sun Sep 07, 2008 10:59 am
Personal rank: ILLEGAL!

Re: XC_Spec (r6) - Enhanced spectator

Postby Higor » Fri Nov 07, 2014 8:12 pm


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

Re: XC_Spec (r6) - Enhanced spectator

Postby 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?
Posts: 8
Joined: Wed Sep 07, 2011 1:27 am

Re: XC_Spec (r6) - Enhanced spectator

Postby Higor » Sat Nov 08, 2014 2:46 am

It's a server mod.
Posts: 1668
Joined: Sun Mar 04, 2012 6:47 pm

Re: XC_Spec (r6) - Enhanced spectator

Postby 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

Re: XC_Spec (r7) - Enhanced spectator

Postby 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).
Posts: 1668
Joined: Sun Mar 04, 2012 6:47 pm

Re: XC_Spec (r7) - Enhanced spectator

Postby 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 (
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.
Posts: 8
Joined: Wed Jun 03, 2015 2:15 am

Re: XC_Spec (r10) - Enhanced spectator

Postby Higor » Thu May 26, 2016 9:45 pm

Updated - r10
Posts: 1668
Joined: Sun Mar 04, 2012 6:47 pm

Re: XC_Spec (r10) - Enhanced spectator

Postby 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.
Posts: 341
Joined: Sat Dec 22, 2012 6:37 am

Return to Mutators

Who is online

Users browsing this forum: No registered users and 1 guest