News| Files| Forums

"...quite possibly the best Half-Life mod of all time." -ModDB 

 

    Site Links

  Current News
 
News Archive
  Team Members
  Submit a Map
  Links Section
  Discord Channel
  Message Forums
 

    Sven Co-op

  Game Manual
 
Features/Changes
 
Support the Mod
  Entity Guide
  The FAQ
 
Files Section
 
  Download SC!
 

    Media

  Map Screens
 
Weapon Screens
 
Enemy Screens
 

    Articles

  Map Making Info
  Server Guide
  SC Nostalgia

    Search

 
 
  
  

Powered by STEAM


Link to us


» Current News:

Click Here to support the mod!   «


Sven Co-op Update Released [Build 3735813 / Release 5.20]
14 April, 2019 | by AdamR

View Comments  

An update for Sven Co-op has been released. If you are running a dedicated server please use SteamCmd to update your servers. Those of you that were using the public release candidate can remain to do so, as this branch now matches the standard branch.

Changes are as follows:

Code

Engine

  • [VGUI2/GameUI] Fixed paste command not working for password fields.
  • [VGUI2/GameUI] Number pad Enter can be used to confirm choices, buttons, dialogs, etc.
  • [Networking] All recvfrom/sendto related socket errors are now non-critical (similar to Source engine). To see socket related errors set the "developer" CVAR to "1" or higher.
    • Fixes the "ERROR: Network is unreachable" shutdown on Linux.
    • Fixes the "ERROR: NO ERROR" shutdown on Windows.
  • [Networking] Proper error messages are now printed for recvfrom/sendto errors on both Windows and Linux (Linux-only previously).
  • Added few security fixes present in vanilla GoldSrc but missing from Svengine.
  • Disabled post-map change texture stats. ("gl_texstats" still works as before)
  • Fixed multiple info string exploits.
  • Fixed unsafe string handling in DLL interfaces.

Version details

Steam build ID numbers: Game 3735813, dedicated server tool 3735815, SDK tool 3735816.

Please use the steam build ID number as a reference when posting an issue or query on our message boards. You can find the build number you currently have within Steam by right clicking our game or tools, selecting Properties, then selecting the Local Files tab.

 

Sven Co-op Update Released [Build 3695902]
01 April, 2019 | by JPolito

View Comments  

Normally I'd like to report good news concerning Sven Co-op to you but, sadly, this is not such occasion. Last week one of our senior developers, Adam, suffered a grave injury while working on our new bug tracking system. It turned out one of our repository servers wasn't correctly installed in its bracket and came loose and hit Adam on his pinky toe. While our lives as developers are mostly fun and games, moments like these make you realise how precious life is and how important workplace safety can be.

While Adam held an icepack on his toe, we started discussing how our MOD's content doesn't reflect our newly found believes about safety in the workplace. Especially our cornerstone, the Half-Life campaign, is a terrible example of the use of safety measures and this is not how we would like to portray ourselves any longer. So, we'd like to present to you:

Half-Life: Work safe, work smart

We've worked hard to bring you a better version of Half-Life Co-op: a version where workspace safety isn't neglected and things go according to protocol. No one has to suffer any injuries or even think of the possibility of dying on the job in this improved installment! So, make sure to play our new version through the SP Portal map! We're eagerly awaiting your feedback and are already on the way to adjust our Blue Shift campaign to feature the same high standard of workplace safety. Also, we'll be cutting the complete Opposing Force campaign from the game, since (with improved safety protocols) the Black Mesa accident did not happen.

Check out our preview with some of the new high-lights of the improved campaign!

If you are running a dedicated server please use SteamCmd to update your servers. Those of you that were using the public release candidate can remain to do so, as this branch now matches the standard branch.

Changes are as follows:

Notable changes

  • Implemented Steam P2P (peer-to-peer) based network layer. Allows players to host listen servers without the hassle of port forwarding. (usage: "connect STEAM_1:1:12345678")
  • The Anomalous Materials Laboratory in Half-Life now follows proper workplace safety regulations.
  • Our version of Hammer has been renamed to Svencraft to ensure the changes from our engine customisations are distinguished from vanilla GoldSrc map editors. (Mainly Hammer.) -- There is a new subsection for this in the SDK section towards the end.

Code

