The game uses the websites to send the creators data. Some are to see if we've started the game or found some secret. There's also some for talking to Key, and for sending and loading highscores.

Here's a list of what I've found so far from decompiling the games:

**birthdayparty**

http://www.catghostshow.com/201706-beth/

This gets loaded whenever you enter the room Key is in, which will return a json file with the Session ID and the time of creation

This session ID will be the same not matter if you restart the game or reenter the room, but will eventually expire thus making the game give you a new one

http://www.catghostshow.com/201706-beth/status.php?key=[SessionID ]

This is sent every 3 seconds whenever you're in the same room as Key, to make sure the connection is still valid. It might also keep the sessionID valid for longer

SessionID is the unique id gotten above

http://www.catghostshow.com/201706-beth/message.php?session_id=[SessionID ]&message=[MESSAGE]

This sends everything you tell key to the server, as well as if you leave or enter the room key is in

SessionID is the unique id gotten above

Message is what you wrote, or "------------------------------ USER HAS JOINED THE ROOM ------------------------------" whenever you enter the room Key is in, or "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX USER HAS LEFT THE ROOM XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" whenever you leave the room or close the game while in the room

**joke**

http://www.catghostshow.com/201707-skinwalk/visit.php?check=1

This is sent whenever you start the exe. It's there to make them know you've started the game.

It will return "Success" and a number the first time you join, then fail thereafter after your session runs out. That said, it doesn't seem to use the numbers for anything

http://www.catghostshow.com/201707-skinwalk/solve.php?check=1

This is sent whenever you put in a valid code (but doesn't tell them which one)

It returns similarly to the previous one, but it returns a different number

**window**

http://www.catghostshow.com/201708-azule/visit.php?check=1

Sent whenever you start the game, same system as in joke

http://www.catghostshow.com/201708-azule/solve.php?check=1

Same as above in joke, but whenever you reach 3:00

http://www.catghostshow.com/201708-azule/waited.php?check=1

Same as above, but can't figure out when this is sent. It doesn't seem to be based on wait-time, and it's not when you type murder.

It seems to be activated at the same time as something that should close the game

**unholy circle**

http://www.catghostshow.com/201709-banana/visit.php?check=1

Same as in joke, whenever you start the game

http://www.catghostshow.com/201709-banana/get_highscore.php

Returns the high-score list, whenever you go to the high-score list

http://www.catghostshow.com/201709-banana/secret.php?check=1

This is sent whenever you get to the bad ending, same as in joke (as in, when you exit the first game field, not when you jump off the cliff)

http://www.catghostshow.com/201709-banana/check_highscore.php?hash=[HASH]&username=[USERNAME]&score=[SCORE]

This is sent whenever you get a highscore, SCORE is your score, USERNAME is the name selected on the beginning, and HASH is a simple hash generated out of the date

Some additional notes:

The number returned seems to be "18 - number of active players", not counting yourself.

If you replace check=1 with check=0, then you get what seems to be the total number of active players over a longer amount of time (though it seems a bit small, so it most likely isn't over all time)

The hash they use is pretty bad, they should at least send a hash of the score too. Not to mention cheating the score is pretty easy from within the game, even without that, so they probably should hash the score whenever it changes, then before they change it next time, make sure that the hash is correct (so that no skid has used cheat-engine to change it), and that the amount it increased with is the right amount