FRAG NEWNET

--------------DESCRIPTION--------------

NewNet - "Modern Netcode for UT99 (AKA a bunch of hacks)" ©

Main features NewNet:

- no delay before firing at high ping

- motion compensation at high ping

- smooth movements at high ping

- fast weapon switch

FragNewNet (FNN) is based on the UltimateNewNet Beta 1e (UN1e) by Deepu

UltimateNewNet is based on the original NewNet code written by TimTim

FNN contains IG+ code

FNN is primarily intended for classic game modes (DM, TDM, LMS, CTF, AS, DOM).

Inside the package there are mutators that modify these game modes (TeamLMS, ComboGib, Instagib, etc)

--------------UPDATE FNN--------------

Copy the new fnnXXX.u (XXX - new version FNN, YYY - old version FNN) to System folder game.

Change the all values fnnYYY to fnnXXX in the files:

UnrealTournament.ini, FragNewNet.ini, mapvote.ini (the name file may be different depending on the mapvote you are using)

EXAMPLE:

UnrealTournament.ini

ServerPackages=fnnYYY --> ServerPackages=fnnXXX

ServerActors=fnnYYY.NewNetServer --> ServerActors=fnnXXX.NewNetServer

FragNewNet.ini

[fnnYYY.UTPure] --> [fnnXXX.UTPure]

[fnnYYY.DoubleJump] --> [fnnXXX.DoubleJump]

etc.

--------------INSTALLATION FNN--------------

Copy the fnnXXX.u (XXX - version FNN) to System folder game.

UnrealTournament.ini:

[Engine.GameEngine]

ServerPackages=fnnXXX

ServerActors=fnnXXX.NewNetServer (or as a mutator: fnnXXX.NewNetServer)

After starting the server, the FragNewNet.ini file with the FNN settings is created in the System folder game.

Description of settings:

The default damage values are the same as in the original game. To get the real damage value, multiply the FNN value by 1.5

[fnnXXX.UTPure]

HammerDamagePri=60.000000

HammerDamageSec=20.000000

HammerDamageSelfPri=36.000000

HammerDamageSelfSec=24.000000

EnforcerDamage=17.000000 (Hitscan damage)

BioDamagePri=40.000000 (Deals damage in a radius. The further from the center of the body, the less damage)

BioDamageSec=75.000000 (Deals damage in a radius. The further from the center of the body, the less damage)

BioDamageCharging=150.000000 (Damage when fired with a not fully charged BioRifle)

BioDamageCharged=300.000000 (Damage when fired with a fully charged BioRifle)

ShockDamagePri=40.000000 (Hitscan damage)

ShockDamageSec=55.000000 (Deals damage in a radius. The further from the center of the body, the less damage)

ShockDamageCombo=165.000000 (Deals damage in a radius. The further from the center of the body, the less damage)

PulseDamagePri=20.000000 (Hitscan damage)

PulseDamageSec=4.000000 (Hitscan damage)

RipperDamagePri=30.000000 (Hitscan damage)

RipperDamageSec=34.000000 (Deals damage in a radius. The further from the center of the body, the less damage)

MinigunDamagePri=9.000000 (Hitscan damage)

MinigunDamageSec=14.000000 (Hitscan damage)

FlakDamagePri=16.000000 (Damage from one chunk. One shot contains 8 chunk)

FlakDamageSec=70.000000 (Projectile Direct Hit Damage. The projectile, upon hitting the surface, explodes and releases 8 chunk)

RocketDamagePri=75.000000 (Deals damage in a radius. The further from the center of the body, the less damage)

RocketDamageSec=80.000000 (Deals damage in a radius. The further from the center of the body, the less damage)

SniperDamagePri=40.000000 (Hitscan damage)

SniperHeadshotDamage=100.000000 (Hitscan damage)

H4xDamagePri=45.000000 (Hitscan damage)

H4xHeadshotDamage=100.000000 (Hitscan damage)

H4xSpeed=1.000000 (Reload speed)

HookDamageMode0=1.000000 (Damage for setting HookKillMode=0)

HookDamageMode1=13.000000 (Damage for setting HookKillMode=1)

ComboGibDamagePri=700.000000 (Hitscan damage)

