Back to General discussions forum
Hello,
It seems like there is an issue with interactive problems which I just spotted. Tried two intearctive problems and have same issue.
For example, accessing the game url for bear hunt which would be http://codeabbey-games.atwebpages.com/bear-hunt.php responds with 403 error but with a redirect page:
{'date': 'Thu, 03 Jul 2025 11:20:07 GMT', 'server': 'Apache', 'last-modified': 'Tue, 16 Apr 2024 12:09:49 GMT', 'etag': '"295-616359d561e36"', 'accept-ranges': 'bytes', 'content-length': '661', 'content-type': 'text/html', 'status': '403'}
content: <!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width"><title>Redirect</title></head>\r\n<body onload="redirect()"><script>\r\n function getRndInteger(min, max) {\r\n return Math.floor(Math.random() * (max - min + 1) ) + min;\r\n }\r\n function redirect() {\r\n const urls = [\r\n \'https://cloudhostingstudio.com\',\r\n \'https://globaldomainhousing.com\',\r\n \'https://yourhostingcouponlive.com\',\r\n \'https://giftsforgames.com\',\r\n \'https://videogamesgiftcards.com\',\r\n \'https://giftcardsgames.com\'\r\n ];\r\n window.location = urls[getRndInteger(0, 5)]\r\n }\r\n</script></body>\r\n</html>
Forgot to mention in the original post that about one hour before I made that post, interactive problems were working fine, in case this timeline helps.
Tried again now and same thing, getting a html page redirecting to one of some random game coupon websites.
Hi, thanks for notifying about the issue!
I tried to login to the control panel of the hosting awardspace.com where these scripts reside and found that
Account has suspended due to ToS violation. According to your observation this happened recently but there are
no emails with notifications or explanations. I briefly short that some load limit could have been reached, but that
should only cause temporary restriction - while here case seems different.
Well, it happens when we decide to host something for free... I'll try to create another account and upload scripts there - it may take some time but hopefully shouldn't be difficult. As a fallback plan perhaps hosting with docker image on vps could be tried, so I hope to be back with news soon!
Friends, Hi again, and sorry for delay!
Briefly - Interactive Problems are working again. The new server has no beautiful name for now, just ip address http://85.239.55.221 - it is added into instruction.
It would be good to test and see if everything is working and hopefully no puzzles were lost.
I wasn't able to rehabilitate the account at awardspace and decided to avoid trying free hosting services further as prices for virtual private servers nowadays are amusingly low. The other thing was to setup web-server and php, hopefully I did it right, but as I'm bit too naive in this area, there could be some surprises - feel free to report!
UPD: it seems "mad-beaver" game is missing, I'll look around for its script for some time and if can't find it, hopefully it won't be too difficult to recreate it.
Hi Rodion,
Thanks for making this work again, though in my code I just replaced that IP and I'm getting status 200 but with this error, any idea why?
Sending POST to http://85.239.55.221/bear-hunt.php with data: {'token': 'QmS5RL774pcLLRT1zqTtgzYw'} Received response 200: {'error': 'Content-type () do not match data format (text/plain)!'}
Hi, thanks for feedback!
How do you send this request?
There seem to be two minor issues - one on the server side - and another perhaps on yours.
On the server side it fails to understand that empty Content-Type header means that it should be guessed automatically,
hopefully I fixed it now.
But on your side it seems you send JSON but it is detected as text/plain - probably because you use single quotes.
You can use alternative formats if you won't be able to get it right with json.
It does work now, thank you!
Actually I just send text with key: value pairs separated by newlines without specifing Content-Type, what I posted is the default dict print in python of the data I used internally.
This is the code more exactly:
import httplib2
class Interactive:
def __init__(self, game):
self.game = game
self.token = input("Give token: ")
self.http = httplib2.Http()
def send(self, data: None | dict[str, str] = None) -> dict[str, str]:
if data is None:
data = {}
data["token"] = self.token
url = f"http://85.239.55.221/{self.game}.php"
post_data = "\n".join(f"{k}: {v}" for k, v in data.items())
print(f"Sending POST to {url} with data: {data}")
response, content = self.http.request(url, "POST", post_data)
out = dict(
line.split(": ", maxsplit=1)
for line in content.decode("ascii").splitlines()
)
print(f"Received response {response['status']}: {out}")
return out
Hi Rodion,
There's an issue with hexplore, if you can check. These are the values returned from response and content in the code posted above for this game:
response:
{'server': 'nginx/1.28.0', 'date': 'Tue, 05 Aug 2025 13:04:08 GMT', 'content-type': 'text/plain;charset=UTF-8', 'transfer-encoding': 'chunked', 'connection': 'keep-alive', 'x-powered-by': 'PHP/8.3.23', 'status': '200'}
content:
b'<br />\n<b>Warning</b>: error_log(./actions.log): Failed to open stream: Permission denied in <b>/usr/local/www/ca-games/_common.php</b> on line <b>183</b><br />\n<br />\n<b>Deprecated</b>: Creation of dynamic property Hexplore::$field is deprecated in <b>/usr/local/www/ca-games/hexplore.php</b> on line <b>54</b><br />\n<br />\n<b>Deprecated</b>: Creation of dynamic property Hexplore::$opened is deprecated in <b>/usr/local/www/ca-games/hexplore.php</b> on line <b>55</b><br />\nmoves: 0\r\nfield: -------------;-------------;-------------;-------------;-------------;-------------;-------------;-------------;-------------;-------------;-------------;-------------;-------------\r\n'
So content contains an extra error message before the actual expected string.