KZ Climb Community Website

@Zach47 discovered GOTV is possible through hacking the mainframe and digesting the h264 encoder to allow for bspencoding. By doing this, it allows GOTV to work on servers. This is fact.

Enough alternative facts... @Zach47 discovered his GOTV autorecordings from a previous KZ tourney were successfully recorded and non-corrupt demos with the help of @Chuckles . It was previously thought that GOTV and KZTimer were incompatible. GOTV demos allow for the most flexibility with moviemaking as campaths can be done alongside the actual run to create more interesting edits. Furthermore, GOTV demos are not affected by latency like POV demos are.

I’d recommend larger, public servers to not enable GOTV recordings as it does come with the drawback of not working alongside Pro replay bots (@Sikari is working on this, i believe) but the bot recordings are still maintained to allow for demo checking. POV demos are still better in large servers as it maintains the client commands such as “!hide”. However, enabling the GOTV recordings is ideal for small, private and tournament servers.

Here is an example of what can be done with GOTV:

Here's how to use GOTV for your KZ Server.

In your server.cfg, copy and paste these commands:

//GOTV Recordings

tv_enable 1
tv_snapshotrate 128
tv_autorecord 1
tv_maxclients 0
Bot_kick (have to do this on start of the maps, if you want to keep player models to a minimum)

Then, in KZTimerGlobal.txt, replace the default value of kz_player_transparency 80 to:
kz_player_transparency "255"

Then once in-game, you can use:
!rcon tv_status
or in console:
rcon tv_status

If it says "GOTV[0] is offline", then it's not working.

If it says it's recording and starts with "autoXXXXXXXXXXXXXXX-XXXXXX" then the autorecording is working.

If you want to stop a recording, type:

If you want to manually record a demo, type:
tv_record [FileName]

To explain what they do:
tv_enable turns on GOTV.
tv_snapshotrate sets the tickrate of the GOTV demo. 128 = 128 tick demo.
tv_autorecord sets your server to autorecord whenever there is somebody in the server.
tv_maxclients sets the number of people who can watch the GOTV. In a LAN server, this won't matter.
bot_kick kick_bot.
kz_player_transparency sets the visibility of the player and bots. 255 = Fully Visible.
80 = Default Visibility. 0 = Invisible.
tv_status checks if GOTV is working.
tv_stoprecord stops recording.
tv_record [FileName] manually records a GOTV demo.
We got a nutty run here from one of the more questionable player names of @mistersisterfister but regardless its a great run. He topped the next best run by over 3 seconds making this run quite impressive. The combination of routing and a variety of skills helped make that improve possible. ENJOY!

Player: @mistersisterfister
Map: kz_module
Time: 00:59.71
Type: Pro

Video Produced by: Sachburger
Music used: Two Feet - Quick Musical Doodles
New tier system has been implemented on the global DB. Sikari plans to create a way for the plugin to read the new tiers for a “!tier” command or similar. I’ve also included a spreadsheet with the current global maps and what tiers they are for any server owner that plans to separate maps based on tier or some sort of nomination system.


  • Kz_moonlight, tier 3 climb map by Jurkelis
  • Kz_sqrdsucks, tier 2 climb map by krushed
  • Kz_stranded, tier 4 tech map with a focus on ladders and surfs by Nykan and coach
  • Kz_talmaniac, tier 3 hybrid map with all sorts of elements in several stages by aredone and gamechaos
Updated – times not transferrable
Removed – these can be fixed and reapproved
  • Kz_life: issue with .nav / bots that makes it unplayable on servers
  • Kz_pollution: bind skip and movable prop that can block runs

Updated mapcycle.txt
Global KZ Maps

The console command for hosting a workshop map is:
host_workshop_map <file id>
+host_workshop_map <file id> in the launch options of a server

Let me know if there are any issues with the release. Easiest way to get a hold of me is through steam or discord.
*click* (also stole my ST USP torque...)

Map: kz_serenity
Time: 00:58.40
Type: Pro
Video Produced by: @PlastiS

With this map getting new tech/skips recently it was pretty impressive how fast and how many people played it after learning them. Plastis came out on top with a fairly clean run and also the first time the pro run was faster than the TP run from what I recall. This combined with the nice aesthetics of the map it was chosen for ROTW.

Player: @PlastiS
Map: kz_cascade_v3
Time: 04:40.14
Type: Pro
Video Produced by: @PlastiS

I'd also like to shoutout other great runs from the week:

Linus on kz_brickblock_v2
Froggy on kz_de_bhop
b0utamine on kz_basics_b02
f1r on kz_stuff_final

Also don't forget to send recordings to :^)
I'd like to share an exciting announcement that I'll now be hosting map files on a server provided by @balon from TangoWorldWide. Huge props to him for setting it up and teaching me how to update it easily. This can hopefully lead to further automation within maintaining global map pool and reduce the amount of manual input it takes to update globally approved maps.

This can be found here: Global KZ Maps

It is planned to continue working on this to make it more user friendly and appealing.

I will continue to host on Mega as well as it automatically syncs with my Maps folder.

All of these updates simply fix skips that weren't used yet in runs except for kim_hana but this was updated with the consent of @Gwooky the runner that performed the skip in a top run.


Updated mapcycle.txt

The console command for hosting a workshop map is:

host_workshop_map <file id>


