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