This build is a fairly minor one for most players, but a big one for server hosts and one of our interns, Cameron1010.
The build contains the first public release of Cameron's code: a totally overhauled API Client. The old API Client was originally meant to be a proof-of-concept, but found its way into production and burrowed in deep. Cameron opted to take on this project and worked with us on designing and implementing a suitable replacement, and disentangling the old client from the engine where needed. Congratulations to him for seeing this project through!
The new API Client uses the same tried and true dependencies of the previous one, but takes a more modern, maintainable approach to the problem. There might be a bit of a bumpy transition as we move things over, but it's been quite extensively tested throughout development.
The only other changes this build are an update to maps, and a single bugfix (missing KDR on scoreboard).
The community-sourced maps have been very much a mixed bag; this build sees a lot of them modified and a few new ones added as a result of feedback.
an_obamananationAlientAntAssault - reduced sky height
ffsffClassicWar2 - reduced bedrock
- added islands
ffsffSecludedForest - opened up mid
- lowered hills
ffsffUnderhangPit2 - lowered hills, more flatmap-like now
- optional tunnel underground for tunnelers
JTG_FirstBadLands - increased stone around tent
MazeyRioter - opened up mid
- tent area closer to edge of map
Punk123AlienFrogAssault - reduced sky height
Punk123Hillo - it's different
Keep the feedback coming! You can check the name of the map in chat at the start of each game now, so please let us know which one you're talking about!
Also, Please let us know asap if you have any issues that you think are a result of the new code, and include information about what OS you're on at minimum, please!
This is a minor build with a small pass of fixes for issues that came up with the last build.
The terrain resolution stuff has been replaced (again!) as the previous approach was causing lots of troubles. This one basically tries a widening search for a "safe" location, but because an exhaustive search would be incredibly CPU-intensive, it tries a stochastic (partly random) search. This means it will not always find optimal solutions and there's still "jumping"/"teleporting" - but hopefully it's "good enough" for the rare cases you get stuck in terrain anyway.
Let us know if you have new troubles with this new approach! If there's still major trouble, we'll go back to the original solution. Finding a good, reliable solution for this that works with the existing physics implementation and over the network is a nightmare. If it turns out to be a beehive, we'd rather go back to a known-tolerable solution than keep kicking it.
Other Fixes and changes in this build:
Vote pass/fail rules changed there's been a lot of complaints about this one, so we've tried another system suggested by the community. To pass, the yes votes must at least outnumber the no votes by 2. This still works with low participation (2 votes vs 0, or 3 votes vs 1) but requires a firm majority. We'll open discussion on a better solution for this long term as soon as we can.
Boulders not attributing kills has been fixed.
Arrows no longer collide with hearts There's some disagreement within the team about exactly how these should behave, but for this build at least, arrows do not collide with hearts, and have a smaller collision shape as well.
A few GUI tweaks to fix things that were out of alignment and hard to read.
Fixed crates falling through platforms.
Let us know what you think, and Have Fun!
[fixed] crate falls through platform
[fixed?] potential fix for "stun stuck" bug - not certain!
[modified] vote pass rules - now requires yes > no + 1
[removed] arrows colliding with hearts
[reduced] size of heart collisions
[fixed] boulder doesn't attribute kills
[modified] ctf respawn time drawn in bigger font
[modified] centred inventory amounts printout
[added] different (stochastic) stuck-in-map resolution
This build is a small round of engine changes and tweaks before we take on replacing the API Client code.
The existing API Client has long been a thorn in the side of server hosts, with intermittent crashes and cryptic error messages. As such, it's been largely rewritten (thank cameron1010!) and we're getting it ready for production now.
The changes in this build are all fairly small (though I'm sure everyone will have their own opinion on that) except for the physics engine change. The resolution against terrain has changed a little and "might" fix the bugs causing clipping into the terrain with lag, and should improve the resolution of that when it happens.
Please test it as much as you can and provide feedback on anything that needs improvement.
Other changes that more than 5 people will care about include:
Player markers not visible in darkness - so you can't mark someone to see when they're tunnelling.
Mines can no longer be "stolen" by players on the same team as the owner for free kills. Kills will be paid to the owner unless the mine changes teams.
Slower drowning/faster air regen to make water cause fewer stalemates.
Admins can freeze kegs and people on siege engines
Picking up placed components no longer possible
Chat private messages - I'll let norill explain how this works in detail on the official forums, but the short version is if you tab-complete someone's username the message will go directly to them and be shown in a different colour (currently orange).
Map name shown in chat at the start of the round.
Clantags up to length 10 can be used. This feature is in testing and needs feedback - particularly if it's vulnerable to abuse.
Man the Oars achievement bug fixed.
The rest of the changes can be found in the changelog.
Have Fun! Max
[modified] corpse hp to 3 from 6
[fixed] player markers visible underground
[fixed] player markers not working when dead/spectator
[modified] better clanmate auto marking
[added] reason strings when votekicked
[removed] bombs colliding with hearts, burgers and other food
[added] fish now die of old age
[added] dead fish rot away after a minute
[modified] fish should now be less likely to cluster
[added] scoreboard team playercounts
[fixed] spectators having their names dimmed on scoreboard
[modified] decreased "teams imba" spam (20s -> 1m)
[updated] KickAFK.as rewritten to work more reliably and only on client
[fixed] cant use grapple while standing at map egde
[modified] un-overlapped resource-counts over 1000 on the hud
[modified] slower drowning (5s -> 6s)
[modified] oxygen meter replenishing twice as fast, 1st gasp refills more
[added] halls pick up scrolls
[added] admin afk kick immunity
[removed] team mine stealing
[added] admin keg freezing
[modified] no siege firing while knocked/frozen
[added] match time synced from server (prevents time starting from when you joined the server)
[fixed] picking up placed components
[added] runners drop all held objects while they're dead
(instead of just when they die)
(possible fix for "floating item when pick up corpse")
[added] mitigation for one type of DOS attack on servers (tcpr connection spamming)
[fixed] stars not covering whole sky
[modified] more realistic stars
[modified] better star twinkling
[modified] same sky on all maps/resolutions unless explicitly provided custom starmap seed
[added] function parameter names in angelscript autodocs
[added] chat private messages (works with tab-completed usernames, shows different colour)
[modified] max clantag length to 10 (testing)
[fixed] incorrect months in blacklist entry timestamps
[added] map name in chat
[added] resetting CControls.lastKeyPressTime on join
[fixed] platform collisions being ignored by certain objects/asymmetrical collision rules
(fixes "flag collides with platforms")
[added] new "stuck in terrain" resolution
(might fix fall through terrain bugs)
(definitely fixes stuff flying around unpredictably when in terrain)
[fixed] crash on syncing uninitialised properties
[changed] [Player muted on this server] spam toned down from 1min to 1h
[fixed] man the oars achievement not always properly unlocked