Raised This Month: $32 Target: $400
 8% 

[L4D2] ABM: A MultiSlots / SuperVersus Alternative (Updated: 11-13-17)


Post New Thread Reply   
 
Thread Tools Display Modes
NgBUCKWANGS
Senior Member
Join Date: Dec 2014
Old 12-26-2016 , 09:29   Re: [L4D2] ABM: A L4D2 5+ Player Enhancement for Campaign
Reply With Quote #21

I uploaded a new and important update [0.1.9] that resolves issues with crashing on Windows servers. It turns out it was Zoey and how ABM handles remembering characters. Hopefully, this update is a good one. If you've been using ABM from the beginning, you'll need the new abm.txt gamedata file.

For those of you using ABM, how's it working? What's your server OS and if you're comparing 0.1.9 to an older version, how is it? I'd like to know
NgBUCKWANGS is offline
cravenge
Veteran Member
Join Date: Nov 2015
Location: Chocolate Factory
Old 12-26-2016 , 09:57   Re: [L4D2] ABM: A L4D2 5+ Player Enhancement for Campaign
Reply With Quote #22

Quote:
Originally Posted by NgBUCKWANGS View Post
I uploaded a new and important update [0.1.9] that resolves issues with crashing on Windows servers. It turns out it was Zoey and how ABM handles remembering characters. Hopefully, this update is a good one. If you've been using ABM from the beginning, you'll need the new abm.txt gamedata file.

For those of you using ABM, how's it working? What's your server OS and if you're comparing 0.1.9 to an older version, how is it? I'd like to know
Using Zoey in L4D2 campaigns already crashes the server/game in Windows after The Sacrifice DLC update was released.

Until Valve finally fixes the issue, we use FakeZoey by DeathChaos as the only temporary fix atm.

Edit: Couldn't help but look at the signatures. I do wonder how you get them. Anyways, if others are using this and the plugin fails to load, here are updated signatures for Windows:
PHP Code:
"SetHumanSpec"
{
    
"library"  "server"
    "linux"    "@_ZN11SurvivorBot17SetHumanSpectatorEP13CTerrorPlayer"
    "windows"  "\x55\x8B\xEC\x56\x8B\xF1\x83\xBE\x2A\x2A\x2A\x2A\x00\x7E\x07\x32\xC0\x5E\x5D\xC2\x04\x00\x8B\x0D"
    
/* 55 8B EC 56 8B F1 83 BE ? ? ? ? 00 7E 07 32 C0 5E 5D C2 04 00 8B 0D */
}

