Silenci0 / SMAC

Sourcemod Anti-Cheat
Other
152 stars 54 forks source link

Crash L4D2 server #19

Closed lunatixxx closed 4 years ago

lunatixxx commented 4 years ago

Since i had to go with sourcemod 1.10 (who is in stable version now) considering 1.9 isn't working anymore on the linux build of my hosting service, right at the moment i install the last version of SMAC the left 4 dead 2server is non stop restarting. Fixed when i uninstall SMAC.

lunatixxx commented 4 years ago

SMAC rcon plugin was the cause, i removed it and it works.

Silenci0 commented 4 years ago

Thank you for the report. I will recompile the plugins against Sourcemod 1.10 and see if I can fix the problem.

Also, out of curiosity, are you using the SM Rcon Library in conjunction with with the SMAC Rcon plugin? Another user had a similar experience using Sourcemod 1.10 some time ago and they were using the SM Rcon Library which seems to need an update as well.

borzaka commented 4 years ago

So your hosting provider forced you to update to SourceMod 1.10? That's not a good sign... Fortunately I have full control over my setup. If I would upgrade to 1.10, probably many of my plugins would crash, and I would have to work around the clock to fix/recompile all of them. A few of them maybe couldn't be upgraded to 1.10.

I'am going to stick with 1.9

@Silenci0 Plz try to keep the 1.9 compatibility. Thank you!

Silenci0 commented 4 years ago

Well, @borzaka like it or not, SM 1.10 is now the stable branch and so it will need to be updated at some point since people are slowly rolling over to the new SM version. I am currently working on updates for it as we speak, but its simply going to take me some time to fix the warnings/errors and test the functionality.

Currently, a lot of the changes that need to be made for SMAC are mainly due to the new syntax that pawn is using, which is arguably better in some regards and less ambiguous. Most of the changes aren't too difficult so far, but testing will be the only thing necessary for this. For info on the transitional syntax needed for upgrading plugins, this page from their wiki has information regarding the changes necessary: https://wiki.alliedmods.net/SourcePawn_Transitional_Syntax

As for the issue at hand, @lunatixxx I am able to recompile the smac_rcon code on SM 1.10, but I'll need to test it out to see if any problems arise. Also, if the SMRcon library is being used (which extends functionality to this plugin to help with logging) there is most likely a problem with it and it will need to be updated. Since I don't maintain that extension, we'll need to wait and see if it gets an update. Aside from that, expect an update for SMAC in a few days.

borzaka commented 4 years ago

Yes, I know, but until you didn't use SM 1.10 exclusive specific format/syntax, the plugin remains working on lower SM versions, but probably have to compile with lower SM version as well.

Time and experience will tell what will bring SM 1.10

Silenci0 commented 4 years ago

SMAC has been updated for SM 1.10 and uses the new syntax. The smac_rcon module should work now as well, however, the SMRcon library/extension is currently not working for SM 1.10 or has trouble with some games. If there are no problems with the module after the update, please let me know.

lunatixxx commented 4 years ago

Still crashing my server by restarting it non stop unless i remove the plugin.

caxanga334 commented 4 years ago

Tested the RCON module on my L4D2 server. No crashes.

OS: Debian 10
"smac_version" = "0.8.7.1"
SMRcon library/extension not installed.

SourceMod Version Information:
SourceMod Version: 1.10.0.6456
SourcePawn Engine: 1.10.0.6456, jit-x86 (build 1.10.0.6456)
SourcePawn API: v1 = 5, v2 = 12
Compiled on: Nov 21 2019 01:00:08
Built from: https://github.com/alliedmodders/sourcemod/commit/c5a1380
Build ID: 6456:c5a1380
http://www.sourcemod.net/

Metamod:Source Version Information
Metamod:Source version 1.11.0-dev+1128
Plugin interface version: 16:14
SourceHook version: 5:5
Loaded As: Valve Server Plugin
Compiled on: Sep  2 2019 11:25:19
Built from: https://github.com/alliedmodders/metamod-source/commit/98d0c0f
Build ID: 1128:98d0c0f
http://www.metamodsource.net/
lunatixxx commented 4 years ago

My server is hosted on linux, maybe it crashes depending of the os.

Silenci0 commented 4 years ago

@lunatixxx judging from @caxanga334 previous post, it seems that he got the rcon module working on Debian 10, which is a Linux distro. Are you using a different flavor of Linux? Also, if you don't mind, could you show from your plugin list what version of SMAC is present on your server?

lunatixxx commented 4 years ago

It show 0.8.7.1 the same as here. I don't know what they are using but i'm guessing the last version of linux, i pay and it works this is the only thing i know. Basically i didn't find any message error in the logs.

lunatixxx commented 4 years ago

It looks like this is not only your plugin by the way. I tried to install a plugin to block rcon commands and my server is auto crashing/restarting the same way, this one : https://forums.alliedmods.net/showthread.php?p=2455373

Maybe this is a problem with rcon extension itself ?

lunatixxx commented 4 years ago

Removed everything from rcon extension and added smac rcon plugin and i have no more crash it seems. But this plugin need smrcon extension to work right ? At least for the whitelist who looks very useful.

caxanga334 commented 4 years ago

SMAC rcon module only needs the SMRcon extension for the whitelist feature.

Silenci0 commented 4 years ago

Sorry, I was writing up a response regarding this from the past responses in this thread, but it seems that it was SMRCon as I suspected initially. Earlier in the issue I asked about the use of SMRCon as someone else had a similar problem with the extension with SM 1.10 (back when it was still the dev branch) which caused crashes when smac_rcon attempted to utilize the extension. The extension is currently not working and needs to be updated for SM 1.10 and possibly needs a gamedata update, but it has not received one yet.

The smac_rcon plugin does not require the SMRCon extension, but it will try to include/use it if it is present on the server. By itself, smac_rcon will attempt to lock the password in rcon_password so that others cannot change it via exploits/admin commands. SMRCon is only used for IP whitelisting and checking if someone attempted to use rcon from a non-whitelisted IP.

This plugin is not necessary for the rest of SMAC to work, but it does lock the rcon password, so if you do not have a plugin that does this already, I suggest using it for that alone. As for SMRCon, the extension is currently not working, so you'll need to remove that extension until it gets updated.

Silenci0 commented 4 years ago

Since the cause was discovered, I am going to close this issue for now. SMRCon extension will need to be updated in order for the ip whitelist functionality to work, but smac_rcon will still lock the rcon password of a server without the extension.