diff --git a/FinobeRawKey.txt b/FinobeRawKey.txt index 1b945e2..f700c30 100644 --- a/FinobeRawKey.txt +++ b/FinobeRawKey.txt @@ -1 +1 @@ -BwIAAACkAABSU0EyAAQAAAEAAQCBkEcup1VE5QqMNond57r9eTvrNp716Zi5tiaGiIMU6GWmEXJARnr9ZAJQR+r8MDmMEf8YfVlCHADFCfFqn4lDICfJVdYW3OliqAgUL9Dndp73J+sZ11V4qtBwHxyzuaTuRADpXrd0F+5VgG+c3vbcFXuuNsSu66GIQJfNvJZbugt1BrEB4YcQjJOTdTvCmFVP//uJP7exfHlzYPIDd9An5IquR8S8xFCgiLeNL6lj8alUNFyS8wQazUjygt+PIcgjsIqW+HBy3VBxvNUKtAi0TxWCJoZfJ1rvsjvawl9OwsYgLPVmhzvw984L/KzPENUucoftrU8nJoZuvWn6tWHus595XuAiAlIjk5AOK32jJzbyWzbWcR5p8mew5nQuK2mL4gcSRnucMZ0KPFuMZDpHKNfwlVRjsSPNonixRJbWZQOfQ4FTHp2y9rLKFoAfHCfWH+jIJxIE8xPAjrLt0Y88LjCjVhJ5cZwZOKkz9yVQQZOiKniGy68+ODvAUQuQs2iJlW8ZJOu2V2+mlN3rGUHS+pynN0rfLccyYPArfHtZEeh0YrpnczRcYak4cCYosS/JkhL117AXRdZfWqU0d65S/WD7REliC01XFhKIBFe1HMDNCJRPMu2Wrz2Hs5rOTicLLAmSY0inGW3EdVi0igsBmTpYZRXZjYcJuNJv89N397gPSCWOHTnxW96w/c+YXCCDrHquMO93VE8terSlqvR1VdN9zJVMvJIVXlK+Eu47iM7WfIEF21iwvw2/5kk4jmM= \ No newline at end of file +MIICWwIBAAKBgQC6W5a8zZdAiKHrrsQ2rnsV3PbenG+AVe4XdLde6QBE7qS5sxwfcNCqeFXXGesn955259AvFAioYuncFtZVyScgQ4mfavEJxQAcQll9GP8RjDkw/OpHUAJk/XpGQHIRpmXoFIOIhia2uZjp9Z426zt5/brn3Yk2jArlRFWnLkeQgQIDAQABAoGAY444Sea/Db+wWNsFgXzWzog77hK+Ul4VkrxMlcx901V19KqltHotT1R37zCueqyDIFyYz/2w3lvxOR2OJUgPuPd30/Nv0rgJh43ZFWVYOpkBC4q0WHXEbRmnSGOSCSwLJ07OmrOHPa+W7TJPlAjNwBy1VwSIEhZXTQtiSUT7YP0CQQDIIY/fgvJIzRoE85JcNFSp8WOpL423iKBQxLzER66K5CfQdwPyYHN5fLG3P4n7/09VmMI7dZOTjBCH4QGxBnULAkEA7mG1+mm9boYmJ0+t7YdyLtUQz6z8C8738DuHZvUsIMbCTl/C2juy71onX4YmghVPtAi0CtW8cVDdcnD4loqwIwJAZdaWRLF4os0jsWNUlfDXKEc6ZIxbPAqdMZx7RhIH4otpKy505rBn8mkecdY2W/I2J6N9Kw6QkyNSAiLgXnmfswJAaLOQC1HAOzg+r8uGeCqik0FQJfczqTgZnHF5ElajMC48j9Htso7AE/MEEifI6B/WJxwfgBbKsvaynR5TgUOfAwJAUq53NKVaX9ZFF7DX9RKSyS+xKCZwOKlhXDRzZ7pidOgRWXt8K/BgMsct30o3p5z60kEZ692Upm9XtuskGW+ViQ== \ No newline at end of file diff --git a/globals/Dependencies/Games/Ticket.php b/globals/Dependencies/Games/Ticket.php index a25c512..71bb8b0 100644 --- a/globals/Dependencies/Games/Ticket.php +++ b/globals/Dependencies/Games/Ticket.php @@ -30,7 +30,7 @@ namespace Finobe\Games { $characterappearance && $jobid) { $timestamp = date("m/d/Y h:m:s A", time()); - $sig1 = Signing::SignData($userid . "\n" . $accountage . "\n" . $username . "\n" . $characterappearance . "\n" . $jobid . "\n" . $timestamp, false); + $sig1 = Signing::SignData($userid . "\n" . $username . "\n" . $characterappearance . "\n" . $jobid . "\n" . $timestamp, false); $sig2 = Signing::SignData($userid . "\n" . $jobid . "\n" . $timestamp, false); $ticket = $timestamp.";".$sig1.";".$sig2; } diff --git a/globals/Dependencies/Grid/RccServiceHelper.php b/globals/Dependencies/Grid/RccServiceHelper.php index fdde844..256358f 100644 --- a/globals/Dependencies/Grid/RccServiceHelper.php +++ b/globals/Dependencies/Grid/RccServiceHelper.php @@ -24,7 +24,7 @@ namespace Finobe\Grid { private function LogFault($soap, $description) { $theFault = print_r($soap, TRUE); //soap object fault to human readable string (ghetto?) - $fault = $GLOBALS['pdo']->prepare("INSERT INTO soap_faults(description, fault, whenOccurred) VALUES(:jd, :f, UNIX_TIMESTAMP())"); + $fault = $GLOBALS['pdo']->prepare("INSERT INTO soap_faults(jobdescription, fault, whenOccurred) VALUES(:jd, :f, UNIX_TIMESTAMP())"); $fault->bindParam(":jd", $description, PDO::PARAM_STR); $fault->bindParam(":f", $theFault, PDO::PARAM_STR); $fault->execute(); diff --git a/html/Game/ClientPing.php b/html/Game/ClientPing.php index 67f6109..d385526 100644 --- a/html/Game/ClientPing.php +++ b/html/Game/ClientPing.php @@ -5,6 +5,8 @@ if ($_SERVER['HTTP_USER_AGENT'] != $GLOBALS['clientUserAgent']) //user agent res die("Invalid request"); } +header('Cache-Control: no-cache'); + $userid = (int)$_GET['UserID']; $placeid = (int)$_GET['PlaceID']; diff --git a/html/Game/Join.php b/html/Game/Join.php index e77ed7b..014f153 100644 --- a/html/Game/Join.php +++ b/html/Game/Join.php @@ -16,25 +16,51 @@ $local = $_GET['local']; if ($local) { - $joinparams = json_encode(array( - "MachineAddress" => "localhost", - "ServerPort" => "65535", + $userid = 2; + $accountage = 1337; + $username = "Raymonf"; + $characterappearance = "https://api.idk16.xyz/users/avatar-accoutrements?userId=" . $userid; + $jobid = "Test"; + $joinparams = json_encode(array( "ClientPort" => 0, - "UserName" => "Astrologies", - "UserId" => 2, - "CreatorId" => 2, - "CreatorTypeEnum" => "User", - "ChatStyle" => "ClassicAndBubble", - "PlaceId" => 186, - "CharacterAppearance" => "https://api.idk16.xyz/users/avatar-accoutrements?userId=2", - //"IsRobloxPlace" => true, - "ClientTicket" => "111", + "MachineAddress" => "127.0.0.1", + "ServerPort" => "65535", + "PingUrl" => "", + "PingInterval" => 45, + "UserName" => $username, + "SeleniumTestMode" => false, //always false, dont need this + "UserId" => $userid, + "SuperSafeChat" => false, //always false, dont need this + "CharacterAppearance" => $characterappearance, + "ClientTicket" => Ticket::ClientTicket(array( + $userid, + $accountage, + $username, + $characterappearance, + $jobid + )), + "GameId" => '00000000-0000-0000-0000-000000000000', //not set rn? + "PlaceId" => 0, "BaseUrl" => $url . "/", - "PingUrl" => $url . "", - "PingInterval" => 45 + "ChatStyle" => "ClassicAndBubble", //TODO: make an option for this + "VendorId" => 0, //0, dont need this rn? + "ScreenShotInfo" => "", //blank, dont need this rn? + "VideoInfo" => "", //blank, dont need this rn? + "CreatorId" => 2, + "CreatorTypeEnum" => "User", //only player places, dont need this + "MembershipType" => "None", //no memberships rn + "AccountAge" => $accountage, + "CookieStoreEnabled" => false, //always false, dont need this + "IsRobloxPlace" => false, //dont this this rn? + "GenerateTeleportJoin" => false, //dont need this rn? + "IsUnknownOrUnder13" => false, //dont need this rn? + "SessionId" => "", //blank, dont need this rn? + "DataCenterId" => 0, //0, dont need this rn? + "UniverseId" => 0, //0, dont need this rn? + "BrowserTrackerId" => "" //blank, dont need this rn? ), JSON_UNESCAPED_SLASHES); - die(Signing::SignData($joinparams)); + die(Signing::SignData("\r\n".$joinparams)); } if ($_SERVER['HTTP_USER_AGENT'] == $GLOBALS['clientUserAgent']) //user agent restricted @@ -101,7 +127,7 @@ if ($_SERVER['HTTP_USER_AGENT'] == $GLOBALS['clientUserAgent']) //user agent res "BrowserTrackerId" => "" //blank, dont need this rn? ), JSON_UNESCAPED_SLASHES); - die(Signing::SignData($joinparams)); + die(Signing::SignData("\r\n".$joinparams)); } } } diff --git a/html/avatar/changebc.php b/html/avatar/changebc.php index ef50a98..2fc048d 100644 --- a/html/avatar/changebc.php +++ b/html/avatar/changebc.php @@ -23,14 +23,14 @@ if(getBC($clr) != "-") { if (isThumbnailerAlive()) { - if (!Render::RenderCooldown($user->id)) + if (!Render::RenderCooldown($GLOBALS['user']->id)) { $upd = $pdo->prepare("UPDATE body_colours SET {$bcdb[$cbc]} = :b WHERE uid = :u"); - $upd->bindParam(":u", $user->id, PDO::PARAM_INT); + $upd->bindParam(":u", $GLOBALS['user']->id, PDO::PARAM_INT); $upd->bindParam(":b", $clr, PDO::PARAM_INT); $upd->execute(); - Render::RenderPlayer($localuser); + Render::RenderPlayer($GLOBALS['user']->id); echo "s"; } diff --git a/html/games/view.php b/html/games/view.php index 01d6c17..8199c94 100644 --- a/html/games/view.php +++ b/html/games/view.php @@ -113,7 +113,7 @@ function playGame(id) { $("#linfo").html("Starting Finobe..."); $("#launching").modal("show"); $("#closediv").hide(); - location.href = "finobe-player-cc:1+launchmode:play+gameinfo:" + data + "+placelauncherurl:https://www.idk16.xyz/Game/PlaceLauncher?request=RequestGame&placeid=" + id; + location.href = "finobe-player:1+launchmode:play+gameinfo:" + data + "+placelauncherurl:https://www.idk16.xyz/Game/PlaceLauncher?request=RequestGame&placeid=" + id; setTimeout(function() { $("#launching").modal("hide"); }, 2500); diff --git a/html_api/moderation/filtertext.php b/html_api/moderation/filtertext.php new file mode 100644 index 0000000..c9eb384 --- /dev/null +++ b/html_api/moderation/filtertext.php @@ -0,0 +1,36 @@ + false))); +} + +if (Filter::IsTextFiltered($text)) +{ + logChatMessage($userid, $text, true); + + if (chatFilterInfractionLimit($userid, 3, 120)) //3 infraction within 2 minutes + { + die(kickUserIfInGame($userid, "'".$text."' is not appropriate on Finobe, continued infractions will lead to a ban.")); + } + + $text = Filter::FilterText($text); + //$text = "[ Content Deleted ]"; +} + +$return = json_encode(array( + "success" => true, + "data" => array( + "white" => $text, + "black" => $text + ) +), JSON_UNESCAPED_SLASHES); + +echo $return; \ No newline at end of file diff --git a/html_api/users/canmanage.php b/html_api/users/canmanage.php index 1d1caf0..06948e5 100644 --- a/html_api/users/canmanage.php +++ b/html_api/users/canmanage.php @@ -4,6 +4,7 @@ Finobe 2021 */ +use Finobe\Users\User; //headers header("Access-Control-Allow-Origin: https://www.idk16.xyz"); @@ -14,6 +15,7 @@ $userID = (int)$_GET['userId']; $assetID = (int)$_GET['assetId']; $gInfo = getAssetInfo($assetID); +$uInfo = User::GetUserInfo($userID); function json($can) { @@ -22,7 +24,7 @@ function json($can) if($gInfo !== false) { - if($gInfo->CreatorId == $userID || $userID == 2) + if($gInfo->CreatorId == $userID || $uInfo->rank == 3) { die(json(true)); } diff --git a/html_api/users/groups.php b/html_api/users/groups.php index 5c6a914..c45c8dd 100644 --- a/html_api/users/groups.php +++ b/html_api/users/groups.php @@ -22,7 +22,7 @@ if (!$userid) } //get params -$page = $_GET['page']; +$page = (int)$_GET['page']; $limit = $_GET['limit']; $keyword = substr((string)$_GET['keyword'], 0, 32); //32 limit $keywordq = '%'.$keyword.'%'; //query diff --git a/html_assetgame/Game/LuaWebService/HandleSocialRequest.ashx b/html_assetgame/Game/LuaWebService/HandleSocialRequest.ashx index 12e4781..9f82802 100644 --- a/html_assetgame/Game/LuaWebService/HandleSocialRequest.ashx +++ b/html_assetgame/Game/LuaWebService/HandleSocialRequest.ashx @@ -1,5 +1,7 @@ true'; } else { echo 'false'; } } elseif ($method == "GetGroupRank") { header('Content-Type: text/xml'); - if (isGroupMember($playerid, $groupid)) { - echo ''.getRank($playerid, $groupid).''; + if (Group::IsMember($playerid, $groupid)) { + echo ''.Group::GetRank($playerid, $groupid).''; } else { echo '0'; } } elseif ($method == "GetGroupRole") { - if (isGroupMember($playerid, $groupid)) { + if (Group::IsMember($playerid, $groupid)) { header('Content-Type: text/xml'); - echo getUserRankName($playerid, $groupid); + echo Group::GetUserRankName($playerid, $groupid); } } \ No newline at end of file diff --git a/html_setup/BootstrapperSettings.php b/html_setup/BootstrapperSettings.php deleted file mode 100644 index 8905833..0000000 --- a/html_setup/BootstrapperSettings.php +++ /dev/null @@ -1,3 +0,0 @@ -GameFileVersion.'", "ValidateInstalledExeVersion": "True", "ShowInstallSuccessPrompt": "True"}'; \ No newline at end of file diff --git a/html_setup/cdn.txt b/html_setup/cdn.txt deleted file mode 100644 index 4b4024d..0000000 --- a/html_setup/cdn.txt +++ /dev/null @@ -1 +0,0 @@ -setup.idk16.xyz \ No newline at end of file diff --git a/html_setup/version.php b/html_setup/version.php deleted file mode 100644 index c04cf5c..0000000 --- a/html_setup/version.php +++ /dev/null @@ -1,3 +0,0 @@ -FinobeVersion; \ No newline at end of file diff --git a/html_setup/versionQTStudio.php b/html_setup/versionQTStudio.php deleted file mode 100644 index 5460065..0000000 --- a/html_setup/versionQTStudio.php +++ /dev/null @@ -1,3 +0,0 @@ -FinobeStudioVersion; \ No newline at end of file