v2.00c -> v2.00e Changelog
This is the self-extracting 2.00e patch for Savage. Just point the installer to your Savage directory. You will know the patch has installed correctly if you see "Savage 2.00e" at the bottom right of the screen when the game starts up.
This patch includes authentication and server list fixes. The server browser and authentication systems have been completely rewritten. All game servers
will now show up correctly.
2.00b to 2.00c Changelog
- Fixed a flaw in the reliable packet sending code which was causing clients to sometimes get dropped between maps or receive bad data on a server connect
- Fixed a bug where the world config file wasn't getting loaded on the server, causing servers to use the wrong farclip setting when determining which data to
send. This fix should reduce traffic somewhat.
- Added extra client side network debugging info when cl_debug and con_developer are on
- Never add teammates to the client's exclusion list
- Added in some extra information for people running "speedtest" demos, namely average FPS and total frame count, so clients interested in that may want to
download this patch also
Savage 2.00b change log
- Fixed bug where creating a new user account would not work.
- Fixed bug with string table lookups, occasionally causing "warning" sounds to not play ("our stronghold has been damaged", etc).
- Fixed performance issue caused by invalid model load attempts by the game.
- Added "mediainfo" command which displays the number of invalid and valid media loads.
- Added lots of nice performance info to "showGamePerf". shows the client frame in much more detail than it did previously.
-3 new maps! Alpenglow, GlacierPoint, and SacrificeLedge
-Added new human unit, Chaplain (Heals, resurrects and buffs team mates)
-Added new beast unit, Shaman (Heals, resurrects and buffs team mates)
-Added new human structure, Monestary (research and upgrade Chaplains)
-Added new beast structure, Sanctuary (research and upgrade Shamans)
-Chaplain can give a health buff by throwing bottles
-Shaman can shield friendly units by firing a protection beam
-Added XP rewards for healer units and a "Best Healer" award at the end of the match
-Added "need healer" voice chats
-Items are no longer used instantly when their inventory number is pressed, instead they are selected like weapons (with the exception of "passive" items, which are always active and cannot be selected)
-Decreased the minimum number of voters for a vote to pass
-Votes no longer pass until the time is up or there is a clear majority
-Added vote status bar
-Added server side variables for disabling different types of votes, and stopping a vote in progress (sv_disableVoting, sv_enable*Votes, stopvote)
-Added new vote: "callvote kicknum", kicks a player by their ID (ID can be obtained with "listclients" command)
-Addad new vote: "callvote race", changes the race of your team (only available during GAME SETUP mode)
-"Extend Time" vote now extends time limit by 10 minutes instead of 5.
-Added "flyby effects" to projectiles (a rocket will shake the camera as it passes by, arrows make a "whizzing" sound)
-All weapon sounds can now be heard in 3rd person
-Siege weapons now orient themselves to match the terrain they are on
-Improved knockback physics. Each unit now has a "mass" setting that affects knockback.
-Added camera shake effects for explosions, behemoth, etc
-Behemoth kicks up dust as he walks
-Improved graphics, sounds and effects for most weapons/items
-Projectile weapons now fire directly from the "muzzle" point
-Gave the ability for effects to be attached to any bone in an "animevent" (used for behe. footsteps)
-Dozens of new sound effects, including new ambient sounds
-Redesigned options screen, includes many new settings
-Added customizable crosshairs
-Added "Fire Scale" setting that increases or decreases the burning building effect
-Added "graphics panel" option which allows the graphics setting panel to be brought up while in the game
-New graphics for connection screen
-Added a warning message when your team does not have a commander
-Beasts can no longer leap unless they are holding their melee weapon
-Adjusted stun time when a melee attack is blocked on a per-unit basis
-Added a progress meter to the vote panel
-Improved pathfinding of AI units
-Improved look of notification messages
-Clan tags are now shown along with the icon on the scoreboard
-Added fog to commander view
-Server setting sv_goodiesForAll now defaults to 1 (any player on the same team can pick up gold/ammo drops)
-Mouse sensitivity automatically decreases when you are zoomed in
-Changed the way relocators work: Using a relocator will drop a 'marker' on the ground, which can be destroyed by the other team. The marker is replaced by a trigger in your inventory. Using the trigger item will teleport you to the marker, if it has not been destroyed. If you die or place a new marker, any old markers will be automatically destroyed.
-Changed the way disruptors work: A disruptor can be thrown like a grenade, and deals splash damage to the place it explodes. It no longer disables other player's ranged weapons, but does disable all "tech" towers.
-Immobilizers and snare now slow down units, but don't stop them.
-Increased behemoth health
-Items can now "stack" in your inventory (multiple items of the same type are held in one inventory slot
-Added a display to the loadout screen indicating how many items are available for deployable items
-Added "TEAM KILL" prefix to team kill notifications
-Changed the rules for team damage (servers enable via "sv_teamDamage 1"):
- only affects other players on your team, not friendly buildings or AI workers
- no XP is gained from killing teammates, and 1 point is subtracted from your kills
-Team damage is now enabled during warmup
-Decreased damage versus buildings for all non chemical/fire weapons
-Increased Behemoth health
-Disrupter no longer disables weapons, but now does radius damage
-Imobilizer and Snare now sllow players rather than completely freezing them
-Improved effectiveness of electric towers
-Suiciding will cause you to lose your gold, and spawn money bags for the other team
-Player mini map and spawn selection map now show unique icons for each type of spawn point
-Added "full tech" mode, which makes all weapons, items and units available from the start of the game. Servers can enable with "g_allUnitsAvailable 1" and "g_allWeaponsAvailable 1"
-Added server message of the day option (svr_motd1 to svr_motd4), prints to the chat buffer when a client enters a game
-Added "cl_playVoiceChats" variable (set to 0 to disable the voice chat sounds)
-Fixed various map exploits
Major graphics optimizations
-Improves performance more than 2 fold on some systems
-Includes optimizations to the skeletal animation system
-Added support for occluder polygons, allowing detail to be increased in levels
Complete rewrite of network code:
-Greatly improved reliability
-Decreased traffic usage by about 80%
-40+ player games are actually playable on a 56k modem, it's that efficient!
-Fixed issues with NATs sometimes changing the client's source port
-Improved connection scheme so that all server "state strings" are available to the client before loading the world
-fixed smoothness of client side prediction
Clients have a good deal of control over their network settings now via the following console variables:
-"netframes" - specifies the number of updates per second you want to receive from the server. Most servers will send 15 updates per second. Lowering the value may cause some events to be missed, but can make things smoother for slow connections.
-"netbps" - specifies the maximum amount of data you want to receive in bytes per second (56k ~= 4000, DSL ~= 15000)
-"maxPacketSize" - specifies how large you want your packets to be (ranges from 512 to 1500). Increasing above 1400 is not recommended. Lower settings may help slower connections.
-"cl_packetSendFPS" - specifies the framerate at which packets are sent from the client to the server
-type "net_showStats 1" to see current network usage on your client (warning: spams console)
Complete rewrite of sound code:
-Now properly supports 3d sound hardware (driver selectable in options)
-Fixed many sounds not playing when they should
-Fixed sounds getting "stuck" and playing repeatedly
-Fixed important sounds getting cut off before they were finished playing
-Improved the mechanism used for environmental and looping sounds
-Custom attenuation code gives a better feel to the "sound scape", and allows culling of unnecessary sounds
-Falloff tweakable on a per sound basis, and can be done in realtime in the engine
-Environmental sounds play in the editor, allowing the map designer to easily mould the sound scape
-Sound can be reverted back to software mode by typing "sound_softwareMode 1" at the console, then restarting the game (you can restart it automatically by typing "quit 1"). Do this if you experience sound problems. If you want to re-enable hardware mode later, type "sound_softwareMode 0" and again restart the game.
Demo recording and playback (commands: demo, demorecord, demostop)
-Typing "demo" alone will list all demos in the "demos" folder
-Output your demo to a series of PNG files by typing "demo_makeMovie 1" before playback
-Control the movie output via, "demo_movieFPS", "demo_movieDir", "demo_movieWidth", and "demo_movieHeight" cvars
-Typing "demo_speedTest 1" before playback does a performance test, running the demo as fast as possible and timing it (similar to Quake "timedemo")
-Pressing left and right arrow keys while playing a demo will adjust the playback speed. Pressing the up arrow will reset the playback speed. The "Pause" key freezes the demo.
Added "timescale" variable for speeding up and slowing down the game ("timescale" cvar)
Added spiffy "version" stamp (toggle on and off with the "version" command)
-Added auto-download feature for maps (server configurable download location,use svr_mapurl)
-The server's object list no longer has to completely match up with the client, as long as the client has those objects loaded into memory
New config system
-Key bindings and cvar settings are now automatically saved when exiting the
-"vidmode.cfg", "default.cfg" no longer used (you should delete them)
-"startup.cfg" (in the "game" dir) is now the main config for storing key binds and cvar settings
-All cvar settings can be "latched" before the cvar is registered with the engine using the "set" or "setsave" command
-"setsave" command will set a cvar and ensure it gets saved to "startup.cfg"
-LINUX USERS NOTE: "startup.cfg" will get saved to your "game" directory, NOT your ".savage" home directory, so make sure the game directory has proper write permissions
-"cvarlist" now lists all flags associated with that cvar
-Remote server commands (svcmd) no longer takes a password as it's first
argument, instead set the cvar cl_adminpassword, i.e:
>svcmd world eden
>svcmd kick loser
>svcmd secret world eden
>svcmd secret kick loser
-Server output from an svcmd is now displayed in your console as green text
-Added "svchat" command for server admins to talk to clients
-Added chat box to win32 dedicated server interface
-Added color support to the console (color code is ^ followed by one of the,
following leterrs: rgbcmykw, or three numbers representing RGB values
(^000 = black, ^999 = white, ^900 = red, etc.)
-Screenshots now default to this (use screenshotFormat and screenshotQuality cvars to configure)
Added "game script" system, used by all the items in the game
Added "virtual client" mechanism for MOD makers. Allows a server running via "devworld" to spawn in fake players that can be controlled
-"addvclient" adds a virtual client to the game
-"proxy [number]" switches the viewpoint and controls to the given client
-"cproxy [number]" allows controlling of a vclient while keeping the original viewpoint (use in conjunction with "cl_prediction 0")
-"vproxy" allows viewing through the vclient's eyes only
-"lookproxy" performs a "proxy" command on whatever vclient is targeted in your crosshair
Added "refset" command that can be placed inside .objpos files (inside the world .s2z)
-immediately after a "createReference" command, do "refSet [property] [value]"
-this allows the game to assign special properties to reference objects
-currently supported by the game are "refSet team [0-2]" and "refSet lives", allowing you to specify the team / lives of an object
-Example: "refSet team" could be used to create a level with NPCs allied to your team, buildings already placed down, etc
-no editor support for this yet, so this is only a "hardcore" map maker feature. (-:
-Added occluder placement tools
-Added .objdef setting "obj_invisibleToGame 1", which allows the creation of objects in the editor which won't be visible to the game, but will still link their collision surfaces and play and looping sound effect.
-Environmental sounds play in the editor, allowing the map designer to easily mould the soundscape
Misc bug fixes
-Fixed all issues with the chat windows (i.e. previous messages not being
-Fixed the infamous and elusive "spawn crash"
-Fixed command center/tower building exploit
-Fixed commander able to place buildings on top of players
-Keybindings for FPS mode are not lost after commanding and resigning
-Fixed most instances of weapon effects not showing up
-Fixed http transfers sometimes failing (this includes map downloading, clanicons and the server list)
-Fixed pathfinding degrading on servers that have been running for a long time
-Fixed black square sometimes appearing when you looked at the sun
-Fixed several instances of stats being sent incorrectly
-Fixed "stuck keys" on map restarts
-Fixed all known memory leaks, including a very significant one in the resource manager which was causing Savage to choke some computers
-Fixed all known crash bugs
-Fixed some instances of human sounds playing on the beast team and vice versa
-Fixed some typos in the sound stringtables and voicechat configs
...AND MUCH, MUCH MORE!!
More articles about Savage: Battle For Newerth