Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Exception reported: Script execution timed out Blaming: smac_esea_banlist.smx #11

Open
borzaka opened this issue Aug 31, 2019 · 8 comments

Comments

@borzaka
Copy link

commented Aug 31, 2019

I installed the required and recommended plugins with global banlist smac_eac_banlist.smx and smac_esea_banlist.smx. I have the socket extension as I downloaded from this repo, and copied everything to a correct folders. Well, not everything, just the required, recommended and global banlist.

L 08/31/2019 - 20:43:14: SourceMod error session started
L 08/31/2019 - 20:43:14: Info (map "de_mirage") (file "errors_20190831.log")
L 08/31/2019 - 20:43:14: [SM] Exception reported: Script execution timed out
L 08/31/2019 - 20:43:14: [SM] Blaming: smac_esea_banlist.smx
L 08/31/2019 - 20:43:14: [SM] Call stack trace:
L 08/31/2019 - 20:43:14: [SM]   [1] Line 443, Y:\SourcemodProjects\_SMDevENV\addons\sourcemod\scripting\include\string.inc::FindCharInString
L 08/31/2019 - 20:43:14: [SM]   [2] Line 175, Y:\SourcemodProjects\_SMDevENV\addons\sourcemod\scripting\smac_esea_banlist.sp::OnSocketReceive
L 08/31/2019 - 20:53:11: Error log file session closed.
@Silenci0

This comment has been minimized.

Copy link
Owner

commented Sep 1, 2019

Thank you for the report. At a glance, I believe the plugin is having an issue reading the data file that it is supposed to download from ESEA, but I'll need to look into this further. Did smac_eac_banlist.smx have any similar issues?

@borzaka

This comment has been minimized.

Copy link
Author

commented Sep 1, 2019

No other errors regarding SMAC plugins in the logs.
Thank you.

@borzaka

This comment has been minimized.

Copy link
Author

commented Sep 13, 2019

I recompiled the plugins, and no errors since then regarding the Global Banlist plugins. Strange...

But the EasyAntiCheat variant is probably not working any more, because this URL is just redirects to the home page:
http://easyanticheat.net/check_guid.php?id=1:1:180501949

The ESEA version looks good:
http://play.esea.net/index.php?s=support&d=ban_list&type=1&format=csv

@Silenci0

This comment has been minimized.

Copy link
Owner

commented Sep 13, 2019

Thank you for the confirmation. I also noticed that the EasyAntiCheat module wasn't going to the address specified. Unfortunately, after digging around for a while, it seems as though this module will probably need to be sunset as it does not seem that the function for checking ids is available anymore. I'll keep looking into this.

As far as the ESEA version, I'm not sure why, but even recompiling the plugins for myself seems to not fix the issue. I had been looking into it, but I couldn't figure out the problem, which is odd that recompiling these plugins worked for you. What version of Sourcemod/Metamod are you running on your server if you don't mind my asking? I'm currently running only SM1.9 and MM1.10 on my test environment, so I'm curious to see if maybe its due to an issue with my test environment that caused that plugin to bug out.

@borzaka

This comment has been minimized.

Copy link
Author

commented Sep 13, 2019

I'am using SourceMod v1.9.0.6282, and compiled with this version as well. And Metamod version is 1.10.7-git971
You still have that Exception reported: Script execution timed out error?

One thing I did is that I deleted smac.cfg and restarted the server to let the plugin auto generate it. First time I just copied that config from this repo, but contained some plugins cvar that I disabled in the first place.

@borzaka

This comment has been minimized.

Copy link
Author

commented Sep 15, 2019

The error is back:

L 09/15/2019 - 23:28:31: [SM] Exception reported: Script execution timed out
L 09/15/2019 - 23:28:31: [SM] Blaming: smac_esea_banlist.smx
L 09/15/2019 - 23:28:31: [SM] Call stack trace:
L 09/15/2019 - 23:28:31: [SM]   [1] Line 443, /home/csgoretakes/serverfiles/csgo/addons/sourcemod/scripting/include/string.inc::FindCharInString
L 09/15/2019 - 23:28:31: [SM]   [2] Line 175, smac_esea_banlist.sp::OnSocketReceive

My guess is that sometimes the esea website are down, or blocks connection.

@Silenci0

This comment has been minimized.

Copy link
Owner

commented Sep 16, 2019

I looked into it further and, after some testing, I looked into the response I am getting back from the ESEA website and its giving me a Cloudflare header asking to do a captcha due to the connection looking suspicious, despite the fact that I could simply go to the website/link that the plugin uses and get the .csv file.

I believe what is happening is due to how the request is being formed/sent to the website, which is why we get back the Cloudflare warnings, which is why we get a script time out error. This is most likely an issue with either how we are sending the request or the socket extension itself. In either case, Cloudflare seems to think the request is suspicious and is blocking the attempt to grab the .csv file.

Since it seems like an issue with the website blocking the request, it is just a matter of figuring out how this request needs to be sent (or if we need to update the socket extension) in order to get the files we need for this plugin to work. Alternatively, it might be wise to create a manual option where instead of downloading the file via request from the plugin, we can manually download the file, put it in a specific directory, have the plugin load/read that file instead. The effect would be the same, but the method would require more work from the user. I'll look into adding that feature to this plugin, though it might take some time.

For now, it might be wise to disable this plugin since its not going to work correctly due to the website blocking it.

@borzaka

This comment has been minimized.

Copy link
Author

commented Sep 16, 2019

I see the following options here:

  • the plugin would download that CSV, and store it - if a new download fails it would use the downloaded version (by default this repo can come with a pre-downloaded CSV)
  • use a 3rd party site/repo to upload to that CSV and the plugin would download from there - this not going to be 100% up to date, but it's something
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
2 participants
You can’t perform that action at this time.