Repository navigation
Releases: jebot-git/FPSloppa
Release list
FPSloppa CQ 0.17 — corrected VR client builds
FPSloppa CQ 0.17 — corrected VR client builds
Fixes rendered client startup in the 0.17 game-only release. Both Linux and Windows packages are corrected. Extract the full archive and run Play-VR or Play-Desktop; clients connect automatically to 87.106.27.237:7777. No launcher/updater is included.
- Preserve Godot's complete script-class metadata when packaging, including implicit
RefCountedclasses used by XR hands and VR menus. The old packager silently omitted these classes, causing VR script compilation failures. - Initialize terrain texture arrays outside assertions. Release templates omit assertion expressions, leaving the arrays uninitialized and producing repeated texture-format errors. Voxel header reads now also execute normally in release builds.
- Add a shipped resource check that compiles the VR-only dependency graph and verifies terrain texture array allocation/uploads, even in headless checks.
Linux and Windows-under-Wine resource and multiplayer checks are included with the validation evidence. Linux startup is additionally exercised with the real Forward+ Vulkan renderer and WiVRn-Pro OpenXR runtime. Native Windows GPU/OpenXR hardware remains untested.
Compatible with the deployed CQ server at 87.106.27.237:7777, with destruction, 64 slots and adaptive 60/30 Hz simulation. Sustained 64-player load remains experimental. This hotfix does not change gameplay protocol or native binaries.
Artifacts include per-file hashes and licenses; verify downloads with SHA256SUMS and BUILD-MANIFEST.json.
FPSloppa 0.22v - Launcher, soundtrack and final expansion
FPSloppa 0.22v - Launcher, soundtrack and final expansion
- Desktop launcher with a prominent Play in VR button, desktop play, direct match joining and spectating. Select an avatar, player name and clan tag before launch, with Q3-style name colours.
- Shared favourites show live players, maps and server status. Preload the current BSP and announced VRMs, import local assets or submit supported files to a server, with progress and cancellation.
- GitHub stable-release updater replaces play/join controls when a newer client is known. Downloads and installed files are checked by SHA-256; a separate helper applies updates with recovery and rollback. Custom assets, maplists, playlists and settings are preserved.
- Launcher BGM playlist editor and approved CC0 defaults for every mode, the main menu and the lobby. Bundled music loops and blends with ambience; custom playlist conventions remain supported.
- Corrected MP5/HK VR reload sequence: pull fully back and lock the latch, replace the magazine, release grip, then slap the latch down or sideways. Ordinary charging remains supported.
- ST bots can buy, board and fly Scout/Shrike vehicles using normal team energy and controls, including covered-bay exits and firing at visible enemies. Transport/passenger coordination remains outside this bot implementation.
- Six additional Tribes 2 vehicle adaptations, ST weather and ambience, DE material penetration and bot combat/movement improvements.
- Rewritten illustrated player manual: 17 chapters, 43 pages, searchable offline HTML and a linked PDF. Included with both PC clients and as a separate manual download.
The Final Expansion contains 78 maps: 22 Classic ST adaptations, 14 DE maps,
31 classic arenas, seven ChaosUT KOTH maps and four Unreal Assault conversions.
The ST and DE additions are also bundled base assets. Expansion maplists retain
the original supported maps and exclude retired DE layouts and ten RCMD source
adaptations. Multiple authored KOTH hills rotate; single hills remain fixed.
Pumpfac, Skyville, Twintower and Atlantica use native switches/destructible targets
with ordered objectives and attack/defend legs. Runtime support extends to eight
ordered Assault objectives and 128 maps per rotation. Converted maps adapt the
original layouts; unsupported scripting and some visual details are not reproduced.
The expansion selection is closed; subsequent changes are necessary fixes only.
Downloads: Linux and Windows PC clients, experimental Quest ARM64 APK, Linux
dedicated server, Linux bot worker, master service, self-contained source,
Final Expansion and the offline manual. Start PC clients with Launch-FPSloppa.
Older 0.21v packages require a one-time full-client installation to obtain the
updater. The expansion alone does not update an executable or PCK.
Use matching 0.22v clients and servers. Windows and Quest are cross-built and
package-verified; no new native Windows, physical-headset or haptic-vest playtest
is claimed. Converted-map route checks and short bot matches do not certify
competitive balance or full-capacity performance. See the release validation receipt and
cleanup report for completed checks and limitations.
Original asset notices remain included. Converted maps and ST artwork retain
their documented licences; the CC0 music selection does not relicense other assets.
FPSloppa 0.21v — Weapon presentation, VR menus and bot workers
FPSloppa 0.21v — Weapon presentation, VR menus and bot workers
- Refined weapon geometry, textures, moving mechanisms and emissions across loadouts, with targeted polygon reductions and preserved CS sight alignment.
- Reworked weapon reports and mechanical sounds, normalized levels, map ambience, and a looping high-pressure music cue. Custom BGM overrides ambience;
win_tracks replace the pressure cue. - Reorganized menus for VR, with subcategories and consistent joystick/drag scrolling. Tribes viewpoint zoom includes desktop and VR overlays.
- Jolt is the default 3D physics engine. Avatar import/runtime caching and surface compilation reduce repeated work; VRM remains the accepted upload format.
- Updated CS haptic profiles and Bluetooth disconnect handling, plus OpenXR and Steam Audio shutdown fixes.
- Katabatic turret foundations and bot routing refinements.
- Prevented native AI from using a disconnected target between perception updates.
- Optional authenticated bot worker moves AI to a separate Linux process or host. The authoritative server retains physics, combat and objectives; local AI resumes when the worker disconnects. Human players retain slot priority.
Downloads: Linux and Windows PC clients, experimental Quest APK, Linux dedicated server, Linux bot worker, master service, and source. Dedicated server and bot worker share one console-only runtime and ship both launchers; neither needs desktop or VR drivers. See SERVER.md for keys, configuration and remote tunnel setup. The bot service is disabled by default.
In a local 16-bot Katabatic comparison, moving AI to the worker reduced median server gameplay-callback time from 5.46 to 3.35 ms and p95 from 24.14 to 4.08 ms. Including measured worker transport callbacks, mean time fell from 8.03 to 4.13 ms. These are server callback measurements, not complete frame times; the worker uses a lower AI rate, the matches were not deterministic replays, and WAN performance remains untested.
Use matching 0.21v clients and servers (protocol fpsloppa-71-native-special-trace); 0.20v clients are incompatible.
Existing Katabatic pathing limitations remain; offloading AI does not itself fix navigation. Windows and Quest are cross-built and package-verified; no new physical-headset or vest test is claimed for this release. See docs/validation/release-0.21v.json for checks and remaining limitations.
Asset-specific license notices are included. ST armour retains its separately documented non-commercial terms.
FPSloppa 0.20v — Tribes, native optimization and custom music
FPSloppa 0.20v — Tribes, native optimization and custom music
ST is now included with Stonehenge, Raindance and Katabatic. It combines Tribes CTF rules with skiing, jetpack energy, Light/Medium/Heavy armour, the personal arsenal, backpacks, stations, deployables, base defences, Scout and transport vehicles. Desktop and VR controls include targeting, beacons, remote cameras and a wrist-mounted PDA. Raindance has rain, Katabatic has snow, and all three maps use distance fog.
- Native C++ acceleration covers movement, bot queries, network packing, hit history and avatar tracking channels, with script fallbacks. Vehicle collisions damage and push players; replacement-armour hands stay attached to their sleeves.
- Vehicle and passenger demo playback now shares recorded timestamps and interpolation, including pause, seeking and variable playback rates.
- Place OGG files in the empty
bgm/folder beside the PC game. Tracks play in filename order. Mode prefixes (dm_,st_,tf_), map names, named folders and local M3U/M3U8 playlists select the appropriate music. Map selections override mode selections, then global tracks. Title and lobby always use internal Dead Air and Please Hold. Other built-in BGM has been removed; gameplay is silent when no custom music matches. SeeAUDIO.md. - The source package includes the CS 1.6 BSP30-to-BSP29 DE converter. Converted maps can carry embedded bomb sites, spawns and per-texture palettes; missing WADs can use the optional replacement-material routine. Original CS maps and WADs are not bundled.
Linux, Windows and Quest clients remain Vulkan-only; the Linux dedicated server has no graphics/audio drivers. All packages contain the required base assets: 35 maps and 11 CC0 avatars. ST armour includes attributed KEIV suit derivatives with their separate non-commercial terms; see the included asset notices.
Use matching 0.20v clients and servers. The protocol is fpsloppa-68-st-native-main, incompatible with 0.19v. Existing server configurations keep their current mode; choose st and an ST map, or add st to the allowed vote modes, to enable Tribes matches.
ST remains experimental: bot capture reliability and heavy 16-bot server workloads need further work. Quest is experimental, and Windows/Quest packages are cross-built; package checks do not replace device testing. This release does not include a fresh physical-headset validation.
FPSloppa 0.19v
FPSloppa 0.19v
This release focuses on the arena and CS/DE experience. ST, Stonehenge and the Tribes loadout are deferred: they are unavailable in hosting, votes, server configuration and map selection, and their artwork, music and map payloads are excluded. Experimental source work is retained for later development.
- Improved CS weapon handling, including dominant-hand VR menus, corrected triggers, virtual stock refinements and the AWP scope mount. CS weapons now use their aligned sights without the guiding laser.
- DE team assignments, round victories and bomb planting have audible announcements. Updated map cover, doors and decorations include Dust2's double doors and fixes for floating Aztec/Inferno props. CS bullets can penetrate eligible cover through the existing collision system; actual collision validates each exit and inconsistent brush metadata blocks the shot.
- Server operators can exclude selected modes from the post-game/lobby ballot using
sv_ballot_exclude_modes, while keeping those enabled modes available to ordinary votes. - Eleven CC0 avatars are included. Texture mipmaps and compressed map caches remain part of the bundled assets.
- Linux, Windows and Quest clients use Vulkan-only Godot runtimes with the OpenGL backend removed. The Linux dedicated server remains graphics-free.
All packages include the required base assets; no separate base-asset download is needed. Quest remains experimental. Install matching 0.19v clients and server: the network protocol is fpsloppa-63-arena-release and is incompatible with older builds. Windows and Quest packages are cross-built; device validation is separate from the automated release checks.
ST configurations are not accepted by this release. Keep an experimental checkout if you need the current ST development build.
FPSloppa 0.18v — VR weapon handling and DE interaction fixes
FPSloppa 0.18v — VR weapon handling and DE interaction fixes
CS weapons now support more natural physical reloads and keep the rendered hands
attached through recoil. Retained magazines can be put back into the gun with
their exact remaining ammunition, shown by a small count while held. The count
excludes a chambered round; a tactical reload preserves that round.
- Refined CS weapon profiles, textures, magazine proportions, iron sights and
moving parts. The M3 uses its pump without an unused charging handle. - Added AK magazine bump release, a more forgiving MP5 slap/rack, a connected
M249 feed belt, staged AWP bolt motion and forgiving pistol slide-release flicks.
Offhand trigger and grip both operate reload parts. M3 automatic transfer to
the offhand pump is optional in VR settings. - Fixed stray held shotgun shells, persistent offhand support, magazine hand/drop
orientation and dropped-magazine scale. Reloads and tweezer snips have sounds. - Refined CS-only single-hand recoil penalties; pistols are exempt. Verified
headshot damage and grounded crouch/prone accuracy modifiers. - Improved first-person head/chest masking, tracked hip attachments and procedural
hand placement. Bomb and tweezers sit lower on the chest to reduce accidental grabs. - Gun-hand grip draws chest equipment and temporarily stashes the gun; release
stows it. Bomb dropping requires Use. Keypad entry follows free-hand fingertip
contact, and tweezers visibly snip on a fresh trigger press. - Grenade selection keeps the gun equipped and reports the selected shoulder
grenade with an icon/status notice. TF throwables use the shared aiming guidance.
The buy menu now uses a grenade icon for its grenade category. - Added bounded gunshot decals and refined gaze-driven stereo foveation on
supported GPU/runtime combinations. Test-only fovea-mask previews are excluded.
The dedicated Tribes loadout and BSP29 skiing proposal is documented in the source
assessment. No Tribes movement or loadout is included in this release.
Downloads include Linux and Windows clients, the Linux dedicated server, Quest
APK, self-contained source, and the standalone master server. The clients retain
32 bundled maps and three base avatars. The original soundtrack is unchanged,
with the existing orchestral DE cue.
Use matching 0.18v clients and servers: protocol
fpsloppa-53-retained-magazine. Quest Android version code is 23. Configuration
and bindings remain compatible, including customised controller bindings.
Validation covers authoritative reload/ammunition handling, rendered VR input
fixtures, DE chest interactions, local client/server replication, exported
resources, compressed assets, package contents and Quest signing/alignment.
See docs/validation/release-0.18v.json for the release results. Local Linux
rendering and automated VR fixtures do not replace native Windows or physical
Quest validation. The latest changes still need an in-headset comfort check.
Quad-view rendering is not implemented.
FPSloppa 0.17v — bomb defusal, physical reloads and Cindercoil
FPSloppa 0.17v — bomb defusal, physical reloads and Cindercoil
DE adds round-based bomb defusal with team-specific CS-inspired purchases, five
classic-layout BSP29 map studies, surface planting and VR defusal interactions.
The bomb is visible on its carrier's chest; only surviving terrorists can recover
a dropped bomb. Dead players can spectate and talk to each other separately from
living players. Weapon pickups require Use and replace the occupied slot.
- Added CS-inspired weapons with rebuilt models, aligned sights, chamber actions,
existing knife/scope mechanics, grenades and an optional virtual stock. - Added the persistent joystick weapon wheel and contextual hip magazine pouch.
VR reloads use offhand magazine insertion, racking, pumping and box-lid actions. - Added Cindercoil, a circular ascending Titanball route with inner traversal
tunnels, towers, overpasses and resupply stations. - Added optional arena jetpacks with megahealth pickup timing and improved arena
weapon respawn rules, death drops, lobby voting and stair prediction. - Added native optional avatar spring simulation, tracking/hip attachment fixes,
rendering optimizations and complete texture mip chains. Map caches retain BC7
desktop and ASTC mobile compression. - Added static foveation controls and gaze-driven fovea-size controls when the
runtime exposes supported eye tracking. Quad-view rendering is not implemented;
runtime and headset support still determine the available foveation path. - Fixed desktop grenade holds releasing between input packets and unintentionally
firing the holstered weapon. - Restored the original soundtrack; DE alone receives the new orchestral cue.
The optional Amiga soundtrack and the global recomposition are removed.
Downloads
Linux and Windows clients, Linux dedicated server, Quest APK, self-contained
source and the standalone master server. The clients include 32 base maps and
three base avatars. The DE maps are original layout studies with documented
fidelity limits, not converted Valve map binaries.
Use matching 0.17v clients and servers: protocol fpsloppa-45-de-utility.
Quest Android version code is 22. Existing configurations remain usable; DE
and experimental jetpacks are configured as described in the included guides.
Validation
Release checks cover gameplay, tracking fixtures, DE objectives and pickups,
physical reloads, texture imports, compressed map caches, local networking,
the console server, archive contents and signatures. See
docs/validation/release-0.17v.json for the final results.
Linux rendering and automated VR input fixtures are tested locally. This release
does not claim a fresh native Windows or physical-headset playtest. Eye-tracking
transport availability and live VR comfort still require hardware validation.
FPSloppa 0.16v — server browser and master directory
FPSloppa 0.16v — server browser and master directory
Find dedicated servers from the desktop or VR menu, save favorites, and join a
match or spectate using the existing gameplay connection and asset-download flow.
- Added Browse Servers with live status, ping, search, mode/protocol filters,
sorting, favorites, and Join/Spectate actions. - Dedicated servers can expose a separate UDP query port and opt into authenticated
master registration. Population displays distinguish humans, bots, spectators,
pending downloads, and free human seats. Bots can yield their seats to players. - Added a standalone Python master directory and credential-issuance tool. The
master verifies query endpoints, bounds requests, and expires stale listings. - Added
sv_master_test 1: a dedicated server can start its own local test master
and register automatically. Requires Python 3.10+; the child stops with the game. - Direct joining and known favorites remain usable during master outages. Existing
server configs keep discovery disabled until the operator enables it.
Downloads and setup
Linux and Windows clients, Linux dedicated server, Quest APK, self-contained source,
and a small Master-Server.zip requiring Python 3.10+. Assets remain bundled;
Pico and retired asset/map-pack downloads remain excluded. The separate CQ
experimental branch is not part of this release.
No public master endpoint is preconfigured or deployed by this release. Operators
can host the supplied service and give players its HTTPS base URL. See the
server browser setup guide.
Public game servers still need reachable gameplay and query UDP ports, normally
7777 and 7779. The master provides discovery, not NAT traversal or gameplay relay.
Gameplay protocol remains fpsloppa-39-rotating-koth; use matching 0.16v packages
for the new discovery feature. Quest Android version code is 21.
Validation
Validation covers the real dedicated-server/master/browser connection path,
spectator and player admission, bot-filled capacity, favorites, filters, master
outages, cookie replay rejection, TLS certificate/hostname checks, and simulated
VR controller interaction. Release package, archive, Linux startup, and Quest
signature/content audits are recorded in docs/validation/release-0.16v.json.
No fresh native Windows, physical headset, or public-WAN playtest is claimed.
Ping measures the query endpoint; gameplay access is confirmed when joining.
Standalone master server update — 2026-09-20
The FPSloppa-0.16v-Master-Server.zip download now automatically discovers
games on the same host and lists their reported versions. Its built-in HTTP
server serves a live dashboard with maps, rules, player/bot/spectator counts,
reserved and open seats, match state, and verification age. The page refreshes
every 10 seconds; unverified listings expire after 90 seconds.
Enable a distinct nonzero sv_query_port on each game, run python3 server.py
from the extracted master directory, and open http://127.0.0.1:8080/.
Same-host discovery needs no registration token. Linux detects custom query
ports automatically; other platforms can use --local-query-ports 7779 7789.
For public listings, configure --local-address YOUR_PUBLIC_IP and the existing
HTTPS deployment. Use --no-local-discovery to disable automatic local listings.
Keep the included static/ folder beside server.py; the updated setup guide
is included in the archive at docs/SERVER-BROWSER.md.
This refresh applies to the standalone master download. Existing game binaries,
the dedicated-server bundle, the source bundle, and the 0.16v tag are unchanged.
Validation: 18 master tests, Godot test-master and server-browser integration
suites, and a browser rendering check of the dashboard.
FPSloppa 0.16v CQ Experimental — Vesper campaign
FPSloppa 0.16v CQ Experimental — Vesper campaign
Standalone CQ / UT99 clients and distributed servers for the 81-district Vesper city, with 128 players overall and 16 per district. This protocol is separate from main FPSloppa.
- Moderator menu: F8 unlocks master-verified, password-protected controls. Teleport to districts or players, bring players to you, and hold F9 for a bounded global voice announcement. Passwords are configured on the master; no default is shipped. Teleports preserve district capacity and use safe landing checks.
- Persistent arrivals: new players start in the no-fire inner city. Returning players resume at their saved location when available; full/unavailable districts fall back to the nearest friendly sector, then eligible neutral territory or the waiting room. Workers checkpoint location every five seconds and on orderly logout.
- Campaign city: 81 individually compiled and baked BSP29 districts, homebase perimeters, capturable relays, inner-city terminals and scoreboard, UTC-midnight victory points and persistent campaign progress.
- CQ soundtrack: quiet district ambience, combat orchestral music and a quiet military-themed menu score. Global announcements duck the soundtrack.
- Quick deployment: packaged shell scripts prepare and install master, worker/gateway and VPN-ingress components from simple cfg files. Includes compact five-VPS and spread nine-VPS inventory examples, persistent player storage and a static campaign status page.
Downloads:
- Linux / Windows: standalone Vulkan desktop client, all 81 baked presentation maps and audio. Activate the administrator's WireGuard profile, then open the supplied client JSON or save it beside the executable as
client.json. - Server-Linux: console-only runtime, all 81 worker maps, Python services, cfg examples and deployment scripts. Start with
README.md. Set moderation withset-moderator-password.sh; prepare deployment withprepare-deployment.sh, then install withdeploy-components.sh. - Source: experimental branch sources and campaign assets.
Validation covers master authorization, capacity and persistence rules; real cross-region worker teleports and voice fanout; Linux/Vulkan moderator UI; saved-position restoration; packaged client/server, ENet and custom-VRM checks. Windows is built and inspected but has not been executed on a native Windows host. Voice media checks use synthetic PCM; live microphone/hardware and WAN/128-player combat remain live-test work. No Quest or Pico CQ artifact is included. Stable/main remains on its separate release channel.
FPSloppa 0.15v — smoother transitions, map voting and rotating hills
FPSloppa 0.15v — smoother transitions, map voting and rotating hills
This release combines the working main-branch gameplay fixes. CQ and district workers remain isolated on the experimental branch and use a separate release and protocol.
- Fixed map/lobby loading coordination so one delayed player does not hold ready players frozen. Improved collision prediction to reduce obstacle rubberbanding and camera shake.
- Added joystick scrolling and dropdown cleanup, plus a 3×3 ballot of map/loadout/mode combinations with generated map previews. Connected clients can import BSP maps; recognized filename tags select compatible server maplists, while untagged maps join DM/TDM/IG/FT/IF.
- Frozen FT/IF players fall to the ground. Player hitboxes now match the box-shaped placeholder more closely. Corrected portal/teleporter exit placement and facing.
- Assault weapons use normal pickup/respawn behavior with half the ordinary weapon respawn delay. Audited TF loadouts and nail weapons, increased sniper scope magnification, added team markers to nametags and enabled positional-audio Doppler.
- Titanball adds a ten-second pilot boarding lock, slower boarding transitions and verified armour protection. Ashfall extends only its middle checkpoint section by 50 m, with side balconies, an overpass, curved approaches, updated resupply stations and a slightly larger downward crush reach.
- KOTH hills rotate every 30 seconds among at least three positions. Rebuilt and rebaked the four KOTH maps, added the hill timer and a round-end gong.
- Added bounded emissive weapon/projectile illumination with BSP occlusion: at most two contributions on desktop and VR. Avatar receiver lighting and BSP import baking remain feasibility experiments.
Downloads and compatibility
Windows client, Linux client, Linux dedicated server, Quest APK and self-contained source ZIP. Pico is excluded from this and future releases. Existing Pico controller compatibility code and historical downloads are retained. Assets are bundled; retired asset/map-pack downloads remain retired.
Use matching 0.15v clients and servers: protocol fpsloppa-39-rotating-koth. Quest Android version code is 20. Experimental CQ clients use their separate launcher and cannot join ordinary servers.
Validation
Release validation covers gameplay regressions, the eight-client delayed-load transition, real ENet voting/KOTH/teleport tests, exported package content and asset hashes, Linux package startup, and Quest signature/manifest/ARM64 validation. Detailed receipts are in docs/validation/release-0.15v.json.
This release has not received a fresh native Windows or physical Quest/PCVR playtest. Headless prediction checks and automated bot tests do not establish headset comfort or full-match balance. Existing exit-only Godot resource diagnostics remain.