"TakeOverBot"
{
    
"library"  "server"
    "linux"    "@_ZN13CTerrorPlayer11TakeOverBotEb"
    "windows"  "\x55\x8B\xEC\x81\xEC\x2A\x2A\x2A\x2A\xA1\x2A\x2A\x2A\x2A\x33\xC5\x89\x45\xFC\x53\x56\x8D\x85"
    
/* 55 8B EC 81 EC ? ? ? ? A1 ? ? ? ? 33 C5 89 45 FC 53 56 8D 85 */

2nd Edit: Just looked at the source. May I try suggesting preparing the signatures in OnPluginStart rather than every time? It might cause 1-3 seconds of freezing on clients.
PHP Code:
Handle hGameConf nullhRoundRespawn null;

public 
void OnPluginStart()
{
    
// call signatures here first
    // then your codes afterwards
    
    // example:
    
Handle hGameConf LoadGameConfigFile("abm");
    if (
hGameConf == null)
    {
        
SetFailState("[ABM] Game data missing!");
    }
    
    
StartPrepSDKCall(SDKCall_Player);
    
PrepSDKCall_SetFromConf(hGameConfSDKConf_Signature"RoundRespawn");
    
hRoundRespawn EndPrepSDKCall();
    if (
hRoundRespawn == null)
    {
        
SetFailState("[ABM] Incorrect RoundRespawn signature!");
    }
    
    
delete hGameConf;
}

void RoundRespawnSig(int client)
{
    
SDKCall(hRoundRespawnclient);

3rd Edit: However, Windows-based clients doesn't crash when using Zoey on Linux-based servers. Also, I'll try to help out in cleaning the source code. It's quite messy.

Last edited by cravenge; 12-26-2016 at 10:21.
cravenge is offline
NgBUCKWANGS
Senior Member
Join Date: Dec 2014
Old 12-26-2016 , 11:18   Re: [L4D2] ABM: A L4D2 5+ Player Enhancement for Campaign
Reply With Quote #23

To Cravenge,

Quote:
Until Valve finally fixes the issue, we use FakeZoey by DeathChaos as the only temporary fix atm.
I should put a note about this in the next readme along with the 8+ player and defib extensions. I don't use Windows servers but I've been testing lately on a virtual Windows server and I think I've handled Zoey pretty well. I just avoid messing with any "real" Zoeys the way I mess around with the other survivors. It pretty much works but on Windows that means you'll only get the real Zoey on L4D1 campaigns (when it's her turn to pop up) otherwise you'll get whatever abm_zoey is (by default it's Rochelle).

Quote:
Couldn't help but look at the signatures. I do wonder how you get them. Anyways, if others are using this and the plugin fails to load, here are updated signatures for Windows
I dread these things and can recall the day I found that I needed them. I would go to the api docs to find what I need and when I couldn't come up with a solution, I'd search for plugins that did what I wanted and I'd just go into them and learn how they achieved the effect I was after. The very first signature I got was in Merudo's works with "Survivor Bot Select". From his work and my looking for works that achieved what I wanted, I modelled all of my signatures after Merudo's style.

The signatures I have so far seem to work without any issue. Short of blowing a server up, the signatures you've provided are in case things break or do you know they'll break?

Quote:
Just looked at the source. May I try suggesting preparing the signatures in OnPluginStart rather than every time? It might cause 1-3 seconds of freezing on clients.
I haven't experienced any freezes switching between 32 clients in maybe 16 seconds but I love the idea of improving what I can where I can when I can I've almost purposely avoided any optimization whatsoever in favor of getting things working. In the end, I'm quite surprised how damn fast SM/SP is and at times I've found how it would upset me with how damn fast it is. A good example is adding bots. When I added 28 bots to the survivors I needed every bot to check the team size along the way. I'd add the 5th bot and the team size is already 32 (holy shit).

But I'll never mind any improvement

Quote:
However, Windows-based clients doesn't crash when using Zoey on Linux-based servers. Also, I'll try to help out in cleaning the source code. It's quite messy.
I'm open to ideas but if it's about my style, I'll admit, I wish to keep it the same. It's a Python throwback kind of style and I'm quite comfortable with going vertical than horizontal. But, I love your tips cravenge and I look forward to any ideas you have. Thank you very very much for your time
NgBUCKWANGS is offline
Krufftys Killers
Senior Member
Join Date: Jan 2014
Old 12-29-2016 , 10:16   Re: [L4D2] ABM: A L4D2 5+ Player Enhancement for Campaign
Reply With Quote #24

- 029:19: Info (map "uz_crash") (file "errors_20161229.log")
L 12/29/2016 - 029:19: [SM] Exception reported: Client 4 is not in game
L 12/29/2016 - 029:19: [SM] Blaming: abm.smx
L 12/29/2016 - 029:19: [SM] Call stack trace:
L 12/29/2016 - 029:19: [SM] [0] GetClientTeam
L 12/29/2016 - 029:19: [SM] [1] Line 1148, /home/forums/content/files/2/5/6/5/9/1/159606.attach::GetClientModelIndex
L 12/29/2016 - 029:19: [SM] [2] Line 1075, /home/forums/content/files/2/5/6/5/9/1/159606.attach::AutoModelTimer
L 12/29/2016 - 05:064: SourceMod error session started
L 12/29/2016 - 05:064: Info (map "uz_town") (file "errors_20161229.log")
L 12/29/2016 - 05:064: [SM] Exception reported: Client 1 is not in game
L 12/29/2016 - 05:064: [SM] Blaming: abm.smx
L 12/29/2016 - 05:064: [SM] Call stack trace:
L 12/29/2016 - 05:064: [SM] [0] GetClientTeam
L 12/29/2016 - 05:064: [SM] [1] Line 1148, /home/forums/content/files/2/5/6/5/9/1/159606.attach::GetClientModelIndex
L 12/29/2016 - 05:064: [SM] [2] Line 1075, /home/forums/content/files/2/5/6/5/9/1/159606.attach::AutoModelTimer
L 12/29/2016 - 05:06:52: Error log file session closed.
L 12/29/2016 - 09:53:23: SourceMod error session started
L 12/29/2016 - 09:53:23: Info (map "uz_crash") (file "errors_20161229.log")
L 12/29/2016 - 09:53:23: [SM] Exception reported: Client 5 is not in game
L 12/29/2016 - 09:53:23: [SM] Blaming: abm.smx
L 12/29/2016 - 09:53:23: [SM] Call stack trace:
L 12/29/2016 - 09:53:23: [SM] [0] GetClientTeam
L 12/29/2016 - 09:53:23: [SM] [1] Line 1148, /home/forums/content/files/2/5/6/5/9/1/159606.attach::GetClientModelIndex
L 12/29/2016 - 09:53:23: [SM] [2] Line 1075, /home/forums/content/files/2/5/6/5/9/1/159606.attach::AutoModelTimer
Krufftys Killers is offline
NgBUCKWANGS
Senior Member
Join Date: Dec 2014
Old 12-29-2016 , 11:21   Re: [L4D2] ABM: A L4D2 5+ Player Enhancement for Campaign
Reply With Quote #25

Quote:
Originally Posted by Krufftys Killers View Post
- 029:19: Info (map "uz_crash") (file "errors_20161229.log")
L 12/29/2016 - 029:19: [SM] Exception reported: Client 4 is not in game
L 12/29/2016 - 029:19: [SM] Blaming: abm.smx
L 12/29/2016 - 029:19: [SM] Call stack trace:
L 12/29/2016 - 029:19: [SM] [0] GetClientTeam
L 12/29/2016 - 029:19: [SM] [1] Line 1148, /home/forums/content/files/2/5/6/5/9/1/159606.attach::GetClientModelIndex
L 12/29/2016 - 029:19: [SM] [2] Line 1075, /home/forums/content/files/2/5/6/5/9/1/159606.attach::AutoModelTimer
L 12/29/2016 - 05:064: SourceMod error session started
L 12/29/2016 - 05:064: Info (map "uz_town") (file "errors_20161229.log")
L 12/29/2016 - 05:064: [SM] Exception reported: Client 1 is not in game
L 12/29/2016 - 05:064: [SM] Blaming: abm.smx
L 12/29/2016 - 05:064: [SM] Call stack trace:
L 12/29/2016 - 05:064: [SM] [0] GetClientTeam
L 12/29/2016 - 05:064: [SM] [1] Line 1148, /home/forums/content/files/2/5/6/5/9/1/159606.attach::GetClientModelIndex
L 12/29/2016 - 05:064: [SM] [2] Line 1075, /home/forums/content/files/2/5/6/5/9/1/159606.attach::AutoModelTimer
L 12/29/2016 - 05:06:52: Error log file session closed.
L 12/29/2016 - 09:53:23: SourceMod error session started
L 12/29/2016 - 09:53:23: Info (map "uz_crash") (file "errors_20161229.log")
L 12/29/2016 - 09:53:23: [SM] Exception reported: Client 5 is not in game
L 12/29/2016 - 09:53:23: [SM] Blaming: abm.smx
L 12/29/2016 - 09:53:23: [SM] Call stack trace:
L 12/29/2016 - 09:53:23: [SM] [0] GetClientTeam
L 12/29/2016 - 09:53:23: [SM] [1] Line 1148, /home/forums/content/files/2/5/6/5/9/1/159606.attach::GetClientModelIndex
L 12/29/2016 - 09:53:23: [SM] [2] Line 1075, /home/forums/content/files/2/5/6/5/9/1/159606.attach::AutoModelTimer
Thanks Kruffty, most of those errors in AutoModelTimer are due to a missing check to make sure the client is valid before applying a model. I should have fixed it but unfortunately I can't update the git repo or this post till Saturday night.

You can try this source here https://io.antilimit.org/pub/abm.sp. there is I believe just one problem left that due to the rewrite for Windows exist and that's the 5th+ character being duplicates BUT at least now you can add bots on Windows without worrying about a crash. You can also switch to a real zoey without crashing. You will even get the real zoey.

Try this on a L4D1 map like no mercy. Try adding up to 16 (no more than 16) bots on survivors (team 2)
PHP Code:
!abm-mk -16 2 
. You should get real Zoey's and be able to switch between them.

To remove all bots until there are only 4 left, try this
PHP Code:
!abm-rm -4 2 
Any other problems I most likely won't address until Sunday, maybe Saturday evening at the earliest.

Thanks!
NgBUCKWANGS is offline
NgBUCKWANGS
Senior Member
Join Date: Dec 2014
Old 12-29-2016 , 21:18   Re: [L4D2] ABM: A L4D2 5+ Player Enhancement for Campaign
Reply With Quote #26

If you're feeling adventurous, you can spawn 32 survivors
PHP Code:
!abm-mk -32 2 
but be aware you may completely stop specials from spawning as 32 slots by default are shared between survivors and specials (unless you somehow raise the total slots?).

Anyhow, adding a positive number will add that many to survivors. Adding a negative number just makes the team that size and will add X bots to achieve it. The same works with removing them.
PHP Code:
!abm-rm -8 2 
A positive number will remove X bots while a negative will remove bots until the team is that size and stop.

You can also spawn specials this way
PHP Code:
!abm-mk -16 3 
(add no more than 16 to team 3) but one thing I noticed is the number of specials isn't always as exact as spawning survivors. Not sure what this is but I'm not too sure about it as it mostly works great.

After about 30 game today across 2 server's I haven't seen any errors. But if you do, please let me know, thanks!

Last edited by NgBUCKWANGS; 12-30-2016 at 05:15.
NgBUCKWANGS is offline
kochiurun119
BANNED
Join Date: Sep 2014
Location: GB
Old 01-01-2017 , 01:51   Re: [L4D2] ABM: A L4D2 5+ Player Enhancement for Campaign
Reply With Quote #27

Plugin for dedicated server?
kochiurun119 is offline
Send a message via ICQ to kochiurun119 Send a message via AIM to kochiurun119 Send a message via Yahoo to kochiurun119 Send a message via Skype™ to kochiurun119
NgBUCKWANGS
Senior Member
Join Date: Dec 2014
Old 01-01-2017 , 14:39   Re: [L4D2] ABM: A L4D2 5+ Player Enhancement for Campaign
Reply With Quote #28

Quote:
Originally Posted by kochiurun119 View Post
Plugin for dedicated server?
Yes, I just uploaded 0.1.12 and that should hopefully fix the last remaining bugs due to some major rewrites. Give it a try and let me know how it works. The parity between Windows and Linux should be at 99% (I can't fix the Zoey bug but the workaround for her is great).

Hopefully I'm done with the bugs and this version is as complete or better than the first version.
NgBUCKWANGS is offline
NgBUCKWANGS
Senior Member
Join Date: Dec 2014
Old 01-05-2017 , 04:26   Re: [L4D2] ABM: A L4D2 5+ Player Enhancement for Campaign
Reply With Quote #29

For all those of you following the plugin, I just updated the top post with 0.1.14. I believe wholeheartedly that this is the best version since first release. I've done plenty of testing and bug fixing and all features planned from the start are as close to complete as ever. If any version ever left a bad taste in your mouth I'm hoping this one is the mouthwash version.

Feedback appreciated
NgBUCKWANGS is offline
cravenge
Veteran Member
Join Date: Nov 2015
Location: Chocolate Factory
Old 01-05-2017 , 09:54   Re: [L4D2] ABM: A L4D2 5+ Player Enhancement for Campaign
Reply With Quote #30

Hmmm.... It seems the duplicate bug still exists for me.

You see, I'm using Force Survivor Set plugin in my 9/11/13 players co-op servers to make all 8 survivors working and playable in all campaigns (except that Zoey has to be fake and have Rochelle as the base character).

Last edited by cravenge; 01-05-2017 at 09:55.
cravenge is offline
Reply



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 22:37.


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