• Please make sure you are familiar with the forum rules. You can find them here: https://forums.tripwireinteractive.com/index.php?threads/forum-rules.2334636/

Beta Release [GameType] Hard mode survival

Marco

Grizzled Veteran
May 23, 2009
644
230
Finland
This custom gametype basically adds support for custom zeds on waves/custom bosses/custom music for server.

Download from here.

Download source code from here.

Mods required to run this mod:
- ServerExt (I will maybe add another version later that does not require ServerExt).
- Slot Machine mod (for anti-camping, you can use the "NoAntiCamp" version from the rar file which does not require slot machines mutator).

Features:
  • Custom zed support.
  • Custom bosses support.
  • Additional difficulty scaling for huge player servers.
  • Custom server musics support.
  • Anti-Glitch spot camping.
  • Removes dropped weapon pickups and excessive amount of C4 explosives on ground on start of wave.
  • Dead players may turn into zeds.
  • Webadmin interface for setting up custom zed classes and musics.
  • Extra fast zed spawnrate if zed alive count is low.

To start the mod, run the server with batch line: ?Game=HardModeBoss.HardSurv (instead of Game=KFGameContent.KFGameInfo_Survival)

WARNING: Instructions below may be highly confusing, not for faint heart!

You can edit following settings in KFHardModeBoss.ini:
OddsOfWaveMusic=0.0 = Chance of a custom wave song (0 = never, 1 = always, 0.5 = 50 % of time)
DifficultyModifier=4000.000000 = A calculation value to compute wave difficulty based on player count/player levels/wave number (see usage below).
AddedWaveMobs=800.000000 = Add wave size by this amount of zeds scaled by computed wave difficulty value (see DifficultyModifier).
ExtraPlayerHP=0.12 = Percent of extra health zeds receive from additional players in server (0.12 = 12 %).
BossPerPlayerHP=0.15 = Percent of extra health bosses receive from additional players on server.
PerPlayerZedHP=50 = When dead players turn into zeds, they will receive this much additional health for every player in server.
OutOfBoundsKillSec=20 = When server detects a player is out of level bounds, give them this much time to get back into level before they are being killed (ONLY if you use version with anti-camping enabled).
WaveZeds=kfgamecontent.KFPawn_ZedClot_Alpha:0.0:10:3 = Custom wave zeds, values are composed of: <class name>:<minimum difficulty value from DifficultyModifier>:<odds of appearing>:<number of these to spawn>
Example:
WaveZeds=KFGameContent.KFPawn_ZedClot_Alpha:0.0:50:3 = 3 Clots will spawn 100 % of time when difficulty is below 0.7, then very likely later.
WaveZeds=KFGameContent.KFPawn_ZedFleshPound:0.7:6:1 = 1 FP will spawn after difficulty is at least 0.7, but rarely.
WaveZeds=KFGameContent.KFPawn_ZedHans:2.0:3:1 = Since difficulty value is 2, it will only spawn it on FINAL WAVE before boss (it is hardcoded to do that for the final wave).​
bRemovePickups=False = Whatever if should remove all weapon/ammo pickups from level.
WaveMusics=(MC="<SoundCue>",MT="Track Name",MA="Artist name",WMax=1.0,WMin=0.0,Loop=True) = Custom wave track, WMin/WMax is ranged game progress rate for this song to be played. Loop is whatever if the soundcue is looping or not.
WaveDMusics=(MC="<SoundCue>",MT="Track Name",MA="Artist name",WMax=1.0,WMin=0.0,Loop=True) = Custom trader time music.
BossList=(MaxPL=99,Boss="KFGameContent.KFPawn_ZedPatriarch") = Bosses to use. MaxPL value is the maximum playercount uptil when not use this boss setup, Boss can be set to have multiple bosses by separating them with | char (note that it may be any zed class, not just bosses). Example:
BossList=(MaxPL=7,Boss="KFGameContent.KFPawn_ZedPatriarch") = 0-6 players spawn 1 Pat.
BossList=(MaxPL=14,Boss="KFGameContent.KFPawn_ZedHans") = 7-13 players spawn 1 Hans.
BossList=(MaxPL=18,Boss="KFGameContent.KFPawn_ZedPatriarch|KFGameContent.KFPawn_ZedHans") = 14-17 players spawn 1 Hans and 1 Pat.
BossList=(MaxPL=99,Boss="KFGameContent.KFPawn_ZedPatriarch:2|KFGameContent.KFPawn_ZedHans:2") = 18+ players spawn 2 Hans and 2 Pat.​
MinXPDistribution=0.75 = The minimum XP amount you get for dealing any damage to zed that is killed.