ComboGibDamageSec=700.000000 (Deals damage in a radius. The further from the center of the body, the less damage)

ComboGibDamageCombo=700.000000 (Deals damage in a radius. The further from the center of the body, the less damage)

ComboDamageType=ShockCombo (Makes fnn compatible with some announcer mutators for combo kill detection. For example, for the ComboWhoreAnnouncerV1a mutator, change the value to ShockCombo)

bNNAnnouncer=True (True - automatically add an announcer for new multi Kill messages for players and spectators, False - automatically add an announcer for classic multi Kill messages for players and spectators)

bAnnouncerForSpecs=True (False - turns off the any announcers for spectators. This is to allow administrators to use third-party mods for multikill messages. True - activates the announcer for spectators. If NNAnnouncer=True there will be new multikill messages. If NNAnnouncer=False - classic multikill messages)

bDMPlayerCount=False (True - displays the number of players in the game in the HUD. Default False)

bTeamPlayerCount=False (True - displays the number of players in each team (blue and red) in the HUD)

bDoubleEnforcers=True (False - the player will not get a second Enforcer when picked up, only ammo)

bBrightPlayer=False (This function makes the player to look brighter, it does not change the parameters of the light (brightness or such), only makes him immune to light, practically becomes visible all the time, including in dark places)

bShowCarcass=True (True - the corpses will be visible after kills. False — the corpses will be hidden).

bShootCarcass=True (True - players can destroy corpses with weapons. False - corpses are only visible, but not part of the game)

bBunnyHopping=True (False - players will be slowed down to ground speed upon landing, which prevents Bunny Hopping.True - landing works like before in newnet)

bSmoothFOVChanges=False (True - smooths out FOV changes so they arent as jarring when spawning and zooming with a sniper rifle)

PlayerPacks[0]= (Config list of supported player packs)

PlayerPacks[1]=

PlayerPacks[2]=

bForceDefaultHitSounds=False (True - clients will be forced to use HitSound installed on the server by default,False - clients can select hitsounds themselves by entering in the console: hitsounds 1/2/3/4/5/6/7/8/9/off)

DefaultHitSound=2

DefaultTeamHitSound=3

bAdvancedTeamSay=False (True – enable Advanced TeamSay:

%H = Your current health. Example - 80 Health

%h = Your current health. Example - 80%

%W, %w = Your current weapon. Example - a Sniper Rifle

%A = Your current Armor. Example - 150 Armor

%a = Your current Armor. Example - 150A

%P = Your current Position/Task. CTF Only)

bAutoPause=False (Enable or disable autopause. bTournament only)

MinClientRate=12000 (Minimum allowed client rate)

MaxClientRate=25000 (Maximum allowed client rate)

bUseOldLogo=False (True - use old logo FNN bottom left in start game)

--------------GAME MODES AND MUTATORS--------------

__________Last Man Standing__________

MapVote.ini

CustomGameConfig[1]=(bEnabled=True,GameClass="fnnXXX.LastManStanding",NewPrefix="LMS",Mutators="",Settings="")

UnrealTournament.ini

[fnnXXX.LastManStanding]

bHighDetailGhosts=False

bDynamicBots=False

NumberDynamicBots=0

StartWeapon=

FragLimit=20

TimeLimit=13

bMultiWeaponStay=True

bForceRespawn=False

bUseTranslocator=False

MaxCommanders=0

bNoMonsters=True

bHumansOnly=False

bCoopWeaponMode=False

bClassicDeathMessages=False

MinFOV=80.000000

MaxFOV=130.000000

MaxNameChanges=0

__________Last Team Standing__________

MapVote.ini

CustomGameConfig[1]=(bEnabled=True,GameClass="fnnXXX.TLastManStanding",NewPrefix="TeamLMS",Mutators="",Settings="MinPlayers=2")

UnrealTournament.ini

[fnnXXX.TLastManStanding]

bHighDetailGhosts=False

StartWeapon=

bNoTeamChanges=False

FriendlyFireScale=1.000000 (do not change this value, change this value in mapvote)

MaxTeams=2

GoalTeamScore=0.000000

MaxTeamSize=16

FragLimit=0

TimeLimit=15

