> Stable Builds
> Dev Builds
> Writing Plugins
> Script Functions
> C++ Reference
Monthly Target: $400
Raised This Month: $68
Amount Needed: $332
Hall of Fame
|Recent CS:GO "GSLT" bans and SourceMod
||Mar 02, 2016 18:29
|Most Counter-Strike: Global Offensive server operators are aware of Valve's relatively new server "guidelines" that have been posted on the CS:GO website, http://blog.counter-strike.net/index.php/server_guidelines/. However, there are still some users that are finding themselves having their accounts' Game Server Login Tokens banned without understanding why.
To try to help avoid users unintentionally triggering the rule-breaking detection in CS:GO, we have added a new opt-out feature that will block plugin behavior that we know to be triggering this. We probably haven't caught everything, and detection can change in future game updates, but we feel that this is a good place to start. It's also possible for plugins to bypass this intentionally or otherwise, but it covers the most common cases and we do plan to make it more robust with future revisions. This feature, controllable by the new "FollowCSGOServerGuidelines" option in SourceMod's core.cfg file (default "yes") is available in SourceMod builds 184.108.40.20601, 220.127.116.1168 and later. If you really desire to put your account in jeopardy, you can also disable it right in the cfg file with minimal hassle. None of the logic is active for games other than CS:GO.
With the "FollowCSGOServerGuidelines" option enabled, when a plugin attempts to use functionality that we know to be red-flagged, an error will be thrown. As with any native errors thrown in SourceMod, execution of the function will be halted and an error recorded to console and the error log. The error will give details on what specifically was done to trigger it.
|.: by psychonic
|SourceMod Development Roundup (1.7.2 - 2015/11/03)
||Nov 03, 2015 08:44
|This covers all commits to 1.7 since the release of 1.7.2.
Now that we're on a roling release cycle, I'd like to do a roundup like this semi-regularly (depending on interest and commit frequency) to replace the old release changelogs.
- The normal set of gamedata updates for numerous games.
- Worked around a case where client connections could desynchronize, causing authentication information to persist across players.
- Fixed a rare crash in the TF2 extension due to a missing IsFree() check.
- Fixed cases where IsCharAlpha/IsCharNumeric/IsCharSpace/IsCharUpper/IsCharLower could return incorrect data.
- Fixed ConVar.*Value property setters not working correctly.
- Fixed mouse movement values in OnPlayerRunCommand for TF2/CS:S/DoD:S/HL2:DM.
- Change default path ID to "GAME" instead of NULL for valvefs-using filesystem natives.
- Fixed SQL_SetCharset potentially misbehaving when used with threaded operations.
- Improve allocation policy for datapacks to save memory.
SourcePawn Fixes (Need to recompile plugins for these)
- Fixed an issue where some unary operators could return incorrect data.
- Corrected oversight with view_as<>(...) where it could compile with missing parenthesis.
- Fixed a compiler crash with invalid array initializers.
- Fixed parameter list of DBResultSet.IsFieldNull.
- Added support for Modular Combat.
- Added support for setting string_t Prop_Data fields (such as "m_target") to SetEntPropString.
- Added array support to SetEntPropString.
- Include datapack memory allocation in handle dump.
- Added new condition / holiday constants to tf2.inc.
- Added FindMap native.
- Added GetTeamEntity native.
As always, I'd like to thank the SourceMod team and members of the community contributing changes this period - including Powerlord, FlaminSarge, Thordin, WildCard65, and PeaceMaker.
Most interesting development takes place in the development branch (1.8) and I am currently working on a roundup of that (there is a lot!) - so hold on to your hats!
As for what is coming in the future...
This is all 1.8 changes since forking off 1.7 (also everything already listed above).
There have been a lot of commits moving around SM internals to facilitate future work.
Some stuff may have been missed, some stuff may have snuck in that is in 1.7.x before 1.7.2 - future updates will be a lot easier to compile.
- Corrected buffer sizes for player and map names in numerous base plugins.
- Corrected numerous spelling mistakes throughout the config files and API documentation.
- Fixed methodmap chaining using the wrong value when used as a default parameter.
- Fixed "sm plugins refresh" not reloading changed plugins.
- Fixed a misleading error message from "sm config".
- Increased buffer sizes for PrintTo*All stocks.
- Fixed FindFlagChar returning false when given custom6 flag.
- Notify plugin listeners of SetFailState'd plugins on unload.
- Pause dependent plugins on SetFailState.
- Fixed an issue with asynchronous queries potentially completing after plugin unload.
- Added support for Black Mesa.
- Added SetClientName native.
- Populate MaxClients before OnPluginStart is called.
- Added support for listening to, blocking, changing, and faking ClientCommandKeyValues.
- Introduced a datapack position tag to avoid common mishaps with SetPackPosition.
- Added GetMapDisplayName native to assist working with workshop maps.
- Added EmitSoundEntry native and updated AddNormalSHook with support for newer engine features.
- Added File Transfer hooks to SDKTools.
- Updated convar flags to match modern engines.
- Added offset printing to datamap dumps.
- Include date information in property dumps.
- Changed map history storage limit to be configurable (sm_maphistory_size).
- Added TE_SendToAllInRange native.
- Added GetEntityRenderColor stock.
- Updated large swathes of the API to use methodmaps.
- Removed methodmap native binding syntax.
- Moved the git revision to the 4th version number component.
- Removed lots of unused gamedata.
- Killed off the INativeInvoker extension API.
- Enable SDK independence with MM:S enabled extensions.
- Huge amount of refactoring moving code from Core to Logic (smaller download, faster builds).
- Huge amount of refactoring to SourcePawn VM internals:
- Faster, safer, easier to maintain plugin loading and unloading.
- New error handling model with better stack traces.
- All functions can now be used as callbacks.
|.: by asherkin
|Changes - Part 2: Rolling Release Cycle
||Sep 11, 2015 15:04
|SourceMod is now officially on a rolling release cycle.
What this means to you
There won't be any more "point" releases (1.7.3, etc). Instead, we're going to continue to make an effort to keep the stable branch stable, and better relay information about what has changed in each build.
Major releases with potential API breakage will still occur and will still have release notes, along with continued updates even after the branch is considered to be stable.
The old Downloads and Snapshots pages on the SourceMod website have been merged and now contain more useful information than before. There are immediate links at the top to download the latest build for your OS, as well as other recent builds displayed below with information about the changes in that build over the previous one.
Additionally, all builds (formerly referred to as snapshots) include full localization data as well as updated Geo-IP data, just like previous release versions.
We're still sorting out some small things, but most everything is in place now. If you come across any issues with these changes, please post a comment in this thread.
|.: by psychonic
|Changes - Part 1: Plugin Posts and Approval
||Sep 02, 2015 12:01
|We have two sizable changes happening, with the first one just implemented over the past day, and another coming soon with a separate news post.
Due to the huge number of new plugins being posted to share with users, and the small moderation team, there is no longer a line between "New Plugins" and "Approved Plugins". All plugins are now considered to be approved by default, unless a moderator ("Plugin Approver") marks it as unapproved due to breaking rules or being generally harmful. Plugin Approvers still have moderation rights in the section and can unapprove or re-approve plugins. The "Approved Plugins" and "New Plugins" subforums have now been merged, leaving only "Plugins".
Users posting plugins can post directly into this new forum, and not have to worry about users possibly being afraid to try plugins not marked as "Approved". Users are encouraged to use the forum's thread rating system to tacitly share their experience of how well a plugin is scripted and functions.
If you come across any issues with these changes, please post a comment in this thread.
|.: by psychonic
|SourceMod 1.7.2 and Metamod:Source 1.10.5 Released
||May 30, 2015 08:23
|SourceMod 1.7.2 and Metamod:Source 1.10.5 have now been released.
As usual for our minor releases, they primarily contain updates to game compatibility and bug fixes.
MM:S 1.10.5 adds support for Black Mesa (SM 1.8.0-dev or later still required), updates CS:GO support, and fixes an issue with game detection in Nuclear Dawn.
The entire SM 1.7.2 changelog is below:
- Updated game compatibility for the latest CS:GO updates.
- Fixed potential crash when using SDKTools GameRules_* natives.
- Fixed regression in v1.7.0 causing admin-sql-threaded plugin to not properly load admins.
- Fixed leak in plugin heap memory that could lead to "Not enough space on the heap" error.
See the release notes for the full SourceMod changelog.
You can get SourceMod 1.7.2 from the downloads page. Some support links:
Thanks to all community members that contributed, as well as the rest of the SM Dev Team.
|.: by psychonic