+host_workshop_map <file id> in the launch options of a server
I'm NUTS! jk....

In all seriousness I wanted to do Linus Natureblock run because the run was IMO the best run from the past week. But due to lack of good recordings (bot/demo) it wasn't possible. My next choice would have been @nykaN's run on kz_gfy_fortroca but unluckily he did not record either. RECORD BOYS ITS NOT HARD. And some of the other great records from the past week have all received recent good videos of the next best time. So, in favour of supporting variation in what maps receive videos I thought it was best to go with kz_genesis_go2. Even though I didn't think my run was best from the week it was still a good, clean run with a significant improvement over the next best times.

Player: Sachburger
Map: kz_genesis_go2
Time: 02:12.56
Editor: @PlastiS

So this week we got a double header by @linus featuring metalrun and beginnerblock. Decided to do two as they are both pretty insane runs and both so short that it felt right to combine the two. The truly insane part was:
I was referring to the length of the demo he sent me.

Player: @linus
Map: kz_metalrun_global / kz_beginnerblock_go
Time: 00:48.20 / 00:38.88
Video Produced by: @PlastiS
Hello KZers!

I’m happy to bring you exciting news about KZTimerGlobal development - a new developer to the team and regular releases to the plugin!

New KZTimerGlobal Developer:
First off, please welcome Sikari as a new developer for KZTimerGlobal. Most of you already know Sikari from his contributions to the KZ community: making KZ videos, discovering bugs in KZTimer and being an admin on HoC. As a developer, he has already made a huge impact by being the primary coder for the 1.86 KZTimerGlobal release.

New Development Process:
But Sikari’s addition to the team isn’t the only change in KZTimerGlobal development - we have also implemented a new software process - scrum. This software process will enable us to have more regular release versions for the plugin and speed up development time.

With this new process, our goal will be public releases every 3 weeks. The Global Team has identified a collection of bugs and new features that we’d like to accomplish, known as a backlog. Every two weeks, a selection of these items is chosen to be included in the next release. We encourage you to submit to us any new bugs via the github account so that we can add them to our backlog. Our first release under this system is version 1.86.

New KZTimerGlobal Version: 1.86
  • Changed crouch exhaustion to mimic pre-patch crouch exhaustion (thanks Sup3rlum and DanZay)
  • Fixed pre-strafe breaking on certain angles
  • Added jump impulse to settings enforcer
  • Added many new translations, including menus and command outputs
  • Added Sikari's Dev tag and Zach47's Global Admin tag
  • Fixed bugs with pausing mid-air
  • Added delay between pausing to prevent pause spamming
  • Fixed a bug where you could end the timer with a negative timer
  • Fixed a bug with spectator mode
  • Added more information into bots
  • Fixed a bug where kz_woodstonegrass_final would fail to be global

Installation instructions
This release does not currently appear on the github, but it will be there shortly. In the meantime, we have created two .zip files for installation: an upgrade from 1.85_1 and a new installation.

Upgrade: 1.85_1 to
Full Install: Install

Source code is available at or

Note: Servers using 1.85_1 will remain Global until 2/27/2017, at which point only 1.86 servers will be Global.
Global times for xc_karo4_global will be wiped on 2/27 as well, due to most records pausing in mid-air.

Next Version: 1.87
We have already begun work on the next version release - 1.87. In this release we expect to complete the following items:
  • Test sending times to the Twohlix API
  • Invalidate global record if player leaves and comes back, but bot doesn't save
  • Fix bug that can occur with spectators (exploit: details private)
  • Disable Macrodox while paused
  • Fix a known Macrodox bug (details private)
  • Investigate: global records don't save server info properly to the global database
  • Create system to send chat notifications to all users
  • Add fixed cleaner to release

We look forward to continuing to improve the development process and to be more engaging with the community as we move forward. We thank you for your patience as we get more familiar with this new process and ramp up towards a more agile development process for KZTimerGlobal. As always, any feedback you have is appreciated, and we’re always looking for more developers to help out :)

Thank you,
Chuckles and the KZGlobalTeam
These maps are being removed due to a variety of reasons that the map testing team and I formed a consensus on in order to bring the current map pool more in line with current mapping standards. These maps are extreme cases of low quality design, optimisation and poor gameplay that often resulted in lower playtime in a map, and in some cases the map became unplayable for players. I will quickly outline what each map’s extreme issue was:
  • Kz_alouette – invisible walls, TP zones misaligned, poor design
  • Kz_caverns_deep_go – wall SC, poor design
  • Kz_farm – bind skip, optimisation, bad design
  • Kz_jumpspace_easy – bad texturing, bad design
  • Kz_motivated – bad texturing, bad gameplay
  • Kz_nuckfoobs_n01 – bad optimisation, poor design
  • Kz_portal_1 – bad optimisation
  • Kz_rise – bad optimisation, poor gameplay
  • Kz_teh – unfinished map
  • Kz_village_lp – poor design and TP placement
  • Kz_zeta_z3 – poor design, optimisation, gameplay
Any mapper involved with these maps can feel free to adjust their map and re-release the map if desired. The map will be re-tested in these cases.

Updated mapcycle.txt

The console command for hosting a workshop map is:

host_workshop_map <file id>


+host_workshop_map <file id> in the launch options of a server

I've also started maintaining the global approved maps on mega, so if you are missing a map maybe check that out if you can't find on workshop.