bMultiWeaponStay=True

bForceRespawn=True

bUseTranslocator=False

MaxCommanders=0

bNoMonsters=True

bHumansOnly=False

bCoopWeaponMode=False

bClassicDeathMessages=False

MinFOV=80.000000

MaxFOV=130.000000

MaxNameChanges=0

__________InstaGib__________

Mutator: fnnXXX.NewNetIG

[fnnXXX.NewNetCG]

bTeamColor=False (Team color of weapons and shots)

__________Zooming InstaGib__________

Mutator: fnnXXX.NewNetZIG

__________Sniper Arena__________

Mutator: fnnXXX.NewNetSA

FragNewNet.ini

[fnnXXX.NewNetSA]

bAllowJumpBoots=True

bAllowHealthPickups=True

bAllowArmorItems=True

bAllowInvisibility=False

bAllowAmplifier=False

__________Shock Domination__________

Mutator: fnnXXX.NewNetSDOM

__________Rocket Arena__________

Mutator: fnnXXX.NewNetRA

FragNewNet.ini

[fnnXXX.NewNetRA]

bAllowJumpBoots=True

bAllowHealthPickups=True

bAllowArmorItems=True

bAllowNoSmoke=True (True - removes smoke from rockets)

bAllowInvisibility=False

bAllowAmplifier=False

bAllowRedeemer=False

__________ComboGib__________

Mutator: fnnXXX.NewNetCG

FragNewNet.ini

[fnnXXX.NewNetCG]

EnableNoSpam=False (True - to enable no spam options)

FireRateScale=0.500000 (Adjust primary firing speed)

AntiSpamMethod=1

MaxShockBalls=3 (Max shock ball for shock secondary fire when enabling "AntiSpamMethod=2 or AntiSpamMethod=1")

MinSecBetweenBalls=0.700000 (Adjust this setting when enabling "AntiSpamMethod=3")

bAllowJumpBoots=True

bAllowScubaGear=False

bAllowFlashlight=False

bAllowSuits=False

bAllowHealthPickups=False

bAllowArmorItems=False

bAllowInvisibility=False

bAllowRedeemer=False

bTeamColor=False (True - Team color of weapons and shots)

bIGColor=False (True – InstaGib color of weapons and shots)

Methods:

AntiSpamMethod=1 (Limit shock balls with adjusting "MaxShockBalls=*" value)

AntiSpamMethod=2 (Remove old fired shock ball if more than this "MaxShockBalls=*" value)

AntiSpamMethod=2 (Timed shock ball fire with adjusting "MinSecBetweenBalls=*" value)

__________Grapple Hook__________

Mutator: fnnXXX.NewNetGH

FragNewNet.ini

[fnnXXX.UTPure]

HookDamageMode0=1.000000 (Damage for setting HookKillMode=0)

HookDamageMode1=13.000000 (Damage for setting HookKillMode=1)

[fnnXXX.Grappling]

HookSpeed=2700

HookKillMode=1 (0 - be attracted by the grapple to the enemy and inflict constant damage,

1 - damaging an enemy when firing a grapple, 2 - disable kill mode)

Range=5000.000000

FlySpeed=1.000000

FFlySpeed=1.000000

SpeedFactor=2.000000

bFlagFly=False

bFlagNoAttach=True

bFlagTeamTravel=False

bDropOnfire=True

bNotifyKeyBind=True (True - send message for bind key for grapple)

__________h4x Sniper Arena__________

Mutator: fnnXXX.NewNetH4X

Mutator: fnnXXX.XlocMut (Translocator for large maps)

FragNewNet.ini

[fnnXXX.UTPure]

H4xDamagePri=45.000000 (To get the real damage value, multiply the FNN value by 1.5)

H4xHeadshotDamage=100.000000

H4xSpeed=1.000000

[fnnXXX.NewNetH4X]

bAllowJumpBoots=True

bAllowHealthPickups=True

bAllowArmorItems=True

bAllowInvisibility=False

bAllowAmplifier=False

bAllowRedeemer=False

[fnnXXX.XlocToss]

XlocTossForce=830 (Changing the distance the translocator can be thrown)

__________All weapons__________

