An InstaGib focussed fork of TimTim's NewNet mutator for Unreal Tournament.
- Features
- Client Settings
- Client Commands
- Server Installation
- Usage
- Admin Commands
- Server Settings
- Building
- Credits
- Reworked netcode in order to drastically reduce visible glitches when observing players on bad connections
- Working client forced models for enemies and teammates
- Working client-side hitsounds with the option to use custom hitsound packages
- Different Shock beam types (team-colored, none, instant beam)
- Fixed pop-in of enemies around corners
- Fixed delay of visible flag pick-up
- Fixed stuttering on respawn with high ping
- Fixed Bunny Jumping
These settings can be found in InstaGibPlus.ini under section [ClientSettings].
- bForceModels
- DesiredSkin
- DesiredSkinFemale
- DesiredTeamSkin
- DesiredTeamSkinFemale
- SkinEnemyIndexMap
- SkinTeamIndexMap
- bSkinEnemyUseIndexMap
- bSkinTeamUseIndexMap
- bUnlitSkins
- HitSound
- TeamHitSound
- bDisableForceHitSounds
- bEnableHitSounds
- bEnableTeamHitSounds
- bHitSoundPitchShift
- bHitSoundTeamPitchShift
- HitSoundSource
- SelectedHitSound
- SelectedTeamHitSound
- HitSoundVolume
- HitSoundTeamVolume
- sHitSound
- bDoEndShot
- bAutoDemo
- DemoMask
- DemoPath
- DemoChar
- bTeamInfo
- bShootDead
- cShockBeam
- bHideOwnBeam
- BeamScale
- BeamFadeCurve
- BeamDuration
- BeamOriginMode
- BeamDestinationMode
- SSRRingType
- bNoOwnFootsteps
- DesiredNetUpdateRate
- DesiredNetspeed
- FakeCAPInterval
- bNoSmoothing
- bLogClientMessages
- bDebugMovement
- bEnableKillCam
- MinDodgeClickTime
- bUseOldMouseInput
- SmoothVRController
- bShowFPS
- FPSLocationX
- FPSLocationY
- FPSDetail
- FPSCounterSmoothingStrength
- KillCamMinDelay
- bAllowWeaponShake
- bAutoReady
- bShowDeathReport
- bSmoothFOVChanges
- bEnableKillFeed
- KillFeedX
- KillFeedY
- KillFeedSpeed
- KillFeedScale
- FraggerScopeChoice
- bEnableHitMarker
- bEnableTeamHitMarker
- HitMarkerColorMode
- HitMarkerColor
- HitMarkerTeamColor
- HitMarkerSize
- HitMarkerOffset
- HitMarkerDuration
- HitMarkerDecayExponent
- HitMarkerSource
- bUseCrosshairFactory
- CrosshairLayers
Type: bool
Default: False
If set to True
, forces all other players to use fixed models and skins (see DesiredSkin settings).
If set to False
, all players will show as their chosen model and skin.
Note that these numbers only apply when editing INI settings
- Class: Female Commando, Skin: Aphex, Face: Idina
- Class: Female Commando, Skin: Commando, Face: Anna
- Class: Female Commando, Skin: Mercenary, Face: Jayce
- Class: Female Commando, Skin: Necris, Face: Cryss
- Class: Female Soldier, Skin: Marine, Face: Annaka
- Class: Female Soldier, Skin: Metal Guard, Face: Isis
- Class: Female Soldier, Skin: Soldier, Face: Lauren
- Class: Female Soldier, Skin: Venom, Face: Athena
- Class: Female Soldier, Skin: War Machine, Face: Cathode
- Class: Male Commando, Skin: Commando, Face: Blake
- Class: Male Commando, Skin: Mercenary, Face: Boris
- Class: Male Commando, Skin: Necris, Face: Grail
- Class: Male Soldier, Skin: Marine, Face: Malcolm
- Class: Male Soldier, Skin: Metal Guard, Face: Drake
- Class: Male Soldier, Skin: RawSteel, Face: Arkon
- Class: Male Soldier, Skin: Soldier, Face: Brock
- Class: Male Soldier, Skin: War Machine, Face: Matrix
- Class: Boss, Skin: Boss, Face: Xan
Any value below zero disables forcing models. For example, if you set DesiredSkin to -1
, enemy players that have selected male skins will not be forced to another skin.
Type: int
Default: 9
Type: int
Default: 0
Type: int
Default: 9
Type: int
Default: 0
Type: int[16]
Default: 0
Type: int[16]
Default: 0
Type: bool
Default: False
False
➜ Assign each enemyDesiredSkin
orDesiredSkinFemale
True
➜ Assigns each enemy a different skin, according to that players index into SkinEnemyIndexMap
Type: bool
Default: False
False
➜ Assign each teammateDesiredTeamSkin
orDesiredTeamSkinFemale
True
➜ Assigns each teammate a different skin, according to that players index into SkinTeamIndexMap
Type: bool
Default: True
If True
, player skins will not be affected by surrounding lighting, usually making them brighter.
Reserved
Reserved
Reserved
Type: bool
Default: True
If True
, plays a sound when a weapon you fire hits an enemy on your client.
If False
, no sound is played.
Type: bool
Default: False
If True
, plays a sound when a weapon you fire hits a teammate on your client.
If False
, no sound is played.
Type: bool
Default: True
Whether the HitSound from hitting enemies should be pitch shifted depending on damage dealt or not.
Type: bool
Default: False
Whether the HitSound from hitting teammates should be pitch shifted depending on damage dealt or not.
Type: int
Default: 0
Index into sHitSound array for the sound to play when hitting an enemy.
Type: int
Default: 2
Index into sHitSound array for the sound to play when hitting a teammate.
Type: float
Default: 4.0
Volume of the HitSound from hitting enemies.
Type: float
Default: 4.0
Volume of the HitSound from hitting teammates.
Type: string[16]
Specifies sounds that can be played.
Type: bool
Default: False
If True
, automatically create a screenshot at the end of a match.
If False
, no screenshot is automatically created.
Type: bool
Default: False
If True
, automatically start recording a demo when the game starts.
Type: string
Default: %l_[%y_%m_%d_%t]_[%c]_%e
Template for the name of the demo started because of bAutoDemo. The following (case-insensitive) placeholders will be replaced with match-specific details:
%E
➜ Name of the map file%F
➜ Title of the map%D
➜ Day (two digits)%M
➜ Month (two digits)%Y
➜ Year%H
➜ Hour%N
➜ Minute%T
➜ Combined Hour and Minute (two digits each)%C
➜ Clan Tags (detected by determining common prefix of all players on a team, or "Unknown")%L
➜ Name of the recording player%%
➜ Replaced with a single %
Type: string
Default: empty
Prefix for name of the demo started because of bAutoDemo or DemoStart.
Type: string
Default: empty
Characters filesystems can not handle are replaced with this.
Type: bool
Default: True
if Client wants extra team info.
Type: bool
Default: False
If True
, client shots can collide with carcasses from dead players.
If False
, client shots will not collide with carcasses.
Type: int
Default: 1
The style of beam to use for the SuperShockRifle.
- Default beam
- Team colored beam that looks like a projectile
- No beam at all
- Team colored, instant beam
Type: bool
Default: False
If True
, hides your own SuperShockRifle beams, no matter the value of cShockBeam.
Type: float
Default: 0.45
Visuals for the beam are scaled with this factor
Type: float
Default: 4.0
Exponent of the polynomial curve the beam's visuals decay with
Type: float
Default: 0.75
Unit: s
The time the beam's visuals decay over.
Type: int
Default: 0
- Originates where the player was when the shot was fired
- Originates at an offset from where the player is on your screen.
Type: int
Default: 0
- Beam ends where it ended on server
- Beam ends on target
Type: int
Default: 1
- No Ring
- Default Ring
- Team-colored Ring
Type: bool
Default: False
If True
, footstep sounds are not played for your own footsteps.
If False
, your own footstep sounds will be played.
Type: float
Default: 200
Unit: Hz
How often you want your client to update the server on your movement. The server places upper and lower limits on this (see MinNetUpdateRate, MaxNetUpdateRate), and the actual update rate will never exceed your netspeed divided by 100.
This is here to provide players with constrained upload bandwidth a way to reduce the required upload bandwidth at the expense of greater susceptibility to packet loss, and glitches arising from it.
Players with high upload bandwidth can set this to a high value to lessen the impact of packet loss.
Type: int
Default: 25000
Unit: B/s
Always tries to keep your netspeed at the value of this variable, unless the server prevents this.
Type: float
Default: 0.1
Unit: s
Tells the server to send an acknowledgement of your movement updates (see DesiredNetUpdateRate) after this amount of time has passed since the last acknowledgement. This saves download bandwidth and lessens server load.
Smaller values (closer to 0) result in acknowledgements being sent more frequently, negative values send an acknowledgement for every movement update. Higher values result in less frequent acknowledgements which can result in degraded client performance (FPS), or even crashes.
Type: bool
Default: False
The default mouse input smoothing algorithm always smears input over at least two frames, half the input being applied on one frame, the other half on the next frame. If set to True
, the game will always apply all input on the current frame. If set to False
, the default algorithm will be used.
This is a backport from UT99 client version 469, where the equivalent setting is called bNoMouseSmoothing.
Type: bool
Default: True
Causes all ClientMessages to be logged, if set to True
Type: bool
Default: False
Causes IG+ to write movement debugging events to console/demo, depending on whether debug data is enabled at the moment (see EnableDebugData)
Type: bool
Default: False
KillCam follows the player that killed you for two seconds.
Type: float
Default: 0.0
Unit: s
Minimum time between two rising edges of movement in the same direction for them to count as a dodge.
Type: bool
Default: False
The old mouse input processing algorithm discards the fractional part before turning the view according to the mouse input. The new algorithm preserves fractional rotation across frames.
A players view is defined by yaw and pitch, which are quantized to 65536 degrees (a circle has 65536 degrees instead of 360). If a players mouse input sensitivity is set such that the players mouse input can result in some fraction of a degree, that fractional part must be discarded before the view is changed. The new algorithm preserves that fractional part and adds it to the next mouse input.
If True
, two successive inputs of 1.5° change in yaw result in a 2° turn (int(1.5) + int(1.5) = 1 + 1 = 2).
If False
, two successive inputs of 1.5° change in yaw result in a 3° turn.
Type: PIDControllerSettings
Default: (p=0.09,i=0.05,d=0.00)
This holds the PID settings for the controller thats smoothing the view of players youre spectating as a spectator (see PID controller).
Type: bool
Default: False
If True
, show averaged FPS information in top right corner. If False
, show nothing.
Type: float
Default: 1.0
Placement of the FPS information on the horizontal axis. 0.0
is left edge, 1.0
is right edge.
Type: float
Default: 0.0
Placement of the FPS information on the vertical axis. 0.0
is top edge, 1.0
is bottom edge.
Type: int
Default: 0
How much detail to display about FPS
- 0 ➜ Average FPS only
- 1 ➜ Average Frame-Time
- 2 ➜ Standard deviation of Frame-Time
- 3 ➜ Min/Max Frame-Time over the last 3 seconds
Type: int
Default: 1000
How many samples to average FPS over.
Type: float
Default: 0.0
Unit: seconds
Minimum time between death and when KillCam starts rotating towards killer.
Type: bool
Default: True
If True
, weapons can shake view. If False
weapons can't shake view.
Type: bool
Default: True
If True
, you ready up when spawning for the first time during warmup. If False
you have to manually ready up using the Ready command, or using mutate ready
, or by saying one of ready
, rdy
, r
, !ready
, !rdy
.
Type: bool
Default: False
If True
, show a report of damage taken that lead to death. The report starts from the last time you gained health or armor.
Type: bool
Default: False
If True
, smooth changes to your FOV, which can happen when spawning, teleporting or zooming.
If False
, your FOV immediately changes to the desired FOV without a smooth transition.
Type: bool
Default: True
If True
kills are reported in a separate list in condensed form, using symbols to represent the cause of death.
If False
nothing is shown.
Type: float
Default: 0.0
Horizontal position of the KillFeed. Left edge of screen is 0. Right edge of screen is 1.
Type: float
Default: 0.5
Vertical position of the KillFeed. Top of screen is 0. Bottom of screen is 1.
Type: float
Default: 1.0
Linear factor on the speed at which individual lines in the KillFeed disappear.
Increase to make lines disappear sooner. Decrease to make lines disappear later. 0 and below mean the lines stay until they are rotated out by subsequent kills. Maximum of 4 lines at any time.
Type: float
Default: 1.0
Scales the size of individual lines of the KillFeed.
Type: EFraggerScopeChoice
Default: FSC_Moveable
Which scope the FraggerRifle uses when zoming.
FSC_None
➜ Keeps the default crosshairFSC_Static
➜ Few moving parts when zooming inFSC_Moveable
➜ More moving parts when zooming in
Type: bool
Default: False
If True
, plays an animation on the hud whenever you damage an enemy.
Type: bool
Default: False
If True
, plays an animation on the hud whenever you damage a teammate.
Type: EHitMarkerColorMode
Default: HMCM_FriendOrFoe
HMCM_FriendOrFoe
➜ Use HitMarkerColor for enemies and HitMarkerTeamColor for friends.HMCM_TeamColor
➜ Use team color in team games, HitMarkerColor in FFA games.
Type: color
Default: (R=255,G=0,B=0,A=255)
The color of the HitMarker when damaging enemies. Fades over HitMarkerDuration to completely transparent.
Type: color
Default: (R=0,G=0,B=255,A=255)
The color of the HitMarker when damaging teammates. Fades over HitMarkerDuration to completely transparent.
Type: float
Default: 128.0
Unit: pixel
The length of the arrows that the HitMarker places on screen.
Type: float
Default: 32.0
Unit: pixel
How far away from the center of the screen the arrows are placed.
Type: float
Default: 0.3
Unit: seconds
How long the HitMarker stays on screen. Negative values effectively disable HitMarker.
Type: float
Default: 5.0
How quickly the HitMarker becomes transparent. Higher values mean sharper drop-off. Values closer to zero make the HitMarker stay on screen at full brightness for longer until HitMarkerDuration is reached.
Type: EHitMarkerSource
Default: HMSRC_Server
HMSRC_Server
➜ HitMarkers are triggered server-side, accurate but delayed by pingHMSRC_Client
➜ HitMarkers are triggered client-side, inaccurate but instant
Type: bool
Default: False
If True
, override default crosshair drawing with custom one, as described by CrosshairLayers.
Type: CrosshairLayerDescr[10]
Default: (Texture="",OffsetX=0,OffsetY=0,ScaleX=0.000000,ScaleY=0.000000,Color=(R=0,G=0,B=0,A=0),Style=0,bSmooth=False,bUse=False)
The type CrosshairLayerDescr
is defined like this:
struct CrosshairLayerDescr {
var() config string Texture;
var() config int OffsetX, OffsetY;
var() config float ScaleX, ScaleY;
var() config color Color;
var() config byte Style;
var() config bool bSmooth;
var() config bool bUse;
};
A crosshair is made up of individual images that are drawn in a specific order potentially on top of each other, which are called layers. The current factory supports up to 10 layers for a single crosshair.
Texture
refers to the image to draw. If left empty, a 1x1 white pixel will be used.OffsetX
andOffsetY
is the offset from the center of the screen in pixels where the image should be drawnScaleX
andScaleY
represent how large the image should beColor
is the color in RGB that should be used to draw the imageStyle
is the drawing style to use for the image, one of- 0 (
STY_None
) - equivalent to 1 (STY_Normal
) for our purposes here - 1 (
STY_Normal
) - RGB image (no transparency) - 2 (
STY_Masked
) - Paletted image, first color in palette is transparent (?) - 3 (
STY_Translucent
) - Greyscale image, brightness is opacity, used for default crosshairs - 4 (
STY_Modulated
) - ?
- 0 (
bSmooth
controls whether sharp edges should be smoothed out whenScaleX
orScaleY
are greater than 1bUse
controls whether this layer should be drawn,True
to draw,False
to ignore
The following commands are additions by IG+ to the standard set of commands.
Types for parameters:
- bool: Binary value,
True
/1
orFalse
/0
- int: Whole number, e.g.
6
,78
- float: Real number, e.g.
1.35
, accurate up to 7 significant digits - string: String of characters, e.g.
"Hello, World!"
Parameters marked optional
do not have to be supplied.
- EnableDebugData
- EnableHitSound
- EnableTeamHitSound
- SetHitSound
- SetTeamHitSound
- ForceModels
- ListSkins
- SetForcedSkins
- SetForcedTeamSkins
- SetShockBeam
- SetBeamScale
- MyIgSettings
- SetNetUpdateRate
- SetMouseSmoothing
- SetKillCamEnabled
- DropFlag
- PureLogo
- TeamInfo
- SetMinDodgeClickTime
- mdct
- EndShot
- Hold
- Go
- AutoDemo
- ShootDead
- SetDemoMask
- DemoStart
- ShowFPS
- ShowOwnBeam
- Ready
- ZoomToggle
Parameters: (bool b)
Displays a variety of useful debugging information on screen.
Parameters: (bool b)
Enables/Disables hitsound when hitting enemies.
Parameters: (bool b)
Enables/Disables hitsound when hitting teammates.
Parameters: (byte hs)
Switches between the 16 slots available for enemy hitsounds (see sHitSound). hs
must be a value between 0
and 15
.
Parameters: (byte hs)
Switches between the 16 slots available for teammate hitsounds (see sHitSound). hs
must be a value between 0
and 15
.
Parameters: (bool b)
Enables/Disables forced models/skins for all players.
Prints a list of models/skins you can force enemies and teammates to.
Parameters: (int maleSkin, int femaleSkin)
Sets the forced models/skins for opponents who are using male or female models respectively. Valid values for maleSkin
and femaleSkin
range from 1
to 18
. The ListSkins command prints how those numbers map to models and skins.
Forcing all opponents to Xan:
SetForcedSkins 18 18
Forcing opponents to bright skins:
SetForcedSkins 16 7
Parameters: (int maleSkin, int femaleSkin)
Sets the forced models/skins for teammates who are using male or female models respectively. Valid values for maleSkin
and femaleSkin
range from 1
to 18
. The ListSkins command prints how those numbers map to models and skins.
Parameters: (int sb)
Changes the style of beam fired by the SuperShockRifle. See cShockBeam setting.
Parameters: (float bs) Changes BeamScale setting.
Prints a selection of IG+ settings.
Parameters: (float NewVal)
Changes how often your client will send a movement update to the server. See DesiredNetUpdateRate setting.
Parameters: (bool b)
Changes bNoSmoothing setting.
Parameters: (bool b)
Changes bEnableKillCam setting.
Drops the currently held flag, if any.
Shows IG+ version in the bottom left corner of the screen.
Parameters: (bool b)
Parameters: (float f)
Changes MinDodgeClickTime setting.
Parameters: (float f)
Changes MinDodgeClickTime setting.
Parameters: (optional bool b)
Changes bDoEndShot setting.
Resets the AutoPause countdown. Can only be used if the AutoPause was triggered by an opponent leaving or switching sides.
Resumes the game immediately. Can only be used by the team that lost at least one of its players.
Parameters: (bool b)
Changes bAutoDemo setting.
Toggles bShootDead setting between True
and False
.
Parameters: (optional string Mask)
Changes DemoMask setting.
Starts recording a demo with the DemoPath and DemoMask that are currently configured.
Toggles displaying FPS information in the top right corner. See bShowFPS.
Toggles showing your own beam when firing the SuperShockRifle. See bHideOwnBeam.
Toggles ready state during warmup.
Parameters: (float SensitivityX, optional float SensitivityY)
Toggles between FOV 80 and the players desired FOV.
SensitivityX
and SensitivityY
are multiplicative factors on mouse sensitivity in their respective directions (X is side-to-side / yaw, Y is up-down / pitch) while zooming.
If SensitivityY
is not provided by the user, it is assumed to be the same as SensitivityX
.
- Same sensitivity as un-zoomed:
ZoomToggle 1.0
- Half the sensitivity as un-zoomed:
ZoomToggle 0.5
Extract the zipped files to your system folder.
Remove any mention in your ServerPackages and ServerActors of TimTim's NewNet or Deepu's Ultimate NewNet.
Add the following lines to your server's UnrealTournament.ini under [Engine.GameEngine]:
ServerPackages=InstaGibPlus9 ServerActors=InstaGibPlus9.NewNetServer ServerActors=InstaGibPlus9.PureStats
It is highly recommended to set your server's tickrate to 100.
For InstaGib, make sure the mutator InstaGibPlus9.NewNetIG is loaded via your map vote configuration or during server launch.
InstaGib+ has minimal weapons code and will load the default UT weapons if the NewNetIG mutator is not loaded, so it is absolutely unusable in normal weapons, make sure to use it only if your objective is to play or to run an InstaGib centered server.
When connected to the server type 'mutate playerhelp' in the console to view the available commands and options.
- ShowIPs (Shows the IP of players)
- ShowID (Shows the ID of players)
- KickID x (Will Kick player with ID x)
- BanID x (Will Ban & Kick player with ID x)
- EnablePure/DisablePure
- ShowDemos (Will show who is recording demos)
As spectator, you may need to add 'mutate pure' + command (mutate pureshowtickrate)
Server settings can be found inside InstaGibPlus.ini.
- HeadshotDamage
- SniperSpeed
- SniperDamagePri
- SetPendingWeapon
- NNAnnouncer
- bUTPureEnabled
- Advertise
- AdvertiseMsg
- bAllowCenterView
- CenterViewDelay
- bAllowBehindView
- TrackFOV
- bAllowMultiWeapon
- bFastTeams
- bUseClickboard
- MinClientRate
- MaxClientRate
- bAdvancedTeamSay
- ForceSettingsLevel
- bWarmup
- bCoaches
- bAutoPause
- ForceModels
- ImprovedHUD
- bDelayedPickupSpawn
- bTellSpectators
- PlayerPacks
- DefaultHitSound
- DefaultTeamHitSound
- bForceDefaultHitSounds
- TeleRadius
- ThrowVelocity
- bForceDemo
- bRestrictTrading
- MaxTradeTimeMargin
- TradePingMargin
- KillCamDelay
- KillCamDuration
- bJumpingPreservesMomentum
- bOldLandingMomentum
- bEnableSingleButtonDodge
- bUseFlipAnimation
- bEnableWallDodging
- bDodgePreserveZMomentum
- MaxMultiDodges
- BrightskinMode
- PlayerScale
- bAlwaysRenderFlagCarrier
- bAlwaysRenderDroppedFlags
- MinPosError
- MaxPosError
- MaxHitError
- MaxJitterTime
- MinNetUpdateRate
- MaxNetUpdateRate
- bEnableServerExtrapolation
- bEnableServerPacketReordering
- bEnableLoosePositionCheck
- bPlayersAlwaysRelevant
- bEnablePingCompensatedSpawn
- bEnableJitterBounding
- bEnableWarpFix
- WarpFixDelay
- ShowTouchedPackage
- ExcludeMapsForKickers
- ForcedSettings
Type: float
Default: 100
Controls how much damage a headshot with the sniper rifle deals.
Type: float
Default: 1
Controls sniper rifle reload time, higher values lead to less time between shots.
Type: float
Default: 60
Controls damage of body hits by sniper rifle.
removed
Type: bool
Default: False
Whether to automatically add an announcer for multi-kills, or not.
Type: bool
Default: True
Big switch to enable/disable IG+.
Type: int
Default: 1
Controls whether to add a tag to the server's name.
1
➜ Add tag at the beginning of the server's name2
➜ Add tag at the end of the server's name- anything else - Dont advertise
Type: int
Default: 1
Controls the tag to add to the server's name
0
➜[CSHP]
1
➜[IG+]
- anything else ➜
[PWND]
Type: bool
Default: False
Whether to allow use of the bSnapLevel button or not.
Type: float
Default: 1
Unit: s
If bAllowCenterView is True, controls how much time has to pass between uses of bSnapLevel.
Type: bool
Default: False
Whether to allow 3rd Person perspective or not.
Type: int
Default: 0
Controls how strictly the FOV is checked.
1
➜ very strict, no zooming with sniper2
➜ looser, zooming with sniper possible- anything else ➜ no restrictions
Type: bool
Default: False
Whether to allow the multi-weapon bug to be (ab)used.
Type: bool
Default: True
Whether to allow the use of mutate FixTeams
, mutate NextTeam
, and mutate ChangeTeam <Team>
or not. True
enables the use of these commands, False
disables.
Type: bool
Default: True
Enables a set of alternative scoreboards that show the ready-status for players before the match has started.
Type: int
Default: 10000
Unit: B/s
The server will force clients to use at least this netspeed.
Type: int
Default: 25000
Unit: B/s
Maximum netspeed allowed for clients.
Type: bool
Default: True
Whether to allow the use of advanced TeamSay or not. Advanced TeamSay allows showing game-information in your chat messages, by replacing the following with the corresponding information:
%H
➜ " Health"%h
➜ "%"%W
➜ "" or "Empty hands"%A
➜ "Shieldbelt and Armor" or " Armor"%a
➜ "SB A" or "A"%P
,%p
➜ Current CTF objective
Type: int
Default: 2
When to check that default settings for all objects are correct client-side.
0
and below ➜ never1
➜ once after PostNetBeginPlay2
➜ in addition, every time a new object is spawned3
and above ➜ in addition, once every 5000 server-ticks on average
Type: bool
Default: True
Whether to allow warmup in tournament games or not.
Type: bool
Default: False
Whether to allow spectators to coach teams in tournament games or not.
Type: bool
Default: True
Whether to automatically pause the game in tournament games or not.
Type: int
Default: 1
Force models mode.
1
➜ Client controlled2
➜ Forced on- anything else ➜ Disabled
Type: int
Default: 1
Enable various HUD improvements. Depends on PureClickBoard mutator (set bUseClickboard to True
, or add mutator through configuration).
1
➜ Show boots, Clock2
➜ In addition, show enhanced team info- anything else ➜ dont show anything
Type: bool
Default: False
Enable or disable delayed first pickup spawn.
Type: bool
Default: False
Enable or disable telling spectators of reason for kicks.
Type: string[8]
Default: empty
Config list of supported player packs
Reserved
Reserved
Reserved
Type: int
Default: 210
Unit: uu
Radius within which to telefrag enemies using translocator.
Type: int
Default: 750
Unit: uu/s
Horizontal speed with which to throw weapons.
Type: bool
Default: False
Forces clients to do demos.
Type: float
Default: 100
Unit: uu²
Unused. Intended to be minimum squared distance error for updating clients.
Type: float
Default: 3000
Unit: uu²
Unused. Intended to be maximum squared distance error for updating clients.
Type: float
Default: 10000
Unit: uu
Distance to any position over the last 500ms for hits to be counted.
Type: bool
Default: False
Send package-names of touched actors to clients when those clients touch the actors.
Type: string[128]
Default: empty
List of map names (with or without .unr) for maps that should not have their Kickers replaced with NN_Kickers.
Type: float
Default: 0.1
Unit: s
Maximum time between updates by clients that's tolerated by IG+. Allowed position error scales with time since last update, up to this amount of time. Guideline setting is half the maximum supported ping.
Type: float
Default: 60
Unit: Hz
Minimum frequency of client updates for server.
Type: float
Default: 200
Unit: Hz
Maximum frequency of client updates for server.
Type: bool
Default: True
If True, the server tries to determine who shot first, and prevents shots from players that are already dead and fired their last shot after their killer by in-game time from causing a trade.
If False, any shot made while alive on your client counts.
Type: float
Default: 0.1
Unit: s
Maximum time after death (on server) that players can still fire their weapons. Only applies if bRestrictTrading is True.
Type: float
Default: 0.5
Trade uncertainty relative to shooters ping. Reasonable values range from 0 to 1. Higher values lead to more trades.
Type: bool
Default: True
If enabled the server will extrapolate client movement when the client's movement updates are too far behind the server's timepoint.
Disable to restore default netcode behavior.
Type: bool
Default: False
If enabled, the server will try to reorder incoming ServerMove calls to extract the maximum amount of usable data. More relevant at lower TickRates.
Disable to restore default netcode behavior.
Type: bool
Default: True
If enabled the server will loosen the check of players position, by factoring in current movement The server will even use the players reported position instead of the calculated one, if the loose check is successful.
Disable to restore default netcode behavior.
Type: bool
Default: True
If enabled the server will always replicate all players to each other, increasing network traffic in order to make sure players always appear on screen.
Disable to restore default netcode behavior.
Type: bool
Default: True
If enabled, players will not become visible to others until they can actually move on their end.
If disabled, players will stand on their spawn-point visible to other players without being able to move for the duration of their ping.
Disable to restore default netcode behavior.
Type: bool
Default: True
If enabled, updates by clients over more than MaxJitterTime will be cut down to MaxJitterTime in order to reduce visible warping for other players.
Disable to restore default netcode behavior.
Type: bool
Default: True
If enabled, other players will not be extrapolated indefinitely on clients. Instead, after a short amount of time they will be forcibly reset to the last position the client received from the server.
Type: float
Default: 0.25
Unit: s
The amount of time that has to pass without an update from a player before forcing them back to their position on the server for all other clients. Also controls
Type: float
Default: 0
Unit: s
KillCam can not start before a player has been dead for this long.
Type: float
Default: 2
Unit: s
KillCam follows the killing player for this long after its start.
Type: bool
Default: False
If False, players will be slowed down to ground speed upon landing, which prevents Bunny Hopping. If True, landing works like before.
Type: bool
Default: True
If True, players retain the momentum of their in-air movement upon landing. If False, players can cancel their momentum by moving in the opposite direction of their in-air movement.
Type: bool
Default: False
Enables an input button clients can bind to a key, which makes the client dodge in the direction it is currently walking.
Button can be bound to a key by assigning Button bDodge to a key in User.ini under section [Engine.Input]
Type: bool
Default: True
If False, models will not do a flip when dodging forwards, but use an animation similar to that of all other dodge directions.
Type: bool
Default: False
If enabled, allows players to dodge off of walls while in the air.
Type: bool
Default: False
If True, preserves upward momentum (from lifts and regular jumps) when dodging. Downward momentum is always cancelled out.
Type: int
Default: 1
How many additional dodges you can perform after the first dodge. Only applies when bEnableWallDodging is True.
Type: int
Default: 1
What brightskin mode is allowed for clients.
- 0 ➜ No brightskins allowed
- 1 ➜ Unlit skins allowed
Type: float
Default: 1.0
Scale factor for player models. Scales both DrawScale (visuals) and CollisionRadius/-Height (hitbox).
Type: bool
Default: False
If True, team-mates of flag carriers will be able to see the carrier through walls.
Type: bool
Default: False
If True, players are able to see their own flags through walls if those flags are currently dropped on the ground.
Type: ForcedSettingsEntry[128] Default: (Key="",Value="",Mode=0)
Type ForcedSettingsEntry
is defined like this:
struct ForceSettingsEntry {
var string Key;
var string Value;
var int Mode;
};
Each entry can be used to force a setting on clients:
Key
is the name of the setting to forceValue
is the value to force the setting toMode
describes how to force the setting:0
➜ Initial only1
➜ Always, but reset after leaving server2
➜ Always, but don't reset (should not be used)
- Go to the installation directory of UT99 in a command shell
- Use
git clone https://github.com/utspect/InstaGibPlus
to clone the repo - Navigate to the newly created directory
InstaGibPlus
- Execute
Build.bat
- The result of the build process will be available in the
System
folder that is next toBuild.bat
TimTim - Original NewNet.
Deepu - Ultimate NewNet.
AnthraX - Lots and lots of help with debugging tricky problems.
spect - Starting this project.
Deaod - Maintenance.
UT99 Community - For their endless patience, support and help testing and reporting bugs.
Epic - For not open sourcing a 20 year old game running on their 20 year old engine.