NeoTF 1.9.0 was the last release, in December 2004, and no source code for it survives. 1.9.1 is a reconstruction: the mod has been rebuilt function by function from the original server binary, and that source is now being maintained again.
Server admins, players, bug reports and 1.9.1 beta testing.
[ Join Discord Community ]Why a reconstruction and not a patch? NeoTF shipped as a compiled server library. When development stopped, the source went with it. Fixing anything — even a one-character bug — meant first recovering what the code actually was. That work is done by disassembling the 2004 binary and rewriting each function until it matches, which is why the changelog below can point at specific addresses inside the original.
The rule is faithfulness first. The reconstruction reproduces 1.9.0 exactly, bugs included. A change only happens when the original crashes the server, when it is literally impossible to reproduce safely, or when it is deliberately chosen — and every one of those is recorded rather than quietly folded in. If NeoTF behaved a certain way in 2004, it behaves that way now unless the changelog says otherwise.
Some of these bugs are older than the fork. Several fixes below are for faults that shipped in 1.9.0 and have been in every NeoTF server since — a per-map config feature that never once ran, a telefrag that stopped working, and a buffer overflow that any player with a long name could trip. They were invisible for twenty-two years because nobody had the source to look at.
| File | Version | Type | Size | Download |
|---|---|---|---|---|
| NeoTF Windows Server | 1.9.0 | Server Files | ~4.6 MB | [DOWNLOAD] |
| NeoTF Windows Client Pack | 1.9.0 | Client Files | ~3.99 MB | [DOWNLOAD] |
| File | Version | Type | Size | Download |
|---|---|---|---|---|
| NeoTF Windows Server | 1.9.1 | Server Files | — | [IN BETA] |
| NeoTF Linux Server | 1.9.1 | Server Files | — | [IN PROGRESS] |
There is no 1.9.1 client pack, and you do not need one. NeoTF is a server-side mod — the fork changes nothing a client downloads. The 1.9.0 Client Pack above is what you want whichever version the server is running, including the live beta.
Windows server: 1.9.1 is being tested on a live public server and is not posted here for general download yet. If you run a NeoTF server and want to help test, say so on Discord.
Linux server: a Linux build of 1.9.1 is being worked on. The original 1.9.0 server was a Linux binary, so the reconstruction has a Linux target to check itself against — but it is not ready for release yet. Watch the changelog or ask on Discord.
Documentation:
Admin Command Reference Server Installation GuideEverything on this page is already done and in the current beta. This is a list of changes, not a list of open problems.
CRASH FIX fixed something that took the server down FIX restores 1.9.0 behaviour NEW not in the original CHANGE deliberate difference
| CRASH FIX | Soldier menu could kill the server. Opening it sent a message one byte over the engine's hard limit, which shuts the server down instantly. The soldier menu no longer carries a "0. Close Menu" line — that is the fix, not a missing feature. |
| CRASH FIX | Radar left a network message open. The next message sent anywhere in the game then ended the server, often long after the radar was used, which made it look random. |
| CRASH FIX | Llama cage crashed with three prisoners. If the first caged player left the server, the next half-second tick killed it. Present in 1.9.0. |
| CRASH FIX | Long player names could overflow a buffer. When a captured multigun was destroyed, the owner's name, Steam ID and team were written into a buffer too small to hold them. Present in 1.9.0. |
| FIX | Warp-jumping onto a teledisk next to an enemy kills again. The check that looks for a victim was set to ignore players entirely, so it could never find one. |
| FIX | Ten more checks had the same fault — build placement, several deploy checks and the sentry-gun lookup were all looking at world geometry only and never seeing players or buildings. |
| FIX | Per-map config files now actually run.
ntf_feature_loadconfig was built with a bad path and has
never executed a single config on any server since 2004 — while
still creating the files, which is why it looked like it worked.
Anything sitting in maps/neotf/*_ncf.cfg becomes
live. |
| FIX | Radar beams drew as garbage. They were sent with the wrong effect type, so the client read entity numbers as map coordinates. |
| FIX | Air strike was missing a beam and drew the other one far thinner and dimmer than intended. |
| FIX | Sensor mines exploded invisibly on one of their two death paths — damage and sound, but nothing to see. |
| FIX | Per-player settings are applied when you join. The original checked for something that is never true that early, so they were only ever applied on the way out. |
| FIX | Welcome message showed a raw console command across the middle of the screen instead of its text. |
| FIX | Class menu needed two keypresses to reopen after every selection. |
| FIX | Admin list printed its own formatting instead of the admin table. |
| FIX | The apachenuke's warning callout plays again. Modern
Half-Life clients throw away any command a server sends them that contains
certain words, and one of those words is kill — which the
2004 voice line uses to build the "ki" of "kiss your ass
goodbye". The whole callout was being discarded, silently, on every
client. Rebuilt from a different sample that sounds the same. |
| FIX | Two settings that kill players had stopped working entirely.
ntf_cage_cmdkill and the displacer's end-of-round kill both
worked by sending the player a kill command, which current
clients refuse for the same reason as above. Both now do it directly. |
| NEW | Scout nails ricochet off walls. A nail that hits at a
glancing angle bounces instead of sticking — up to three times,
turning into a red glowing nail on the first bounce and resetting to full
speed each time. Arrive within 15° of head-on and it still sticks, so
this rewards angles rather than spraying.
It was written in 2004 and never switched on. The code is
complete in the original release and nothing in the game ever called it;
this fork supplied the missing connection. Controlled by
ntf_feature_reflectnail, on by default. |
| NEW | Crash reports. The server now writes
ntf19_crash.log naming what it was doing when it died,
including engine shutdowns that leave no other trace. |
| NEW | The pyro's gascan works. 1.9.0 shipped it as an empty function — the feature was cut before release and has been rebuilt. |
| CHANGE | Server identifies as "NeoTF: Reborn" in the server browser and on the welcome message. |
| CHANGE | Version reports as 1.9.1 via the
ntf_version console variable. |
| CHANGE | The Metamod plugin line names the fork.
meta list now reads
NeoTF, v1.9.1 Fork, followed by the actual build
date and NeoTF-DEV-Team + redplanet. The date is
the real build stamp, so it matches the one in a crash report exactly. |
| The last release from the original development team. Available above, unmodified, and the reference every 1.9.1 change is measured against. |
NeoTF (Neo Team Fortress) is a highly customizable server-side mod for Team Fortress Classic, a classic multiplayer game built on the original Half-Life engine. While it isn't a scripting platform in the modern sense, NeoTF gives server admins the tools to shape gameplay using configuration files.
It adds awesome features like jetpacks, new weapons, teleporters, custom HUD elements, and unique player abilities — completely changing the balance of a match and making gameplay unforgettable.
Loved by many in the TFC community, NeoTF helped define the golden era of custom TFC servers. Original development stopped long ago, but its legacy lives on in the few servers still running it today — and in the memories of players who experienced it firsthand. It is also, after twenty-two years, under active development again.
Every class gets its own menu of extra abilities, bound to a single key. The list below is read straight out of the mod — these are the actual menu entries NeoTF 1.9.1 builds for each class, not a summary.
| Class | What NeoTF adds |
|---|---|
| Scout | Radar • Ring of Shadows (temporary invisibility) • teleport disks with a warp-jump to them • mortar strikes • ricocheting nails (1.9.1) |
| Sniper | Laser-guided rocket • anti-missile launcher • beam ladder • flash grenades |
| Soldier | SAM launcher • missiles • a remote-controlled aircraft that drops bombs • tripmines |
| Demoman | Land mines • sensor mines • saber disc • mortar strikes |
| Medic | Anti-grenade pod • snarks • mortar strikes |
| HWGuy | Deployable mortar • air pod • tossable power-ups |
| Pyro | Jetpack boost • freeze thrower • gas cans • mortar strikes |
| Spy | Air strikes • hoverboard |
| Engineer | MultiGun, upgradeable and remotely detonated • bounce pads |
neotf_* commands
covering players, teams, buildings, messaging and map control, behind a
per-command authorisation system. See the
command reference.
Counts are taken from the source and are exact rather than rounded: 126 is
the console-variable count of the original 1.9.0 release (1.9.1 adds
three), 110 is the number of distinct neotf_* commands in the
admin dispatcher, and 18 is the entity types ntfsv_create
will build. Individual abilities depend on the server — an operator
can switch off any of them.
A big thank you to the original development team:
Their dedication and passion created something truly special that continues to bring joy to players worldwide.
This site and the 1.9.1 work are looked after by redplanet. If you are running a NeoTF server, or still have files, configs or maps from the original era, please get in touch — anything that has not been archived yet is worth preserving.