Loads the weapon to the player's inventory at the start of the game. Weapon will not drop from the killed player.

Mutator: fnnXXX.GiveWeapons

FragNewNet.ini

[fnnXXX.GiveWeapons]

bDoubleEnforcer=True (True - the player will get DoubleEnforcer)

bGiveAllWeapons=True (True - the player player will get all weapons, False — the player will get default weapon )

bGiveRedeemer=False (True - the player will get Redeemer)

bGiveTranslocator=False (True - the player will get Translocator)

GiveMaxAmmo=199 (The number of ammo for all weapons)

__________All armors__________

Adds armor to the player's inventory at the start of the game.

Mutator: fnnXXX.GiveArmors

FragNewNet.ini

[fnnXXX.GiveArmors]

bGiveShieldBelt=True

bGiveArmor=True

bGivePads=True

bGiveBigKegHealth=True

__________Items on the map__________

Allows to remove items from the map.

Mutator: fnnXXX.NoItemsMap

FragNewNet.ini

[fnnXXX.NoItemsMap]

bNoAllWeapons=True

bNoRedeemer=True

bNoAmmo=True

bNoInvisibility=True

bNoAmplifier=True

bNoShieldbelt=True

bNoArmor=True

bNoThighPads=True

bNoBigKegOHealth=True

bNoMedBoxes=True

bNoVials=True

bNoJumpBoots=True

__________NoDamageBoost__________

Mutator: fnnXXX.NoDamageBoost

FragNewNet.ini

[fnnXXX.NoDamageBoost]

bNoWeaponDamage=True (True - the player will not take damage from his weapons)

bNoArmorDamage=True (True - the player will not take damage armor from his weapons)

bNoFallingDamage=True (True - the player will not take damage from falling)

bNoZoneDamage=True (True - the player will not take damage while in the damage zone, example acid)

bNoTeamBoost=True

__________TeleportToPoint__________

Allows, using commands to teleport the player to the designated place.

Mutator: fnnXXX.TeleportToPoint

FragNewNet.ini

[fnnXXX.TeleportToPoint]

bCmdInform=True (True - the players will be told the command to print all the available commands.)

CmdFormatting=! (Symbol ! to be put at the start of the message to be interpreted as a command)

bCmdFormattingMutate=True (True - cmdFormatting must be put when using "mutate" command.)

MaxCPs=3 (Max amount of CPs that can be spawned. When reached, CPs will start to recycle.)

