Raised This Month: $12 Target: $400
 3% 

[Any] Level KeyValues (Stripper:Source for nerds) (0.3.4, 2020-09-27)


Post New Thread Reply   
 
Thread Tools Display Modes
Author
nosoop
Veteran Member
Join Date: Aug 2014
Plugin ID:
6336
Plugin Version:
0.3.4
Plugin Category:
Technical/Development
Plugin Game:
Any
Plugin Dependencies:
    Servers with this Plugin:
     
    Plugin Description:
    Provides a nicer API for manipulating the level entity string.
    Old 11-11-2018 , 09:54   [Any] Level KeyValues (Stripper:Source for nerds) (0.3.4, 2020-09-27)
    Reply With Quote #1

    ⚠️ This has been succeeded by the inclusion of the Entity Lump Manager in SourceMod. ⚠️

    The functionality this plugin depended on was removed before 1.11 was finalized. Entity Lump Manager was merged to SourceMod's upcoming release branch (1.12), and a backport to the stable branch is pending.

    Until the backport has landed, there is no way to manipulate entity lumps in the current stable version of SourceMod.

    ----

    Description:
    Basically a programmable Stripper:Source for plugin developers.

    Parses out the level string provided in SDKHooks' OnLevelInit forward into individual sets of entity properties and provides forwards for other plugins to easily read / add / remove / modify said properties.

    A few examples are available here.

    Things the plugin will clobber:
    May have undesirable behavior when interacting with Stripper:Source due to both it and SDKHooks caching their own entity string.
    It's recommended to replace Stripper:Source with Level KeyValues: Stripper; see the bottom of this post.

    I don't know if other Source Engine games use a different format for their entity strings; this was only tested against TF2. I assume it can support any game that also supports Stripper:Source (or Hammer by extension, I guess).

    This is very much beta, not-rigorously tested software that I was commissioned to write and allowed to release publicly.

    Expect breaking API changes, as I'm still not quite happy with how it's designed. Mostly thinking about abstracting away the StringMultiMap dependency so client plugins don't need to depend on the backing implementation. I've decided to keep it tied to StringMultiMaps for the sake of development simplicity; no need to keep native function wrappers in sync against the development of More ADTs.

    If you're brave enough to try it, please report any bugs you come across.

    Dependencies:
    Requires More ADTs, a custom extension that exposes an additional collection handle type to SourceMod. The extension provides StringMultiMap handles, which are pretty much StringMap handles that allow duplicate keys (which are necessary to support entity outputs). The extension hasn't been rigorously tested either (basically purpose-built for this plugin) and I'm a C++ scrub, so check a look at that as well and let me know of any major errors.

    Download / Source (Level KeyValues)
    Download / Source (More ADTs)

    ----

    Additionally, I've written up a drop-in replacement for Stripper:Source that uses this library. Or at least tried to; not sure if every config works 100% the way that it should (the issue should mostly be with ones that aren't well-formed).

    If you are using this, remember to disable Stripper:Source, as it uses the same configuration files and exposes the same commands.

    Download / Source (Level KeyValues: Stripper)
    __________________
    I do TF2, TF2 servers, and TF2 plugins.
    I don't do DMs over Discord -- PM me on the forums regarding inquiries.
    AlliedModders Releases / Github / TF2 Server / Donate (BTC / BCH / coffee)

    Last edited by nosoop; 11-23-2022 at 06:10.
    nosoop is offline
    _GamerX
    AlliedModders Donor
    Join Date: Jun 2011
    Location: Fun Server
    Old 11-11-2018 , 15:41   Re: [Any] Level KeyValues (2018-11-11)
    Reply With Quote #2

    Awesome
    __________________
    _GamerX is offline
    Send a message via ICQ to _GamerX Send a message via Skype™ to _GamerX
    nosoop
    Veteran Member
    Join Date: Aug 2014
    Old 04-12-2019 , 09:41   Re: [Any] Level KeyValues (2018-11-11)
    Reply With Quote #3

    A few people were foolish brave enough to test this plugin and report a few issues, so I did them a favor.

    0.3.3 of Level KeyValues was released, with fixes for various handle leaks and optimized string handling functions for the large char[] the plugin has to read / write.
    0.2.1 of Level KeyValues: Stripper was released, with support for Stripper:Source's global filters and support for +stripper_path and stripper_dump to make it more of a Stripper:Source replacement.

    Also added a 100% not-clickbait subtitle so people can tell what this plugin is about from the forum view.
    __________________
    I do TF2, TF2 servers, and TF2 plugins.
    I don't do DMs over Discord -- PM me on the forums regarding inquiries.
    AlliedModders Releases / Github / TF2 Server / Donate (BTC / BCH / coffee)

    Last edited by nosoop; 04-14-2019 at 17:58.
    nosoop is offline
    xZk
    Senior Member
    Join Date: Nov 2017
    Location: cl
    Old 07-19-2020 , 17:10   Re: [Any] Level KeyValues (Stripper:Source for nerds) (0.3.3, 2019-04-12)
    Reply With Quote #4

    That's is great!, but i have a bug when i use this plugin, if i added entities with Stripper these these are duplicated.
    pd: SM1.10 l4d2 windows server
    xZk is offline
    nosoop
    Veteran Member
    Join Date: Aug 2014
    Old 07-19-2020 , 18:10   Re: [Any] Level KeyValues (Stripper:Source for nerds) (0.3.3, 2019-04-12)
    Reply With Quote #5

    Quote:
    Originally Posted by xZk View Post
    That's is great!, but i have a bug when i use this plugin, if i added entities with Stripper these these are duplicated.
    pd: SM1.10 l4d2 windows server
    Do you have both Stripper:Source and Level KeyValues: Stripper installed? The latter is intended to be a drop-in replacement of the former (using the same config files and providing the same commands), so disabling one of the two should resolve this.
    __________________
    I do TF2, TF2 servers, and TF2 plugins.
    I don't do DMs over Discord -- PM me on the forums regarding inquiries.
    AlliedModders Releases / Github / TF2 Server / Donate (BTC / BCH / coffee)

    Last edited by nosoop; 07-20-2020 at 05:10.
    nosoop is offline
    xZk
    Senior Member
    Join Date: Nov 2017
    Location: cl
    Old 07-19-2020 , 21:05   Re: [Any] Level KeyValues (Stripper:Source for nerds) (0.3.3, 2019-04-12)
    Reply With Quote #6

    thanks!, for this reason it generated double files by "stripper_dump", i was an idiot sorry xd
    xZk is offline
    xZk
    Senior Member
    Join Date: Nov 2017
    Location: cl
    Old 09-27-2020 , 00:55   Re: [Any] Level KeyValues (Stripper:Source for nerds) (0.3.3, 2019-04-12)
    Reply With Quote #7

    now this causes crash if you change map to the new last stand campaign :/
    xZk is offline
    nosoop
    Veteran Member
    Join Date: Aug 2014
    Old 09-27-2020 , 04:41   Re: [Any] Level KeyValues (Stripper:Source for nerds) (0.3.3, 2019-04-12)
    Reply With Quote #8

    Quote:
    Originally Posted by xZk View Post
    now this causes crash if you change map to the new last stand campaign :/
    It looks like the new map's entity string only uses CR for linebreaks instead of LF or CR+LF (?!), so the plugin wasn't picking up on the linebreaks in that form, and wasn't parsing any entities out of the string at all (which resulted in an empty entity string on the server after processing). I've never seen a map that used that particular behavior.

    I've pushed out a release in the core plugin that should rectify this. Thank you for reporting the issue!
    __________________
    I do TF2, TF2 servers, and TF2 plugins.
    I don't do DMs over Discord -- PM me on the forums regarding inquiries.
    AlliedModders Releases / Github / TF2 Server / Donate (BTC / BCH / coffee)

    Last edited by nosoop; 09-27-2020 at 07:38.
    nosoop is offline
    xZk
    Senior Member
    Join Date: Nov 2017
    Location: cl
    Old 09-30-2020 , 13:46   Re: [Any] Level KeyValues (Stripper:Source for nerds) (0.3.4, 2020-09-27)
    Reply With Quote #9

    Thanks now it works normally
    xZk is offline
    Reply


    Thread Tools
    Display Modes

    Posting Rules
    You may not post new threads
    You may not post replies
    You may not post attachments
    You may not edit your posts

    BB code is On
    Smilies are On
    [IMG] code is On
    HTML code is Off

    Forum Jump


    All times are GMT -4. The time now is 02:06.


    Powered by vBulletin®
    Copyright ©2000 - 2024, vBulletin Solutions, Inc.
    Theme made by Freecode