Admin commands:
Admin EndCurrentWave (instantly end the wave)
Admin SetWave <num> (instantly start a wave number)
Admin CMD Help (list of cmd commands)
Admin CMD Settings (list current server settings)
Admin CMD CVar <Setting name> <setting value> (change a setting value)
Admin CMD AIRate (display current custom zed spawn ratings)
Admin CMD AddWave <num> (add or remove zed count from current wave)
Notice, in WebAdmin you can use those commands in Management Console (just don't add "Admin" infront of the commands).

Here's one sample song package with UT2004 KFMod sound track:
Download from here.
Required music ini lines included with the rar file (can't paste it here on forums because it adds extra spaces at line breaks)!
 
Last edited:

Marco, thank you very much. This is amazing, I had just started to work on trying to figure out how to incorporate my own music... A++.

Please keep on doing what you're doing, cause people like you are what make this community great.

Edit:

Figured it out :D

The only thing missing from this is the ability to alter how many waves there is.
 
Last edited:
Upvote 0
Hey guys, I'm hoping someone can explain why this is happening...

I'm importing .wav files as the SoundCue nodes... and it's all working fine, however, when I save the project, it ends up being like 1.5-2gb in size, whilst there's only like 20 music clips, and they're 2mb each. How are you suppose to compress the package? There's no way this is right... (Also everything works fine in-game.)
 
Upvote 0
Hey guys, I'm hoping someone can explain why this is happening...

I'm importing .wav files as the SoundCue nodes... and it's all working fine, however, when I save the project, it ends up being like 1.5-2gb in size, whilst there's only like 20 music clips, and they're 2mb each. How are you suppose to compress the package? There's no way this is right... (Also everything works fine in-game.)

That's why you have to brew the package first.

- Save the file in KF2/Unpublished/BrewedPC folder in your documents.
- In SDK editor press on top row, far right button (a red dot or w/e it's meant to be), when it asks if you want to save map, press No, then wait for it to finish brewing and close the windows.
- Now the compressed package is in KF2/Published/BrewedPC folder.
 
Upvote 0
Problem

Problem

Hi Marco sorry for my bad English, I have a problem your modification works fine but after a change of maps, it stops working.I also in the web admin can not change the card. Prescribed modification Istart .\Binaries\win64\kfserver kf-bioticslab?adminpassword=311975?Game=HardModeBoss.HardSurv?
 
Last edited:
Upvote 0
That's why you have to brew the package first.

- Save the file in KF2/Unpublished/BrewedPC folder in your documents.
- In SDK editor press on top row, far right button (a red dot or w/e it's meant to be), when it asks if you want to save map, press No, then wait for it to finish brewing and close the windows.
- Now the compressed package is in KF2/Published/BrewedPC folder.

Thanks Marco.

Hi Marco sorry for my bad English, I have a problem your modification works fine but after a change of maps, it stops working.I also in the web admin can not change the card. Prescribed modification Istart .\Binaries\win64\kfserver kf-bioticslab?adminpassword=311975?Game=HardModeBoss.HardSurv?

Make sure you go into your web admin, change the X-MapVote settings to be configured the same as well. ?Game=HardModeBoss.HardSurv?
 
Last edited:
Upvote 0
Im gonna stick with my current setup though as it enables me to randomly spawn my custom bosses, and if one gets killed the match doesn't end. This mod will end the game as soon as one boss is killed. The added benefit of being able to use the exact custom wave setup I created in sdk which works well with ProjectOneV3.
[/IMG]

You know, it's funny you say that... because before I installed this mod, I wasn't able to get the round to continue long enough for the players to kill the second (or more) bosses, because the round would end prematurely. This mod fixes that issue.

Perhaps another mod in your list is conflicting with that?

What I would love to see this mod do, or another one, would be to be able to fine tune the wave settings; such as adding more waves (or) infinite waves (that scale as you go further), events that happen upon reaching certain waves, or the ability to (with extended waves), force a boss wave every say 7 waves or so.

I'd love to invest time towards that, but I am still giving my hand some time coding more simple things than to expand into a project like that.
 
Last edited:
Upvote 0
WARNING: Instructions below may be highly confusing, not for faint heart!

Marco I was wondering if you could explain some of the features of this Mod more clearly possibly in a way like you did with AccessPlus, that pdf was excellent!

I was curious how to enable this aspect as I see referrenced in your code:

Bonus Wave-Endless Mode

Code:
		BonusWaveExtraMobs.Length = 1;
		BonusWaveExtraMobs[z].Zed = class'KFPawn_ZedHans';

Code:
`if(`isdefined(USING_ENDLESS_MODE))
		// Remove bonus extra zed delay counters.
		for( i=0; i<BonusWaveExtraMobs.Length; ++i )
			BonusWaveExtraMobs[i].LateTime = 0;
`endif
 
Upvote 0
Okay so, I'm having alittle issue with zeds spawning after i installed this mod. So now hordes of zeds are spawning right in my face and I die instantly on the first wave on some maps. I know this has to do with anti camping. I was told that I had to modify the src code but I dont know what to modify to fix this issue. Anyone have any suggestions on how to make the zeds spawn out of sight? thanks.

Also: on the boss wave the bosses are waaay too easy to kill. They die pretty damn quick and I'm not sure how to fix that either. I tried turining up per player hp but that's doesn't make a whole lot of difference.
 
Last edited:
Upvote 0
I tried turining up per player hp but that's doesn't make a whole lot of difference.

You changed it from to what value? Did you try changing from like 0.12000 to like 1000.00000? See what happens.
wink.gif


Gotta figure an average Boss health should be in the range of 20k to 50k depending on your preference for a RPG server with players running around with full weapon loadouts and buffed damage. What is the vanilla health of Boss either Hans or Patty? (Patty/Health=3750;Hans/Health=3500) So it makes sense to boost the Boss's health considerably. Whether you make up for it by adding volume like 15 bosses or extend a new class and modify Boss health.
 
Last edited:
Upvote 0
You changed it from to what value? Did you try changing from like 0.12000 to like 1000.00000? See what happens. ;)

Gotta figure an average Boss health should be in the range of 20k to 50k depending on your preference for a RPG server with players running around with full weapon loadouts and buffed damage. What is the vanilla health of Boss either Hans or Patty? (Patty/Health=3750;Hans/Health=3500) So it makes sense to boost the Boss's health considerably. Whether you make up for it by adding volume like 15 bosses or extend a new class and modify health.

Ah I see what your saying, And YES I had it up to 8k health with 2 bosses. I guess that was my problem all along. More boss and more health. Thanks Oldschool.
 
Upvote 0