Page 1 of 1

XC_Spec (r10) - Enhanced spectator

Posted: Sun Aug 19, 2012 12:44 am
by Higor
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 369 times
XC_Spec_r7.7z
(13.07 KiB) Downloaded 214 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

Re: XC_Spec (r1) - Enhanced spectator

Posted: Mon Aug 20, 2012 3:56 am
by Higor
Fixed a couple of mistakes.

Now inventory chain isn't broken after a while.
And it works on servers with bNoMonsters=True.

Re: XC_Spec (r2) - Enhanced spectator

Posted: Mon Aug 20, 2012 4:33 am
by Dr.Flay
Niiice !
A client side version would be very handy for recording demos or machinema.
or for during testing of bot-pathing in maps ;)

Re: XC_Spec (r2) - Enhanced spectator

Posted: Thu Feb 21, 2013 11:11 am
by Wises
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.

Re: XC_Spec (r6) - Enhanced spectator

Posted: Fri Nov 07, 2014 8:12 pm
by Higor
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.

Re: XC_Spec (r6) - Enhanced spectator

Posted: Fri Nov 07, 2014 11:51 pm
by z4tan
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?

Re: XC_Spec (r6) - Enhanced spectator

Posted: Sat Nov 08, 2014 2:46 am
by Higor
It's a server mod.

Re: XC_Spec (r6) - Enhanced spectator

Posted: Sat Nov 08, 2014 3:43 am
by UT99.org
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

Posted: Thu Dec 04, 2014 11:32 pm
by Higor
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).

Re: XC_Spec (r7) - Enhanced spectator

Posted: Sun Jun 07, 2015 3:44 am
by sk1p

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.

Re: XC_Spec (r10) - Enhanced spectator

Posted: Thu May 26, 2016 9:45 pm
by Higor
Updated - r10

Re: XC_Spec (r10) - Enhanced spectator

Posted: Mon Sep 11, 2017 6:47 am
by ShaiHulud
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.

Re: XC_Spec (r10) - Enhanced spectator

Posted: Tue Jan 29, 2019 7:45 pm
by sektor2111
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

Re: XC_Spec (r10) - Enhanced spectator

Posted: Sun Feb 24, 2019 1:04 am
by sektor2111
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...