bTeleportEffect=False (True - the GameType's teleport effect will be spawned at target location when teleporting)

bDisallowCaps=True (True - the player cannot take the flag if he used the commands)

Commands:

!cmd - Displays this thing

!spawn - Teleports you to a PlayerStart

!cp - Creates a checkpoint

!prevcp - Moves your CP to a previous location

!nocp - Deletes your checkpoint

!gocp - Teleports you to your checkpoint

!go <player_name> - Teleports you to the first player found with a similar player_name

__________Double Jump__________

Mutator: fnnXXX.DoubleJump

FragNewNet.ini

[fnnXXX.DoubleJump]

MaxJumps=2 (Changing number of jumps, no more than 10)

JumpHeight=1.200000

bJumpWithFlag=True

bJumpWithDodge=True (True - enable double jumps after dodge, False — disable jumps after dodge)

bJumpWithBoots=True (True - double jump will be at the height of JumpBoots, False - double jump will be at the height JumpHeight)

__________Commands__________

Mutator: fnnXXX.CmdMut

FragNewNet.ini

[fnnXXX.CmdMut]

bUseTeamSwitch=True (team change allowed using commands)

bUseBalanceTeams=True (team balance allowed using commands)

Commands:

- Team commands - !R (!RED), !B (!BLUE), !G (!GREEN), !Y (!YELLOW, !GOLD), !N (!NONE), !T (!TEAM, !TEAMS)

- Game commands - !P (!PLAY), !S (!SPEC), !QUIT (!EXIT), !LEAVE (!BYE), !V (!VOTE)

__________BeaconPlayer__________

Displays the player's name above his head.

Mutator: fnnXXX.BeaconPlayer

FragNewNet.ini

[fnnXXX.BeaconPlayer]

bShowForSpectators=True (True - shows the names to spectators)

bShowForPlayers=True ( True - shows the names to players)

bShowForTeammates=False (True - shows the names of only teammates)

bShowHealth=False (True - displays health next to the name)

bSmallFont=False

bMediumFont=True

bBigFont=False

__________AntiCamp__________

Helps take action against camper.

Mutator: fnnXXX.AntiCamp

FragNewNet.ini

[fnnXXX.AntiCamp]

bCampDamage=True (True - the player will lose health (CampDamage) after downtime)

CampTime=10 (Downtime in seconds in radius (CampRadius) when the player is mistaken for campers)

CampRadius=100 (The radius at which the downtime is counted for campers)

CampDamage=30 (The amount of health that the player will lose after downtime)

bCampFatness=True (True - the player will get fat after downtime)

CampFatness=20 (How much the player will get fat from 128 to 240 (128 — default Fatness, 240 - maximum Fatness))

bDeathMaxFatness=True (True - when the maximum Fatness (240) the player dies)

bCampSpeed=True (True - the player will lose speed after downtime)

CampSpeed=10 (How much the player will speed slow down from 100 to 0)

MinLimitSpeed=0.5 (The player's minimum speed limit that will be set during a speed loss, 1 - normal speed)

bTakeLivesTime=True (True - each players health is draining 1 health point per second)

bKillBonuses=True (True - each kill is rewarded with health points (HealthBonuses) or, in 5% of the cases, with either UDamage, Armor or ThingPads. Not valid for mode ComboGib and InstaGib)

HealthBonuses=25 (How many health points will be added in the form of bonuses for the kill)

MaxHealthBonuses=199 (The health limit that a player can get for bonuses)

__________Idlers to Spectators__________

The player will be automatically switched to spectator mode or, if spectator slot is full, kicked player after the idle time, if he is idle (does not move - does not press movement keys and no view rotation with the mouse, does not shots, does not write to chat)

Idle player with a flag is excluded. The mutator will only work in conjunction with the CmdMut mutator or another third-party mutator that supports the player to spectator switch command (!s).

Mutator: fnnXXX.SpecIdlers

FragNewNet.ini

[fnnXXX.SpecIdlers]

SpecTime=60 (The time in seconds after which the idle player will be switched to spectator mode)

WarningMessage=5 (The time in seconds before the player switches to spectator mode or kicked, he will observe a warning message)

__________UnlimitedAmmo__________

Adds unlimited ammo to the player's inventory.

Mutator: fnnXXX.UnlimitedAmmo

FragNewNet.ini

[fnnXXX.UnlimitedAmmo]

RedeemerUnlimited=False

__________NoSmoke__________

Removes smoke from rockets in weapon Rocket Launcher.

Do not use it in conjunction with the NewNetRA mutator, as it already contains this feature or disable this feature in the NewNetRA mutator bAllowNoSmoke=False.

Mutator: fnnXXX.NoSmoke

__________ScoreSave__________

Saves frags and deaths after player disconnect.

Mutator: fnnXXX.ScoreSave

[fnnXXX.ScoreSave]

SSDelay=4.000000 (Time in seconds after which the score is saved)

__________Disabling FNN for custom game support__________

Mutator: fnnXXX.DisableNewNet

__________Disabling FNN weapons for custom game support (custom weapons, unreal1, etc)__________

Mutator: fnnXXX.DisableWeapons

__________Auto Pause__________

If you run AutoPause as a mutator, then you need set bAutoPause=False in [fnnXXX.UTPure] section.

Mutator: fnnXXX.PureAutoPause

FragNewNet.ini

[fnnXXX.PureAutoPause]

PauseTotalTime=300

Pausetime=60

Timeouts=0

__________RX fix__________

This mutator needs to be added to game modes where RX weapon is used (example Strangelove game mode). Mutator fixes random air stuck player while jumping off the rocket.

Mutator: fnnXXX.RXfix

--------------INSTALLATION SKINS Bonus Pack 1, Bonus Pack 4--------------

This skin packs within itself such skins as: Nali Cow, Nali, Skaarj Trooper, XanMK2, WarBoss.

Some skins may have problems with team colors in team games.

Copy the BP1HXXX.u, BP4HXX.u (XXX - version FNN) to System folder game.

Copy the UTBonusPacks to System folder game.

UnrealTournament.ini:

[Engine.GameEngine]

ServerPackages=BP1HXXX

ServerPackages=BP4HXXX

ServerPackages=multimesh

ServerPackages=EpicCustomModels

ServerPackages=TCowMeshSkins

ServerPackages=TNaliMeshSkins

ServerPackages=TSkMSkins

ServerPackages=SkeletalChars

FragNewNet.ini

[fnnXXX.UTPure]

PlayerPacks[0]=BP1

PlayerPacks[1]=BP4

PlayerPacks[2]=

--------------INSTALLATION SKINS Valhalla Avatar--------------

These skin pack a number of bugs due to incompatibility with newnet:

- flying after the start of the match

- "freezing" after death

- maybe others

This skin pack contains a lot of confusing code. It takes a lot of time and effort to tidy up this code and make it FNN compatible.

I strongly advise against using these skin pack on your server. If you do decide to do this, then what you need to know:

- These skins need to be run without BP1 and BP4.

- This skin pack contains such skins as:

Male 1, Male 2, Male 3, Female 1, Female 2, Nali, Skaarj Trooper, Nali Cow, War Boss, Xan Mark ][, Boss.

They can be selected in the game in the "Player Settings" menu after you enter the server

- This skin pack allows clients to see their own set skin on a server, when the server has no ServerPackage set. Other clients will still

see the default skin, unless a ServerPackage on the server is set which sends it to all clients.

Copy the VAHXXX.u (XXX - version FNN) to System folder game.

UnrealTournament.ini:

[Engine.GameEngine]

ServerPackages=VAHXXX

FragNewNet.ini

[fnnXXX.UTPure]

PlayerPacks[0]=VA

PlayerPacks[1]=

PlayerPacks[2]=

--------------USEFUL INFO--------------

__________Info__________

FNN compiled on patch 469b.

Do not use FNN with XC_Engine mod.

Use FNN with patch 469b on the server.

__________Tick rates & client rate__________

UnrealTournament.ini:

[IpDrv.TcpNetDriver]

NetServerMaxTickRate=65

LanServerMaxTickRate=65

[Engine.DemoRecDriver]

NetServerMaxTickRate=65

LanServerMaxTickRate=65

Tick rates in [IpDrv.TcpNetDriver] and [Engine.DemoRecDriver] should be the same, otherwise there may be a delay in spectator mode when switching players.

FragNewNet.ini

[fnnXXX.UTPure]

MinClientRate=12000

MaxClientRate=25000

The difference between MinClientRate and MaxClientRate must be no more than 15000

__________Demo Record__________

For correct display of demo rec need to use Demo Manager:

- 3.5 for client with path 436 (or 451)

- 3.5.1 (inside the patch) for client with path 469.

UnrealTournament.ini:

[Engine.Engine]

DemoRecordingDevice=udemo.uDemoDriver

;DemoRecordingDevice=Engine.DemoRecDriver

__________Bugs__________

- On demorec Rocket Launcher missiles are not destroyed when they hit the player and fly further.

- On demorec Translocator module flight displayed incorrectly.

- In spectator mode, when watch the player, multi-kills messages can continue after the player dies, respawn and kill within a second.

If you have other errors, this does not mean that the problem is in FNN. Before making a conclusions, test multiplayer without FNN or without mods.

Also you can go to the servers where FNN is configured and working correctly:

1.FRAG - DM TDM LMS CTF - BEST MAP --> 195.98.73.166:7777

2.FRAG - DUEL --> 195.98.73.166:5555

3.DECK16][ ALL WEAPONS --> 195.98.73.166:6666

__________Credits__________

TimTim - Original NewNet code.

Deepu - Ultimate NewNet code.

Deaod - IG+ code.

MyTulpa, `esnesi, medor, Zim, vw!rato.skt, Dark191, ue, forsezor, Smiley, pho`, jenova*, TaglesMalsto, VenoX, BearBeard - Testers.

ProAsm, snowguy, Buggie - help with code.

__________Contact__________

EMail: asosed@gmail.com

Discord: asosed#3303