Game library

  • [Sound Engine] File names with spaces are parsed correctly now (Note: Even with this change it's still not recommended to use spaces in file names).
  • Implemented Discord rich presence.
  • Removed cached.wad, no longer needed (only used by the old WON builds for the console background image). The engine now skips this file if referenced by the "wad" key value.

Engine

  • [Event System] Event directories are now mounted as read only. Fixes BZ2 compression not working for the sound cache file.
  • [FastDL] Added URL encoding. FastDL should now work for files containing spaces and/or special characters.
  • [GameUI] Fixed Options Dialog not displaying all required tabs in some games.
  • [MP3 player] Added new commands "cd list" and "mp3 list" - prints the current track list.
  • [MP3 player] Fixed MP3 music not playing in some games when loading new map (i.e. "c0a0" in Half-Life).
  • [MP3 player] Default sampling rate is 44100 Hz now. (Was 22050 Hz.)
  • [MP3 player] Removed support for audio CD playback. All games that were using the legacy CD audio are now available with MP3 soundtrack, so this feature is no longer needed. Fixes an issue where the game would start playing audio CD, if there was one present in user's optical drive.
  • [MP3 player] The player now supports custom track lists (media/tracklist.txt). The default track list is still hard-coded in the engine and will be used as a fallback, if custom track list file doesn't exist.
  • [VGUI2] RichText: Fixed text selection starting with a new line character even when it shouldn't. Fixes a common problem where text copied from the developer console wasn't accepted by the console input line.
  • [VGUI2] TextEntry: The copy-paste feature no longer skips the last character for multi-line TextEntry components.
  • Added disconnect countdown to the "WARNING: Connection Problem" message. (Similar to Source.)
  • All "gfx.wad" related errors are non-critical now. (Worst case scenario, the "PAUSED"/"LOADING..." images won't be visible.)
  • "cl_timeout" values less than or equal to 0 now mean "no timeout". Fixes an issue where the client got disconnect immediately after joining a server, if "cl_timeout" met this condition.
  • Dedicated server no longer loads "gfx.wad" as it doesn't need it for anything.
  • Fixed the "heartbeat" console command. Forces heartbeat refresh of master server (Steam).
  • Fixed the "lambert" CVAR. Can be used to tweak studio model lighting (together with the "direct" CVAR). Requires "sv_cheats 255".
  • Fixed the "MAX_GLTEXTURES" client error. Studio and sprite textures are now unloaded after each map change. Added new debug command, "gl_texstats".
  • Implemented Steam P2P (peer-to-peer) based network layer. Supports NAT traversal and Steam relay servers. Ideal for listen servers. Can be disabled by adding "-nop2p" to launch options.
  • Improved OpenGL state consistency between the various draw methods. Fixes UI transparency not working correctly in some cases (i.e. VGUI2 text selection).
  • Map WAD loader now ignores following special WADs: gfx.wad, cached.wad, and fonts.wad, in addition to already ignored pldecal.wad/tempdecal.wad files.
  • Map WADs are now checked for correct lump type. Only lump type 67 (0x43, mipmapped picture) is allowed, other lumps are ignored. (Loading them could cause access violation.)
  • Migrated the engine to C++ and the latest Visual C++ toolset. Requires Visual C++ Re-distributable for Visual Studio 2017 (x86).
  • Removed support for 16- and 24-bit color depths (including the "-16bpp", "-24bpp", and "-32bpp" launch parameters). This is no longer useful as all relevant video adapters/drivers support 32-bit colors without any performance or compatibility issues. (The feature was broken anyway since the SteamPipe GoldSrc update.)
  • The engine now checks if there is room for another map WAD before loading it. (max. 128 map WADs)
  • Updated Steam API and libraries to version shipped with the latest Steamworks SDK (v1.43, 20th February 2019).
  • When joining a password protected server the user is prompted to (re)enter the password, if the "password" CVAR is empty or invalid.

Maps

Half-Life Campaign

  • Implemented workplace safety level alterations.

Half-Life Single Player Portal

  • Implemented workplace safety level alterations.

They Hunger

  • Implemented high-quality radio station music loops and ending credits music (Loungemeat - You Are What I Eat).
  • [TH_EP2_04] Removed the seamless teleport in the stairwell and merged both halves of the map together. Reworked some rooms so that they would fit. Optimized clip nodes.

Sounds

Weapons/Items

  • [They Hunger Weapons] Monofied all sound effects and increased volume for tesla gun effects.

SDK

Svencraft

Our version of Hammer has been renamed to Svencraft to ensure the changes from our engine customisations are distinguished from vanilla GoldSrc map editors. (Mainly Hammer.)

  • 2D views now show angle/size for brush transformations.
  • 3D view clear color can be changed from the "Options" dialog now. Defaults to teal.
  • Active 3D views are now refreshed by a timer - results in more stable frame rates.
  • Added new file filter option that displays both RMF and MAP files.
  • Added support for animated textures.
  • Added support for masked textures.
  • Added support for NPOT textures.
  • Added support for "sequence", "skin" and "body" key values.
  • Added support for transparent objects.
  • Default texture name is now saved per-game.
  • Enabled anisotropic texture filtering.
  • Face texture edit:
    • Larger texture preview to fit the widened dialogue.
    • Scales, shifts, and rotation will now be normalised up to 6 point precision instead of 2 point. (This fixes very precisely fitted textures being wrongly rounded when revisiting that face in the tool.)
    • Scales, shifts, and rotation will now have trailing zeros (and a subsequent trailing dot for whole numbers) trimmed. -- Expect nice and precise numbers like 1, 2.25, 1.325, 2.62421, etc. (No more 1.00, 2.50, etc.)
    • Using the justify options will no longer produce negative numbers or numbers equal to the texture size in the shift. (You should see zero figures more often when no shifting was really required.)
  • FGD Parser:
    • There is now an error message if the target FGD file does not exist.
    • Strings and tokens can be up to 1024 characters long now (was 128).
    • Fixed a freeze issue when parsing long strings (>128 chars). Error is displayed for strings longer than 1024 chars.
    • Fixed an issue where long comments (>512 chars) could cause parsing errors. Comment length is now unlimited.
  • File paths can now be up to 260 (MAX_PATH) characters long (was 128).
  • Fixed a potential crash issue caused by long status/error messages. Unified size of all message buffers.
  • Fixed studio models animating too fast, if there is more than one instance of the same model.
  • Game configs are now saved as XML. -- The editor can still load old binary WC game configs, but it can't save in that format any more.
  • Message window supports text selection and clipboard operations.
  • Messages generated early during the startup process are buffered (instead of being thrown away) and copied to the Message window once it's available.
  • Object properties:
    • Implemented angle dials for pitch and roll.
    • Implemented angle drop downs containing commonly used angles. (Can be disabled in the options.)
    • Interface tweaks to improve usability.
    • Key value changes are now applied immediately. It's no longer necessary to de-select the entity for the changes to take effect.
    • Smart Edit mode setting no longer resets when switching between entities.
  • Studio model animations now reset back to frame 0 when animations are disabled by the user.
  • Texture browser:
    • Added new scale/size modes: 400%, 200%, 100%, 50%, 25%, 32x32, 48x48, 64x64, 96x96, 128x128, 192x192, 256x256, 384x384, and 512x512.
    • Added option that will stretch small textures when in tile mode.
    • Fixed a problem where it wasn't always possible to scroll to the very top when using mouse wheel.
    • Fixed horizontal scrollbar being always visible even when not needed.
    • Polished the UI.
    • Set the filter combo-box to always have focus when opening the texture browser.
    • Texture group (WAD name) is now displayed for the selected texture.
    • Texture names are properly clipped now.
    • Texture previews maintain aspect ratio of the displayed texture (optional).
    • Window now has proper icon.
  • Texture filtering modes can be changed on-the-fly now. Multiple modes available: None, Bilinear, Trilinear, and Anisotropic 2x - 16x.
  • Texture lists are now saved per-game.
  • The crosshair in 3D views is now perfectly symmetrical.
  • Up to 100 WAD files may be loaded at once when adding WADs to a game configuration.
  • User Interface:
    • Added controls for the new rendering features to "Options->3D Views" (animated textures, NPOT textures, texture filtering modes, alpha blending, masked textures).
    • Added "Rename" button to the "Game Config" dialog. Added confirmation dialog for the "Delete config" operation.
    • Added "Reset" button to the texture dialog.
    • All dockable windows are resizeable now.
    • Cleaned up toolbar bitmaps. Fixed transparency.
    • "Editor options" and "Game configurations" are two separate windows now.
    • Message window is now dockable.
    • New "About" dialog.
    • New splash screen and program icons (courtesy of DGF).
    • New toolbar for file operations (New, Open, Save).
    • New toolbar and menu for rendering options (Masked textures, Animated textures, Blending, Studio model rendering, Studio model anims).
    • Replaced the old "MS Sans Serif" UI font with "MS Shell Dlg" (TrueType font).
    • Tweaked many dialogs for better user experience (bigger texture previews, more space for file lists, horizontal scrollbars for overflowing fields, etc.)
    • Updated the application to use MFC Feature Pack (better look and feel).
    • Updated the "Web Resources" menu.
  • Visgroups are no longer displayed after a map is closed.
  • When adding new WADs the list is checked for duplicates. Files that are already present on the list are skipped and the user is informed about what happened.
  • World size can be changed per-game.

Version details

Steam build ID numbers: Game 3695902, dedicated server tool 3695904, SDK tool 3695905.

Please use the steam build ID number as a reference when posting an issue or query on our message boards. You can find the build number you currently have within Steam by right clicking our game or tools, selecting Properties, then selecting the Local Files tab.

 

20 years of Sven Co-op! -- Sven Co-op Update Released [Build 3482406]
19 January, 2019 | by AdamR

View Comments  

Nothing interesting ever happens on a Tuesday. Except for January 19th, 1999. This is when Sven Co-op beta 0.8 was released to the just recently formed Half-Life community. When it became clear that Half-Life (unlike its predecessors Doom and Quake) would not have a co-operative mode, the community took the task upon itself to fill the void Valve left behind. One of those people was Sven Viking.

At this point, Sven Co-op was not much more than a proof of concept, or to put it into Sven's own words: "mostly just to give everyone an idea of what I'm doing, partly because of various bugs in the map that I don't know how to fix :)". At this point the mod consisted of only one map and a few scripts. Sven found help sorting out the initial problems he was facing and the few rooms that made up beta 0.8 quickly grew into a full fledged map, which was released in early May of that same year.

This all happened 20 years ago, in a time when, for many people, going on-line was met with dial-up tones from your modem, playing games on low resolution software rendering and a latency of 300 ms wasn't something to complain about. Luckily for us all, technology has moved forward and so has Sven Co-op. Ever since that first map, SC has tried to push the boundaries of what is possible with Half-Life. We've seen thousands of maps, models and other custom assets made by our community members, millions of downloads and, most importantly, countless hours of co-operative game play fun!

After two decades, Sven Co-op still has a steady and rich player base and a dedicated group of talented developers and we believe, especially since our standalone release on Steam in 2016, that there will be much more to look forward to in the future!

Come celebrate Sven Co-op's anniversary with us by joining the servers and make sure to give "svencoop1" a replay for old times' sake. We'll be there! For the nostalgic or the curious, the original website from 1999 is available here. This is also where you can still find the original beta 0.8!

An update for Sven Co-op has been released. If you are running a dedicated server please use SteamCmd to update your servers. Those of you that were using the public release candidate can remain to do so, as this branch now matches the standard branch.

This is officially the first release to drop support for Windows XP/2003, Windows Vista/2008, and Linux with GLibC earlier than version 2.24. -- Sven Co-op may fail to work completely on those operating systems. More information

Changes are as follows:

Notable changes

  • Event system to adjust various content according to the event. -- Content for our 20th anniversary included.
  • Better support for Stretch and Buster versions of Debian Linux.

Code

Game library

  • Linux specific:
    • Added local build of LibSSL 1.0.0, so secure connections will now work on Stretch and Buster versions of Debian.
    • Removed "vgui2_controls.a".
    • Removed i486 binaries.
    • Removed local build of LibSTD C++ 6.
    • Updated local build of LibCURL to 7.63.0, and fixed the certificate authority path not being correct for some distributions.

AngelScript

  • Added new hooks: PickupObject::CanCollect, PickupObject::Materialize, PickupObject::Collected.
  • DamageInfo.pVictim is no longer constant. (Fixes casting issues.)
  • Documentation: Changed how hook description is handled and added description for all existing hooks.
  • The plug-in manager can handle multiple plug-in lists now.
  • Updated AngelScript to version 2.33.0 (22nd December 2018).
    • IMPORTANT: Arrays no longer contains a "length" property. Getting the length of an array must be done with "array.length()" instead of "array.length".

Engine

  • Added support for wide-screen menu backgrounds. In wide-screen mode "BackgroundLoadingLayoutWide.txt" / "BackgroundLayoutWide.txt" definition files are checked first, and if not found "BackgroundLoadingLayout.txt" / "BackgroundLayout.txt" is used as a fall-back.
  • All search paths are cleaned up before they get registered by the file system. (This should fix path inconsistencies caused by the SvenDS launcher still returning relative paths on some Linux systems.)
  • Both launchers (client and server) now use the same method when building their "basedir" path. (The server originally returned "." instead of the actual absolute path causing content to be missing if you hadn't set the shell's working directory first.)
  • Dedicated server UI:
    • Fixed dedicated server not starting properly occasionally when launched in the UI mode.
    • Fixed graph axis labels.
    • Fixed some fields not initializing properly until a minute later.
  • Detailed information is provided if client or server library fails to load. (This is especially useful on Linux where it should report any missing ".so" dependencies.)
  • Files created by the engine (server logs, tempdecal.wad, custom.hpk, user.scr, settings.scr) now use the "GAMECONFIG" PathID to make sure they will always end up in the main game directory ("svencoop") even if some other path was added later on ("svencoop_hd", "svencoop_event_*" etc.).
  • Fixed an issue where the key value parser accessed and potentially corrupted memory beyond the terminating zero if an empty string was passed in.
  • Fixed an issue where the string loaded from background layout files wasn't zero-terminated correctly before parsing.
  • Fixed buffer overflow and some unsafe string operations when un-mounting file system paths.
  • Fixed buffer overflows in demo parsing. (HL Github issue #1654)
  • Fixed heap corruption issue that would occur when destroying stack-located instances of UtlBuffer.
  • Fixed Mod_Extradata() accessing model data incorrectly for sprites.
  • Fixed some garbled and/or misleading error messages.
  • Fixed script includes not working between the different game folders ("svencoop", "svencoop_addon", "svencoop_downloads", etc.) on dedicated servers.
  • Host_EndGame messages are always printed to the console now, even if the "developer" CVAR is set to "0".
  • Legacy sound system: Removed support for automatic ambient sounds, including the "ambient_level" and "ambient_fade" CVARs. (Quake feature, broken and unused in GoldSrc.)
  • Linux: Fixed a client crash when changing video settings.
  • Linux: Removed i486 binaries.
  • More specific reason is provided if the engine fails to create an SDL Window.
  • Server Browser: Removed default ping ports not related to GoldSrc based games.
  • Resolution of chrome textures is no longer locked to 64 x 64 px.
  • The UI code now uses separate pathID "UI" to load resources. (Only relevant paths are searched now.)
  • Video Options: Everything with aspect ratio >= 1.4 is considered as a wide-screen now.
  • VGUI2:
    • Combo box, check box, radio button, scrollbar, and frame now use Marlett font glyphs for their graphics.
    • Fixed editable panels not resizing correctly.
    • Fixed fonts being too large on Linux compared to Windows. (Proper height to PPEm calculation is used now.)
    • Fixed some fonts not loading on Linux.
    • Minor visual tweaks to some of the VGUI2 controls.

Sound

  • Attack trace line strike sound now uses the new dirt/grass impact for CHAR_TEX_DIRT
  • If a material definition is too long it will be trimmed until it fits. (Still logged it as a warning though for the mapper's attention.)

Non-playable characters

  • NPCs using an MP5 will now use 1 of 3 sounds randomly when firing instead of just 1: Bodyguard, human grunt (HL and OP4), male assassin, and robot grunt.
  • [HWGrunt] Will now stop firing the minigun if launched into the air.

Weapons/Items

  • Fixed a holder's item (item_inventory) list pointer being wrongly nulled even when they still have items, for example ones that can be kept on respawn.
  • Fixed an issue where the active weapon wouldn't get detached from the player when he died and used cheats to revive himself.
  • Fixed ammo and weaponbox entities not firing their targets when collected.
  • Fixed the player's MP5 only pre-caching and using 1 sound instead of all 3.
  • Weapon pick-ups now retain their target name, target, colour map, skin, and body when respawned.

Events

  • All options are described directly in "event_info.txt".
  • Console commands:
    • "ev_list" - lists all detected events
    • "ev_scan" - scans for new/updated events
    • "ev_curtime" - prints the current (UTC) time as returned by Steam API
    • "ev_enable <event_name>" - enables event
    • "ev_disable <event_name>" - disables event
    • "ev_activate <event_name>" - force-activates event
    • "ev_release <event_name>" - deactivates force-activated event

Maps

Abandoned

  • Moved second checkpoint away a bit and placed it next to the chair inside of generator room.

Crystal

  • [Part 2] Added one barnacle weapon right below checkpoint at middle of jumping puzzle.

Judgement

  • Added objective signs in the central area.
  • More explosives available.
  • Reduced Garg HP from 3000 to 2500 on hard.
  • Reduced round time from 10 to 7 minutes.
  • When playing with reduced weapon respawn rate: Weapon respawn frequency changed from 7 to 5.5 minutes.

Single player campaign portal

  • Added They Hunger campaign.
  • Changed paths of sounds, models and scripts to one name pattern.

Sounds

Other

  • New impact/ricochet sounds for dirt/grass and sand/gravel.

SDK

FGD

  • Added "Glow Shell" to render effects.

Map compile tools

  • MAX_MAP_PLANES is now 65535. (Limit of 32767 was only there for the faces limit, which is now 65536.)

StudioMDL

  • Bones with attachments are always preserved.
  • Brand new help screen.
  • New command line argument "-k": keep all unused bones.
  • New QC command "$keepallbones": keep all unused bones.
  • New QC command "$keepbone <bonename>": keep specified bone even if unused.
  • New QC command "$protected <bonename>": same as "$keepbone" (Added for compatibility with DoomMusic's StudioMDL).
  • Removed UV clamping. (This was only ever supposed to be used in the removed "$cliptotextures" mode.)
  • Resolution of chrome textures is no longer locked to 64 x 64 px.
  • Tweaked few error messages; added new warning messages.

Other

Misc

  • Linux SvenDS launcher:
    • Added a warning message for users running as a root (why would you do that?
    • Double quotes wherever was needed to avoid issues with spaced strings.
    • Host CPU family below 6 (i486) will just quit the script. (We're not in 80's/90's any more!)
    • If "-map" is not specified at start-up, _server_start is used by default. (Can be disabled with "-nodefaultmap".)
    • Improved auto update feature:
      • Added support for updating with passworded branches. (-beta_password)
      • Added support for SteamCMD script. (-steamcmd_script)
      • Tries to auto detect SteamCMD binary location if "-autoupdate" is specified without "-steam_dir", either from system installed (package manager) or "$svends_dir/steamcmd" folder (vanilla GoldSrc way). User defined "-steam_dir" overrides this even if it is invalid! (Skips auto-update if none is found.)
    • Increased "ulimit -c" max core file size settings to "unlimited". (This has no effect without "-debug" parameter.)
    • Lots of optimization and standardization.
    • Re-implemented auto detection for CPU vendor and selecting proper binary (svends_i686 or svends_amd). This was previously available in older GoldSrc script. (Can be overridden with "-binary" parameter.)
    • Removed unused console log option.
    • Replaced forum URL with Discord vanity URL in crash message.
  • Server example configurations:
    • Added a read-me to guide you though what the folder is for and how to use it.
    • Added more profile examples with lots of improvements.
    • Changed "sv_zmax" to 32768.
    • Changed misspelled "sv_player_log_frequency" CVAR name to "sv_log_player_frequency".
    • Renamed "servers" to "servers_example" so Steam updates don't ruin your changes.
  • Removed "platformconfig/InGameDialogConfig.vdf".
  • Removed reslist files.

Version details

Steam build ID numbers: Game 3482406, dedicated server tool 3482409, SDK tool 3482410.

Please use the steam build ID number as a reference when posting an issue or query on our message boards. You can find the build number you currently have within Steam by right clicking our game or tools, selecting Properties, then selecting the Local Files tab.

 

Dropping support for Windows XP/2003, Windows Vista/2008, and Linux GLIBC <2.24 as of Sven Co-op 5.18
11 December, 2018 | by AdamR

View Comments  

Hello everyone,

We would like to take this opportunity to inform you all that as of our next release (5.18) Sven Co-op will no longer support running on various outdated operating systems. We do not have a release date for 5.18 yet, and to be honest aren't really in a position to consider a date yet, but we'd like to warn you all in advance anyway in case you need to plan any upgrades. We will of course mention this again in the 5.18 release notes, but please treat this as a final reminder.

Part of the reason for this is Valve's decision to drop Windows XP and Vista support with Steam as of 1st January 2019. Also as we previously announced nearly 3 years ago this would be inevitable as operating system components begin to deprecate and remove older functionality, which is beyond our control.

Using more up to date operating systems (and their underlying components) also offers us more opportunity to make the most of their functionality and efficiency upgrades, which ultimately ends up in a better product for all of you.

Windows XP, 2003, Vista, and 2008

We don't need to tell you how out of date Windows XP and 2003 are. Given the growing number of security holes it has going un-patched it would be very ill-advised to use these operating systems for anything at all.

Sven Co-op may still work with Windows Vista and 2008 for a while, however any issues that arise specific to this version will not be supported by us. We've not done anything deliberate to stop this working, but as none of our team use these versions we can't test on them.

As there is a noticeable hardware requirement gap between Windows XP/2003 and Vista (and later) you will almost certainly need to consider this too. This is also out of our control, sorry. The hardware requirements between Windows Vista right the way up to Windows 10 don't have such a wide gap though, so if you're already running Windows Vista there is a likelihood that you can also run any of the newer versions on the same hardware.

Windows 7 and Windows Server 2008 R2 will still be supported for the foreseeable future, again, until circumstances beyond our control dictate otherwise.

Linux using GLIBC earlier than 2.24

All Linux installations will require GLIBC version 2.24 or later. This coincides with an internal infrastructure upgrade from Debian 8 "Jessie" to Debian 9 "Stretch". Debian 9, which we compile our code for Linux on, has not only been stable for nearly 2 years now but can be upgraded to from previous versions easily enough, so this shouldn't be much of an issue. (It can typically be done without issue within the hour on a high speed Internet connection.)

Those of you running Ubuntu version 16.10 or later will not be impacted. If you're running the previous LTS (16.04) you can likely upgrade to the current LTS (18.04) easily enough as with most Debian based Linux distributions.

Sorry to disappoint further, but those of you wanting to run SvenDS on RHEL, CentOS, or FreeBSD will still not be able to do so just as you can't now. To be clear on this, as a game development team we have no desire to support enterprise type distributions of Linux. Though they may be great for many applications, games are certainly not their purpose. Our choice down the Debian distribution path correlates with a happy balance between fairly up to date software and stable proven software. The Debian path also matches Valve's preference with Steam, particularly as they use this for their own SteamOS distribution, of which the current version (3.0) is also based on Debian 9.

If you're not sure which version of GLIBC your Linux installation runs you can find out using `ldd --version` from a terminal, or check this table at Wikipedia.

 

Sven Co-op Update Released [Build 3082297]
01 September, 2018 | by AdamR

View Comments  

Hello everyone, it's been a while since we last gave you an update. (Very nearly 7 months ago in fact.) We're still here though, and have a slightly bigger package than normal this time round. hehehe

Big thank you to everyone that took part in the release candidate testing via Discord. We feel that this added value to the finalisation of this release, and hope to do the same RC testing next time round. If you're not on our Discord yet you can join here: https://discord.gg/svencoop


First and foremost, Hezus has built a brand new map "Suspension" (or Bridge 3), featuring assault style game play with up-to 8 playable classes to choose from.

Vote to play one of four difficulty levels (with a supporting treat for the hardest) based on your teamwork and toughness, pushing yourself to not only complete the mission but reach that far away platinum award for doing so with zero deaths on your team.

Please have a play with any amount of players and let us know what you think. -- The map's difficulty will dynamically adjust according to the player count. Beware that a late joiner on insane difficulty will use up the single spare ticket though, so be sure to have at least one medic playing. At least one player will need to have explosives, such as the engineer, assault, and pointman classes.

Secondly we have a noticeable wave of engine updates ranging from anti-aliasing support, better Metamod support, more reliable progress indicators for content downloads, and everything in-between.

Server operators that have been using a fork of Metamod-P specifically for Sven Co-op should no longer use this, but instead use the standard distribution of Metamod-P. Please also fully revert modifications in your "liblist.gam" file as you should not be modifying this, as we've needed to add extra properties to it. -- Best practise is to use the -dll launch parameter for specifying an alternative server binary such as Metamod-P to keep "liblist.gam" crisp.

Finally it's worth a mention that the sound engine has had some tweaks to compensate for volume and room effect (EAX) workarounds present in previous builds. You may find that your game is twice as loud, so if you had your "volume" setting on 0.8 consider halving this down to 0.4, though this won't be required for everyone.

Expect further improvements in an upcoming build to improve room effects (EAX) even more so, particularly to reduce the amount of crackles and pops you can hear at high volumes.


If you are running a dedicated server please use SteamCmd to update your servers. Those of you that were using the public release candidate can remain to do so, as this branch now matches the standard branch.

Changes are as follows:

Notable changes

  • New map "Suspension", by Hezus.

Important notes

  • Everyone: Your "autoexec.cfg" should be reverted manually. It's a user file but we may need to push important changes to it. (Any problems, just delete the file and re-validate your game.)
  • Server operators: Please fully reset "liblist.gam", as you shouldn't be modifying this anyway. -- The game will not run properly without some new settings in there.
  • Server operators: If you're running Metamod please use the vanilla distribution, do not use custom builds for Sven Co-op any more. (They shouldn't be needed and we'd like to verify that.)

Code

Game library

  • A debug message is printed when following files are loaded by the game: sentence list, material list, replacement map (sounds/models). Requires "developer 1".
  • Added new cheat command "cl_invisible". Makes you invisible and non-targetable when activated.
  • Added spawn flags and classification to "myinfo" / "thatinfo".
  • Ban voting is now disabled as standard unless configured by the server.
  • Bounce sounds: Volume and pitch is relative to impact velocity. The impacts should sound more natural now.
  • Changed the maximum "sv_zmax" value from 16000 to 454046 (larger than the max grid size), which should fix black sky box issues that could be seen in enormous maps.
  • Clamped "volume" and "MP3Volume" to range 0.0 - 1.0.
  • Creating an RPG rocket via the "create" cheat command now matches your view angles, so it fires where you're looking rather than just firing flat.
  • Door and button entities can now be re-positioned to the locations of other brush entities via trigger_setorigin and should open and close correctly.
  • Doors/Platforms: Added "fireonopened" and "fireonclosed" to fire a trigger when the movement ends. ("fireonopen" and "netname" still work.)
  • Doors/Platforms: Added "fireonopening" and "fireonclosing" to fire a trigger when the movement starts.
  • Doors/Platforms: Fixed doors not moving when "obey use type" is set to "yes, even while moving", but the door receives USE_TOGGLE and the door is not closed.
  • Doors/Platforms: Triggers for "fireonopening", "fireonclosing", "fireonopened", and "fireonclosed" now have a corresponding "*_triggerstate" key to choose off/on/toggle trigger use types. (Defaults to toggle.)
  • env_beam and env_laser: Added support for "!activator" and "!caller" as the stat/end targets.
  • env_sprite and "env_model" are now allowed to think faster than 10 FPS. (Up to 200, matching MAX_FPS.)
  • Fixed ammo duplication exploit.
  • Fixed an issue preventing the game from detecting the "m_rawinput" value correctly in some cases and thus not enabling raw mouse input.
  • Fixed an issue where players could commit suicide while in observer mode.
  • Fixed an issue where players entering observer mode were unable to move if they died while operating train/vehicle.
  • Fixed an issue where the game tried to load a MOTD file as a fall-back for the map vote list.
  • Fixed an issue where the Geiger counter never stopped "clicking" if the player entered observer mode after dying in a radioactive area.
  • Fixed an issue where train controls would stay visible on player's HUD if he died while operating train and then got revived.
  • Fixed the "Player view keeps warping back to the original position when moving the mouse" issue.
  • Fixed the "sentence_file" / "materials_file" world spawn key values not working.
  • func_tank: Fixed an issue where the looping sound would keep playing even when the entity was destroyed.
  • It is now possible to use scoreboard to mute players when in observer mode.
  • item_inventory: Fixed a bug with item's "trigger on use" whereby an unrelated item would fire this value if you held the item whilst using a different item.
  • The "MaxRange" world spawn key value works again now. The game sets "sv_zmax" to 16000, then loads the value defined in default_map_settings.cfg, checks the "MaxRange" world spawn key value, and finally looks for "sv_zmax" in the custom map config.
  • trigger_changevalue, trigger_createentity: Now works with "topcolor" / "bottomcolor" key values.
  • trigger_copyvalue, trigger_changevalue, trigger_createentity: Now works correctly with "toutfiltertype", "coutfiltertype", "tinfiltertype", and "cinfiltertype" key values.
  • trigger_copyvalue, trigger_changevalue, trigger_createentity: Now works with "explosion", "material", "gibmodel", and "weapon" key values (func_breakable, func_pushable).
  • trigger_copyvalue, trigger_changevalue, trigger_createentity: Now works with the "spawnobject" key value (func_breakable).
  • trigger_random (and derivatives) now support 32 targets, up from 16.
  • trigger_relay: It is no longer possible to spawn trigger_relay that targets itself. A warning message is printed and the target value is removed to prevent recursion (and server crash).
  • trigger_setorigin: Added support for "!activator" and "!caller" as the copy target.

AngelScript

  • Added an option to customize position of the view model. Exposed the functionality as two CBasePlayer methods: SetVModelPos() and ResetVModelPos().
  • Added SVC_STUFFTEXT to the NetworkMessageType enum.
  • Changed return type of CBasePlayer::DropPlayerItem() from CBasePlayerItem to CBaseEntity. This is necessary because some weapons drop entity that is not based on CBasePlayerItem (i.e. the Shock rifle).
  • Exposed new global object "CModelFuncs g_ModelFuncs". Provides various model-related methods (i.e. body group configuration functions).
  • Exposed new member variable "CBasePlayerWeapon::m_iDefaultSecAmmo".
  • New hook "EntityCreated" - called whenever a new entity is created.
  • New hook "PlayerTakeDamage" - called when a player takes damage. Attacker, inflicter, damage amount, and damage flags can all be changed from the hook handler.
  • New object "DamageInfo" - used by the "PlayerTakeDamage" hook.
  • Removed CBasePlayerItem::Drop(). This wasn't really a drop method and it was exactly the same as CBasePlayerItem::Kill().
  • The engine no longer crashes when unused sprite handle is passed in by the client library.

Engine

  • Added early size check for textures loaded from WAD files. Fixes potential buffer overflow.
  • Added support for various anti-aliasing modes. This feature is work in progress - no UI for it is available, and the game still defaults to 4x MSAA (or no AA in the low video quality mode). New start-up parameter -aamode N (where N is ID of the desired AA mode. New command gl_dumpaamodes - prints list of all AA modes. MSAA and CSAA (NVIDIA only) modes up to 16 samples are supported.
  • Bumped the maximum texture size to 1024 x 1024 pixels.
  • Changed default value of "gl_max_size" to 1024 from 512.
  • Changed default value of "gl_round_down" to 0 from 3.
  • Changed the default and fall back colour depth to 32 BBP. (16 BBP colour depth can be problematic on some modern systems.)
  • Clamped "volume" to 0.0 - 1.0 in the legacy sound engine.
  • Completely reworked the "stufftext" command filter. Added few more commands to the "stufftext" blacklist. This should make all known "slowhacking" methods ineffective (server OPs altering or trashing player's config, ejecting optical drive remotely, filling player's hard-drive with screenshots etc.). Useful commands like "spk" are still available.
  • Console: The auto-complete list now moves together with the main console window.
  • Console: The console no longer auto completes commands when space bar is pressed.
  • Console: Tweaked the default console size for a better user experience in low resolutions.
  • Corrected some Windows registry paths.
  • CVAR "maxplayers" now defaults to 2 for "multi-player only" mods.
  • Dedicated Server UI: Fixed possible crash caused by mod name not being initialized properly.
  • Dedicated Server UI: Fixed the [x] close button not working.
  • Dedicated Server UI: Fixed UI elements not initializing properly.
  • FastDL: Fixed the loading dialogue not updating when downloading files via HTTP.
  • FastDL: The progress bar switches into "Marquee" mode if the HTTP server didn't return file size so we can't tell how long will the download take. This way the player gets at least some visual feedback that the file is being downloaded.
  • FastDL: The second progress bar now works correctly and the time left info is displayed (it likely won't be very accurate for small files but it should stabilize after a while for larger files).
  • Fixed "-toconsole" not activating the console.
  • Fixed "r_fullbright" not taking effect immediately. (Requires sv_cheats 255.)
  • Fixed a crash when applying CVAR value that has white space as the first character (i.e. name " Player").
  • Fixed a problem that caused all HUD sprites (including the cross-hair) to be blurry and slightly stretched.
  • Fixed an issue that caused the same map to be listed multiple times when using the "maps" command.
  • Fixed an issue where "only" the first 32767 BSP faces were loaded and processed correctly. All 65535 faces should be usable now.
  • Fixed an issue where portions of the sky box would disappear at higher FOV values.
  • Fixed beams with sine noise not rendering correctly if number of segments is lower than 16. Fixes the egon gun beam glitch when attacking target that is too close.
  • Fixed buffer overflow in Sys_Error(). This is why some of the critical error messages appeared corrupted.
  • Fixed dev_overview not being initialized. Map overviews should work correctly now without having to fiddle with the settings every time.
  • Fixed multiline HUD_PRINTCENTER text overlapping in higher resolutions.
  • Fixed potential buffer overflow in the texture loader. This could cause instability or other problems whenever the engine tried to upload texture bigger than 640 x 480 pixels.
  • Fixed screen flashing during seamless (single player) map change (only happened with FBO enabled).
  • Fixed sky box and world clipping issues when using high sv_zmax values.
  • Fixed the "envmap" command. Can be used to create environment maps. (Useful for creation of sky box textures, 360 map overviews etc.)
  • Fixed the "PAUSED" text not appearing.
  • Fixed the "r_lightmap" command. Displays surfaces with only lightmap applied. Requires sv_cheats 255.
  • Fixed the "slist" and "list" commands. Added an option for user-defined port range. This will list both sv_lan 1 and 0 servers.
  • Fixed window title not updating on map changes. Window title no longer displays server name in singleplayer mode. Window title updates on linux as well now (listen server only).
  • FPS meter: Added new fps meter mode - "cl_showfps 2". Shows average frame time (milliseconds) in addition to the frame rate (frames per second).
  • FPS meter: Added new fps meter mode - "cl_showfps 3". Shows frame rate (frames per second), frame time (milliseconds), and number of wpolys/epolys. Similar to r_speeds, but doesn't require the developer mode, doesn't spam the console, and the frame time value represents the total frame time not just time spent in rendering.
  • FPS meter: New CVAR "cl_fpscolor" - when set to 1 the fps meter will change its colour based on the current frame rate.
  • FPS meter: New CVAR "cl_fpspos" - can be used to change position of the fps meter. Values: 1 - top-left, 2 - top-right, 3 - bottom-left, 4 - bottom-right; Default: 2
  • Game UI: Changed range of the "volume" and "suitvolume" sliders from 0.0 - 2.0 to 0.0 - 1.0. Values greater than 1.0 were causing sound distortion and the extended range made the slider too sensitive.
  • Game UI: Empty main menu buttons no longer react to mouse input.
  • Game UI: Fixed an issue where player models would be listed multiple times in the Multiplayer options menu.
  • Game UI: Fixed an issue where the game crashed when trying to create a new listen server without having any valid multiplayer maps available.
  • Game UI: Fixed an issue where the game menu appeared in front of the console window when starting the game with "-console". The console now has keyboard focus when starting the game with "-console".
  • Game UI: Fixed the "Unknown command: cl_crosshair_size" error message that appeared in the console when applying Multiplayer settings.
  • Game UI: Fixed the key binding list not rendering correctly if the kb_act.lst file doesn't start with a valid category definition.
  • Game UI: The console will use the "Default" font as a fall back if "GameConsole_Mono" isn't available.
  • gl_wireframe: Fixed line colour inconsistencies.
  • gl_wireframe: Fixed z-fighting issues in the "gl_wireframe 1" mode.
  • gl_wireframe: New CVAR "gl_wireframecolor" - can be used to customize the line colour. Accepts 3 bytes; i.e. gl_wireframecolor "255 0 0" for red colour. Default value: "255 255 255" (white).
  • Linux: Fixed the problem with VGUI1 controls "spazzing out" when running the game in windowed mode.
  • Made the texture size check error messages more informative.
  • Netgraph: Added new mode 4 ("net_graph 4"). When activated the netgraph will show both the loss/choke info and the graph.
  • Netgraph: Now only visible during an active game session.
  • Netgraph: Now rendered behind the VGUI2 elements (i.e. the developer console) but above the in-game VGUI1 elements.
  • Netgraph: Now uses mono-spaced font to prevent the displayed values from jumping around.
  • Netgraph: Optimized netgraph rendering to have minimal performance impact.
  • New command "fs_dump_paths" - prints all search paths currently in use by the file system.
  • New command "gl_info" - same as the "gl_dump" command but doesn't print the OpenGL extensions.
  • New command "skybox" - can be used to load different sky box textures on the fly. Only the local client is affected by the change. (Requires sv_cheats 255.)
  • New CVAR "cl_scaleenginefont" - can be used to toggle engine font scaling (netgraph, fps meter etc.). Default: 1 (enabled).
  • New CVAR "gl_clearcolor" - can be used to change the clear colour (for debugging). Accepts 3 bytes; i.e. "gl_clearcolor 255 0 0" for red clear colour. Default value: "0 0 0" (black). Requires sv_cheats 255.
  • New CVAR "gl_npot". Can be used to enable/disable support of NPOT (Non-Power-Of-Two) OpenGL textures. Default value: 1 (windows) if the HW supports it; 0 (Linux).
  • New launch parameter "-nomtex". Disables multi-texturing and enables texture sorting. This can be useful for players with lower end hardware (i.e. Intel HD Graphics) if they are experiencing performance issues on maps with dynamic lights and/or when using the flashlight. Dynamic lights still work in this mode but detail textures are not available. This can be a better option than disabling dynamic lights completely by setting "r_dynamic" to "0".
  • New launch parameter "-screen". Can be used to tell the engine which screen (monitor) should it use. The values are indexed from zero: "-screen 0": primary monitor, "-screen 1": secondary monitor etc. The value is not saved. Saving and proper user interface will be added in the next update.
  • NPOT textures are no longer rescaled if the hardware supports them. This improves quality of many low-res Half-Life textures.
  • OpenGL now auto-generates mipmaps if supported by the hardware. This will produce correct mipmaps even for NPOT textures, unlike the original box filter algorithm.
  • Re-enabled the "gl_envmapsize" CVAR that specifies resolution of the environment map textures created by the "envmap" command.
  • Removed "viewthing" related console commands ("viewmodel", "viewframe", "viewnext", "viewprev").
  • Removed IPX networking. You can remove "-noipx" from your launch options if you are still using it, it has no effect any more.
  • Removed screen size related commands ("sizeup" and "sizedown"). This feature only ever worked in the Software rendering mode.
  • Removed support for paletted OpenGL textures (including the "gl_palette_tex" CVAR). Drivers dropped support for paletted textures long time ago.
  • Removed support for SGI multi-texture extensions (obsolete, replaced by ARB multi-texture extensions in OpenGL 1.2.1).
  • Removed support for texture dithering (including the "gl_dither" CVAR).
  • Removed support for the obsolete ATI TruForm/npatch technology (including the "ati_npatch" CVAR).
  • Removed the broken and partially disabled Quake 1 mirrors (including the "r_mirroralpha" CVAR).
  • Removed the following obsolete and/or unused CVARs: "gl_affinemodels", "r_mmx", "d_spriteskip".
  • Removed the obsolete "gl_flipmatrix" CVAR. -- This was specific to 3DFX and their MiniGL driver and changing it to "1" on any other hardware would cause rendering issues.
  • Removed the obsolete "gl_ztrick_old" CVAR. Setting this CVAR to "1" caused rendering issues on some systems.
  • Renamed the "graphheight" CVAR to "net_graphheight" (consistency with the other net_graph CVARs).
  • Restored API/ABI compatibility with vanilla GoldSrc/Metamod-P. The custom Sven Co-op Metamod-P build is no longer necessary (and in fact won't work anymore).
  • Server to client file transfer: All .as .rc .cmd .sh and .bash files are now blocked explicitly.
  • Server to client file transfer: Files transferred over network can have extension of any length now. (Previously only 3-character filename extensions were allowed.)
  • Setting the "gl_picmip" CVAR value too high or low no longer crashes the game. You can now play the game with 1 x 1 pixels textures if you really want to.
  • Skybox textures can be up to 1024 x 1024 pixels in size now.
  • Sprite textures are now clamped correctly to prevent edge artefacts when rendering masked sprites.
  • The "cmdlist" command can now print command names longer than 16 characters.
  • The "cvarlist" command now detects all standard CVAR flags. Improved formatting.
  • The "gl_dump" CVAR now prints all OpenGL extensions no matter how many there are. Prints one extension per line for better readability.
  • The "screenshot" command now saves files to the "screenshots" sub-folder and uses the same naming conventions as the "snapshot" command ("screenshot" saves TGAs, "snapshot" BMPs).
  • The engine can handle up to 64 different screen resolutions now (was 32).
  • The engine no longer checks whether the loaded game/mod supports SDL input every time the mouse is moved.
  • The engine no longer crashes if the game/base directory paths are enclosed in quotation marks.
  • The engine no longer crashes when unused sprite handle is passed in by the client library.
  • The engine no longer loads the unused "cached.wad" and "fonts.wad" files (only used by the old WON builds).
  • The engine now checks BSP and WAD versions correctly. Only BSP version 30 and WAD version 3 is accepted.
  • The engine now ignores the .sc event files when "ignore_event_files" is set to "1" in liblist.gam.
  • The engine now respects the TGA origin bit. TGA textures that use the origin bit incorrectly may appear upside down. This can be fixed by flipping the image vertically or by changing the origin bit.
  • The engine now shows an error before shutting down if the file system library or the Game UI library fails to load.
  • The engine now shows more informative error messages if the client library fails to load.
  • The engine now uses the BMP skybox texture set as a fall-back if the TGA set isn't available.
  • The liblist.gam file is only loaded and parsed once now.

Sound engine

  • Adjustments to EAX presets to sound closer to Half-Life. (Has much room for improvement.)
  • Continue to process materials/sentences files if an empty or too long definition is found (just ignoring the bad material/sentence) rather than just discarding the lot.
  • Remove volume divisor; volume is no longer based on 2.0 maximum.

Non-playable characters

  • HWGrunt: Revised Heavy Weapons Grunt's fallen minigun search/pick-up logic.
  • Robogrunts: Can now fire the: M16A2, sniper rifle, rocket launcher, MP5, etc. Animation support updated for M16A2. Friendly version of Robogrunt has slightly higher voice pitch.
  • MoveToTarget() will no longer overwrite the m_vecMoveGoal previously defined.
  • TASK_MOVE_TO_TARGET_RANGE will set m_vecMoveGoal without using a model's head bone lookup.

Weapons/Items

  • Custom weapon properties are no longer discarded when the weapon is dropped (important for some scripted weapons).
  • Fixed an issue with the view model moving slightly to one side and then back to the centre when player rotates the view left or right. (This was only noticeable when using custom weapons with iron sights.)
  • Weapons with custom model definitions no longer revert to the default model when dropped/thrown.
  • [MP5] The weapon plays one of the 3 fire animations randomly instead of using just the first one.
  • [SAW] Fixed 2 firing sounds not being pre-cached.
  • [Uzi] Fixed an issue where some of the ammo would not get transferred to player's ammo reserve when picking up second Uzi.
  • [Uzi] Fixed Uzi/akimbo Uzi HUD icon not updating correctly on weapon pick-up.

Other

  • Fixed Linux client crashing on shut down.
  • Fixed MP3 playback not working on Linux.

Maps

Half-Life Single Player Campaign

  • Added missing weapon_m16 line to first half of HLSP maps when you should have picked it up by then.

Psyko

  • Fixed ammo entities jumping up and down in the boss battle arena.

Stadium 4

  • human_grunt_ally, human_grunt, robogrunt, and male_assassin weapons are now randomized when spawned. The map will spawn each NPC with a unique weapon each time the button is pressed, until it runs out of unique weapons and starts over.
  • Implemented new mortar ammo sprite by Hezus.
  • Reduced world poly in top-down camera by 150.

They Hunger: Episode 2

  • [TH_EP2_02] Possibly fixed the Zork unveil sequence stalling issue.

Scripts

Map Scripts

  • [survival_generic] Added "void DisableSurvival", which can be called by a trigger_script entity to disable survival mode during a map.

Plugins

  • [PlayerDecalTracker] Fixed PlayerDecal() method conflicting with a class name. (Symbol search order was fixed in the latest AS version.)
  • [Vox] Can play any Vox message without pre-caching it.
  • [Vox] Now uses the newly exposed SVC_STUFFTEXT message to issue "spk" command on client side.

Models

NPCs

  • [HGrunt] Corrected seams on the Opfor grunt backpacks.
  • [HGrunt] Fixed issue with aiming/firing oscillations.
  • [HWGrunt] Fixed smoothing groups and adjusted UV maps.
  • [RoboGrunt] Corrected weapons bodygroups.
  • Replaced the old muzzle flashes with new particle-based versions for all grunts (robogrunt, hgrunt, Opposing Force grunts).

Weapons

  • [MINIGUN] Fixed smoothing groups and adjusted UV maps.
  • [MP5] Corrected the muzzle flash events on two of the MP5's firing animations.
  • [P_MINIGUNSPIN] Fixed turbo-speed animation error.

Other

  • [ERROR] Added a "death" animation to the error model, so that mappers can "kill" NPCs with missing models and be able to walk through them.
  • [SCIGUN] New and improved Scigun cinematic model (seen in hl_c13_a4) that has much better animation alignment and matches shotgun we use.
  • Added MP5 muzzle flash sprite cleaned up by The303.
  • Added new Opposing Force player models, and re-made colour changing camouflage on all previous 'OP4' player models.

Sounds

Materials

  • Added nightwatch girder textures as metal materials
  • Fixed 'GLASSGREEEN' typo with three E's
  • Fixed some metal 'fifties' door textures having wood material sounds
  • Removed all instances of '+' and associated numbers, which also should not be in materials files.
  • Removed all instances of '{', which should not be in materials files.
  • Removed texture duplicates from the list, which sometimes had different material types

NPCs

  • [Human Grunts, RoboGrunt] Added footstep sounds to all grunt models.
  • [Robogrunt] Updated Robot Grunt with new phrases

SDK

FGD

  • [light_environment] Added _spread and _diffuse_light key values.
  • Added "zhlt_noclip" to base class "ZHLTbmodel".

StudioMDL

  • Added support for 1024 x 1024 pixel textures.
  • Now supports up to 128 sub-models.

Hammer WAD configuration manager

  • Uses .NET Framework 4 (client profile).
  • Fixed left list views not scrolling downwards as expected.
  • Fixed duplicate WADs being sent to Hammer.
  • Hidden move up/down buttons as they don't work.

Other

Delta

  • Possibly fixed "Cache_UnlinkLRU: NULL link" error.

Game manual

  • Mapping configuration: Corrected "sv_zmax" value.
  • Mapping configuration: Removed "weaponmode_357".
  • Maps: Added missing map screenshots, and updated the thumbnails and full-size screenshots for several maps (but not all).
  • Maps: Added Robination.
  • Maps: Added Suspension.
  • Maps: Added Warforts.
  • Maps: Copied images to "thumbs" folder.
  • Maps: Renamed Last Stand to New Hope's Last Stand.
  • Server configuration: Corrected "sv_downloadurl" about HTTPS rumors. -- HTTPS is currently NOT tested or supported.
  • Server configuration: Corrected "sv_zmax".
  • Server configuration: Corrected "sys_ticrate".
  • Server configuration: Mentioned how to disable vote types.
  • Server configuration: Merged "Sven Co-op specific variables" into "Multi-player variables".
  • Updated credits list.
  • Weapons: Removed duplicate grapple textures image.

Misc

  • Added "suspension" to the map cycle and map vote configs.
  • Added new Opposing Force player models to the command menu.
  • autoexec.cfg: Added cl_filterstuffcmd "1" to force stricter "stufftext" filtering rules.
  • autoexec.cfg: Changed "gl_max_size" from 512 to 1024.
  • Fixed orientation of the forest512 and fodrian sky box textures. All of them were upside down, but since the older engine builds didn't respect the TGA origin bit, it was rendered correctly in-game.
  • gameui_english.txt / OptionsSubVoice.res: Removed the "Uses Miles Sound System" notice from the Voice Options tab. (the engine uses Steam voice system, not MSS for voice communication)
  • gameui_english.txt: Added new UI string "GameUI_NoMultiplayerMaps"
  • Removed tf_original from map cycle (you are supposed to vote for turretfortress.bsp)
  • Removed the (now unused) *.sc event files.
  • Removed the empty game menu logo files.
  • Removed the unused "fonts.wad" file.
  • Removed unused "gfx" files.
  • submerged_addons.wad is now included with the game.
  • zhlt.wad updated to match Vluzacn's VL34 build.

Version details

Steam build ID numbers: Game 3082297, dedicated server tool 3082299, SDK tool 3082300.

Please use the steam build ID number as a reference when posting an issue or query on our message boards. You can find the build number you currently have within Steam by right clicking our game or tools, selecting Properties, then selecting the Local Files tab.

 

Svenworks: Digital Distribution faces Analogue Retribution
02 April, 2018 | by Hezus

View Comments  

On April 1st, we announced our new digital distribution platform for co-operative gaming, SvenWorks. The initial repsonses of the community were overwhelmingly positive and we were more eager than ever to make our vision of co-operative play a reality. But then the emails from other developers came flooding in on the evening of April 1st.

In previous business meetings, all the game developers were quite happy with our plans to re-release all of their games on our platform (especially the huge gain in sales!) but we might have failed to mention that we were going to alter their games to our vision (whoops!). They were far less pleased when they learned that information from our news post on April 1st. Suddenly no-one wanted to release their games on SvenWorks anymore. Boy, did we feel like a bunch of fools.

So, sadly, we're going to have to pull the plug on our SvenWorks project. On the bright side, this gives us more time and energy to focus on the development of Sven Co-op, which is all about co-operative play! Stay tuned for new updates in the near future or on April first of 2019!

 

Svenworks: Digital Distribution Gets Social
01 April, 2018 | by Hezus

View Comments  

Today marks a turning point in the history of Sven Co-op. We're finally able to show you what we've been working on over the past few years and we hope you are all as excited as we are! We are proud to present:


What is Svenworks?
In short, Svenworks is a digital distribution platform especially created for co-operative gaming! Next to playing Sven Co-op obviously, you'll be able to enjoy the full range of gaming titles supporting co-operative mode!

How does Svenworks work?
Just as on other platforms, you'll be able to purchase games from our catalogue. Our focus is co-operative play and therefore co-op mode is available to all titles, even those that did not support this mode before. This is a huge advantage over Steam or Origin and with Svenworks you'll never encounter hostile players since all deathmatch modes have been removed. Even titles that only feature single player mode, can now be played in co-operative mode! Our patented matchmaking system will find another player for you to play with while you wait in the game lobby!

Our revolutionary GUI integrates our two basic principles: Games and Friends! Cycle through your games library or friends list with the arrows. The Svenworks button in the center takes you to the game catalogue and personal settings. It's that simple!

Why Svenworks?
As Valve and EA have shown us, the future of Online Gaming is not within the game itself but within the platform supporting those games. By moving our team effort to this new venture we hope to create additional revenue and thus create better games. With these additional funds our team can spend more time on our core business: making Sven Co-op an even better game! We're thinking about adopting an episodic approach to future releases.

What does the future of Svenworks hold?
We're adding new games to our catalogue on a daily basis so you'll be able to play more and more games with your friends! Achievements are currently in development and also trading cards are in the making. Trading cards must be shared with other players at all times to ensure co-operative play! Last but not least, we're currently in the alpha development stage of our very own Svenworks Controller! Have a sneak peek at the prototype here! The current estimated target price for this product is only $89,99! Note that you are required to order a minimum of 2 controllers, because of the co-operative nature of all games!

How to join Svenworks?
Svenworks is still in active development but you can apply for a beta key on our Forums! Make sure you register and then sign up by replying to this thread or click the button below! You will receive a download link and your beta key within 24 hours!

 

Sven Co-op Update Released [Build 2502859]
09 February, 2018 | by AdamR

View Comments  

An update for Sven Co-op has been released. If you are running a dedicated server please use SteamCmd to update your servers. Those of you that were using the public release candidate can remain to do so, as this branch now matches the standard branch.

Changes are as follows:

Notable changes

  • Lots of updates to the new They Hunger: Escape map.

Code

Game library

  • Cross-map inventory: Fixed an issue where stored ammo types would get mismatched under certain conditions. (This typically happened if classic mode was enabled/disabled shortly after the last level change.)
  • Doors, platforms, and trains (not track train) can now set key "movesnd_loop" to make their moving sound play looped until the brush stops moving. (Set to 1 to enable.)
  • Fixed an issue where entities spawned via trigger_createentity wouldn't get initialized/spawned properly.
  • Fixed an issue where position of custom HUD elements would get clamped incorrectly in some cases.
  • Fixed an issue where the voice chat labels would overlap if two or more players were talking at the same time.
  • func_tracktrain: All speed related variables are now floats. Fixes an issue where trains with speed lower than 1 wouldn't move at all (i.e. the scissors on ragemap2012_2).
  • func_tracktrain: Fixed an issue where the "speed" keyvalue of the next path_track entity would be ignored if the new speed was higher than the maximum train speed.
  • game_end: Fixed the most recently shown player HUD message showing again during the intermission.
  • HUD debugging statistics will now show the client/server address and port if available.
  • More consistent line buffer length (512 chars) and comment formatting ("//", "#", rather than one/both/mix/match/wtf) when parsing configuration files, material lists, and replacements.
  • Moved the persistent inventory flushing out of "game_end" and into the intermission function, so other things changing level by intermission have the chance of clearing cross-map inventory.
  • myinfo/thatinfo: Added print-out for "takedamage", "gravity", "friction", and "speed".
  • myinfo/thatinfo: If the entity model is brush based show "Model number: x" instead of "Model file: *x".
  • myinfo/thatinfo: Water and cheats string tweaks.
  • Say alias "/me" now works in team say too.
  • Server command "reloadadminlist" to reload the list of administrators at run time. (Can be used in RCON.)
  • The server no longer sends gmsgCurWeapon message every frame to all clients with no active weapon.
  • trigger_changelevel: It will no longer try to read in a map name if it's going to be too long. (32 characters maximum.)
  • trigger_changelevel: Now creates a log message when a level change is about to happen, in a similar style to "game_end".
  • trigger_changelevel: Now creates a player HUD message when a level is changing so it's more obvious as to why a brief freeze may be happening.
  • trigger_multiple: Fixed touchers never being forgotten about when the "fire on enter" flag is set but "fire on leave" is not.
  • trigger_multiple: The "inventory rules failed" trigger will now impose a reset time when run so it doesn't run every frame.
  • Voting: A successful map vote will now use the intermission so players get a chance to see why the map is suddenly changing. (More like "game_end" instead of "trigger_changelevel".)
  • Voting: Players are now shown in their console what kind of vote passed/failed, rather than just "Vote failed".
  • ¯\_(ツ)_/¯

AngelScript

  • Updated AngelScript to version 2.32.0.
  • Updated 'ASString' to use the new 'asIStringFactory' interface. (String literals can now be reused to save memory.)
  • CPathTrack: Changed the recently added "int m_iMaxSpeed" and "int m_iNewSpeed" members to "float m_flMaxSpeed" and "float m_flNewSpeed".
  • Exposed map class methods to map and plug-in scripts:
    • 'LoadGlobalSkillFile()': Reloads the global skill file.
    • 'LoadMapSkillFile()': Reloads the standard map skill file (_skl.cfg).
    • 'LoadSkillFile( const CString& szFileName )': Loads a custom skill file.
  • Exposed CBasePlayerItem::LoadSprites(). Can be used to load a different set of HUD sprites for a given weapon.
  • Fixed some of the CEngineFuncs documentation strings.
  • Fixed the previously unnamed 'iAttachment' argument of 'CEngineFuncs::GetAttachment()'.
  • The global "CMap" instance (g_Map) is no longer a constant.

Engine

  • Fixed a crash due to a race condition with console debug log handle when many many log messages are written in a burst.

Sound

  • Client command "cl_flushsoundcache": Forcibly delete all client-side sound list files, with the exception of those that may still be needed for a listen server to work.
  • Client command "cl_flushsoundcache_force": Forcibly delete all client-side sound list files, including those that may still be needed, which may make a listen server un-connectable until the map changes.
  • Client sound engine will now flush all downloaded sound lists when it starts up and shuts down, and when a server is disconnected from.
  • Server command "rebuildsoundcachefile": Forcibly re-build the sound list file for players to download without having to restart the map.

Non-playable characters

  • Stukabats can deal damage again (sk_stukabat_dmg_bite skill CVAR is now registered correctly).

Weapons/Items

  • Fixed an issue where non-mapper placed weapons would get affected by the mp_weaponstay CVAR, preventing them from being picked up.
  • The currently active weapon is no longer changed for no reason when one of the inactive weapons is dropped.
  • [Crowbar] Fixed an issue where thrown crowbars could be duplicated.
  • [Minigun] Fixed an issue where player could pickup minigun while holding other "exclusive" weapon.
  • [Satchel] Fixed satchel football causing an infinite loop while touching. There is now a 5ms delay between each slide movement.
  • [Shock Rifle] Fixed an issue where multiple players could use the same shockrifle (causing strange weapon behaviour and crashing the server when dropped).
  • [Uzi] Fixed an issue where the weapon view model would glitch out when inactive akimbo uzi is dropped.

Maps

They Hunger: Escape

  • Added a new room with a shotgun and a zombie cop ambush spawn to the alley next to the ambulance.
  • Added fold-able wooden barricades next to the burning tunnel debris, visible only when the tunnel is blocked. (Should make it more obvious that this is the only route through to the other side.)
  • Added fold-able wooden barricades to downtown sewer entrance if toolbox spawns there.
  • Added infinite spanner spawn to sewer next to where the toolbox sometimes spawns.
  • Added missing civilian models to the permitted player model list.
  • Added sewer labels to all three sewer tunnels surrounding the truck to prevent players getting lost so easily.
  • Added sewer steam to make the entrances more noticeable.
  • Added skill configuration, with level 1 being normal difficulty, and level 2 being hardcore:
    • Barney now does 2 points less damage with his pistol in both modes.
    • Bullsquid has less health and does 5 points less spit damage in normal mode.
    • Otis cops (sheriff included) now do 25 damage instead of 37 in both modes.
    • Snarks deal 5 damage per bite instead of 10 in normal mode.
    • Zombies do 5 less damage per swing and 10 less damage per double-swing in normal mode.
  • Added some lights to the map start room.
  • All downtown zombie spawns now use a "trigger_playercheck" master so that they aren't turned on when no one is there.
  • Colt 1911 handgun now respawns infinitely in the police station / ambulance / radio station.
  • Deleted female zombie that kept getting stuck in church upper hallway.
  • Deleted 'random civilian' spawnpoint in the train station that wasn't near any weapons.
  • Disabled a couple of debug messages in the scripts.
  • Extra minute is added to the time limit if the game is started with 4 or less players.
  • Fixed crappy brushwork with holes in it on the roof of the train station and the hallway connected to the church.
  • Fixed police tunnel roof being "func_detail", which made it so that everything in the tunnel rendered whenever you looked over at it from above.
  • Fixed some pretty bad cylinder face carving issues.
  • func_trackvehicle: Updated the script to match the recent API change.
  • Hardcore mode is now forced for 16+ players, rather than 10+.
  • In the "jail" lose cutscene, two players will now spawn in either cell and the rest will fall through the collapsing ceiling (only if there are any more than two living players at the end of the round, which is somewhat rare).
  • Made the unbreakable train depot door metal instead of wood so that dumb people don't pound on it for days trying to break through.
  • Sewer treatment engineer 3 now spawns with a spanner.
  • Sheriff now spawns in both normal and hardcore modes, rather than just hardcore. Sheriff has less health in normal mode.
  • Umbrella in pawn shop now respawns infinitely.
  • Window glow in the gas station garage is slightly brighter, so that players can actually see the toolbox if it spawns there.

Models

Weapons/Items

  • Reverted seasonal candy stick crowbar.

Sounds

Weapons/Items

  • [SAW] Added missing SAW belt/deploy sounds.

SDK

FGD

  • Added key "movesnd_loop" to doors and platforms. (Drop down yes/no.)
  • Fixed few default values that were defined as integer where string was expected. (Improves compatibility with some 3rd party tools, i.e. TrenchBroom.)
  • Fixed the monster_babycrab model name.

Other

Game manual

  • Corrected value for disabling "mp_timelimit_empty".

Version details

Steam build ID numbers: Game 2502859, dedicated server tool 2502860, SDK tool 2502861.

Please use the steam build ID number as a reference when posting an issue or query on our message boards. You can find the build number you currently have within Steam by right clicking our game or tools, selecting Properties, then selecting the Local Files tab.

 

Sven Co-op's 19th Anniversary
19 January, 2018 | by Nih

View Comments  

Well, well. Today marks the 19th year of Sven Co-op's existence. That's a lot of years. In honour of this "very special" number, I decided to take the opportunity to write a few words about the game that has taken up so much time of my life.

As a lot of you may know, Sven Co-op started as a Half-Life modification created by Daniel "Sven Viking" Fearon in 1999. At the time it was nothing more than a single custom-made Half-Life level, svencoop.bsp, which had had NPC enemies enabled by the setting of a cvar. As no development kit had been released for modders at the time, there was no custom code. Gradually people started joining Sven Viking's project, contributing the skills they had in programming, level design, modelling, and so on. A lot, if not most, of the contributors were teenagers. The mod's popularity kept growing, and a vibrant community arose, with people creating custom levels, models and other content on their own initiative.

When Half-Life 2 came out in 2004, Half-Life 1 modding took an immediate hit. This was when Sven Co-op's community started to show its unique strength, because while other HL1 mods seemed to lose players at an ever increasing rate, Sven Co-op, after a small initial drop in players, somehow managed to retain almost the same player count right up until the game's Steam release. Mind you, my memory is a bit fuzzy. However, the increasingly antiquated state of Sven Co-op became clear in other ways. It became difficult for the developers to find new people interested in contributing to the development of the game. An ancient game with outdated graphics and a slowly dwindling player base just didn't seem that appealing in comparison to more modern and lively games - especially for people with ambitions of entering a career in game development. The stream of community created content also slowly dried out. The graph below, gathered from scmapdb.com, shows the quantity of map releases (and major map updates) over time, clearly revealing a downward trend since Half-Life 2's release, with a brief resurgence around the release of SC 4.0 in 2008 (which had been in development for 5 years). As you can see, things weren't looking great near the end.

Sven Co-op's release as a free game on Steam in January 2016 was like a rebirth, as it introduced the game to a much larger audience. No longer did you have to convince your friends to shell out money to play Sven Co-op with you. The huge wave of players that came out on the release date was overwhelming and it was a day of huge excitement for me, but it was clear the release was also troubled by some technical issues. As an example, in internal testing our well-coordinated testers had always lined up to use the same battlefield teleporter in my level, Fortified, but on the many chaotic 20+ player servers that appeared, people would enter both teleporters at the same time, resulting in massive-scale telefragging. Sorry, my bad. The team scrambled to fix the issues that appeared in the release, but you can't stop the inevitable. The enormous new boost in players could not last forever and gradually declined, hitting a stable level after a few months. A level that seems quite close to when the mod peaked.

Sven Co-op has come a long way since its humble beginnings, and it's impossible to say how many years it will continue to last. If you travelled back 10 years in time and told me that Sven Co-op would still be played today, I would not have believed it. Being a game based on around fighting predictable AI, rather than unpredictable and intelligent players, one would not expect it to have much replay value. It's clear that the longevity of the game can be attributed to the countless people in the community who have put in their time and effort to create new content for the game, keeping it fresh, as well as the many server operators who have fostered a sense of community among the players. The development team is just an extension of the community; players who have grouped up to work together towards a goal of improving the game and keeping it alive. It's a rather chaotic and directionless group, where people work on whatever project catches their interest, and where people tend to come and go as they please. We have no PR guy or spokesperson; every person on the team speaks only for themselves. And this is how we like it. We have no intention of barking orders to anyone; because in the end we're all just here to have fun. And fun it is. It has been an amazing experience to work with so many people from all over the world, with different backgrounds, personalities, and opinions about the game, all of whom share a great enthusiasm for our old friend Sven Co-op. A few of us have stayed on board for over a decade, including me, and have gone from careless and free teenagers with all the time in the world, to old and grumpy adults who struggle to find any time at all for the game. It's clear that if the game is going to last forever, as we dream of course, we're going to need some more fresh blood. So... Come join us.

Here, at the end of my rant, I would like to thank, from the bottom of my heart, the entire community which has made this game what it is. If I were to compile a list of all the people who have contributed to the game, it would seem endless, and I would have trouble finding my own name within. So thank you all, and thank you again. And thank Valve, of course. And if anyone is in the mood, come reminisce about old times in our Discord channel. All the cool kids, and also the devs, hang out there.

- Nih



Sven, do you think we can fly? I do.

 

Powered by Coranto

[News Archive]



Sven Co-op


 

 © 2019 Sven Co-op. All Rights Reserved. Site design by [ Sniper ]