Advertisement
Styxdev

Prison Life problems

Feb 20th, 2025
144
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 11.00 KB | None | 0 0
  1. Hello, people of the Roblox Community, I hope this message finds you all well.
  2.  
  3. This message is written and produced by StyxDeveloper, just StyxDeveloper, and thanks to my friend for posting this. “Jupiter Development” a team made up of 2 individuals (talking in the past tense), where we made exploits a reality for a well known Roblox experience, known as “Prison Life”, my goal is to stop the major increase in exploiters on this game, a problem that never seems to go away. So today, I’ve put forth an effort and hoping this doesn’t fall on deaf ears, since there’s no way of contacting him, no Discord, Twitter, and no group wall. I hope this post reaches him, I want him to see the vulnerabilities and problems of his game which he either neglected, or never paid attention to. I want him to patch my old source, and I’m going to be exposing all these methods and how I would go about repairing Prison Life.
  4.  
  5. Let’s get started, I recognize, that a former cheater, turned Anti-Cheat Developer isn’t something everyone wants to see posted on this platform, but I believe there’s a major problem within Prison Life, and it ruins the entire game, Im sure everyone’s seen this if they’ve played Prison Life. This is a major problem and creates a poor environment for the people who play this game, from roleplayers to PVPers, to people playing because of nostalgia. This game is deemed “needing a rewrite” but that’s far from the case, it’s not true at all. So let’s begin, if we play our cards right, it could be fixed; without a lengthy rewrite.
  6.  
  7. The reason Im helping the developer is simple.
  8.  
  9. There’s a need to stop these cheats.
  10. Scripts are blatantly unoriginal.
  11. There is no fun in it anymore, everyone just crashes the game.
  12.  
  13. Starting first, the magnitude check put forth on the item handler (these methods already are leaked, you can find it anywhere now)? We will be using both of Jupiter’s sources as our reference.
  14.  
  15. I don’t know how I comment on this method, I’d have to view your code to understand why this works.
  16.  
  17. The second method to bypass this magnitude check is simple and easy to understand. Teleport to the item/tool and run the remote.
  18.  
  19. We need a proper AntiCheat in place to actually stop this.
  20.  
  21. Next thing, stop cheaters from going to guards after several strikes. They do this by abusing the teamevent remote, which is simple to patch, anytime they call that, and go to guards check the amount of strikes, if they bypass this kick them. Again if you give me a DM, Id be willing to help you patch things.
  22.  
  23. Additionally, we need a way of stopping cheaters from just switching teams, on this, we can’t do much, its a sad aspect, but I don’t see much about being able to patch this. Due to the nature of it.
  24.  
  25. We can stop them from going to criminal, simply by preventing them from teleporting.
  26.  
  27. Next thing, we’ve seen heavily abusive kill commands happening.
  28. Melee kill is a problem, it abuses what would normally be accessible via “F” or through punching other players, we have simple methods of stopping this.
  29.  
  30. Through an anti-cheat, or limiting the amount of remote spam that can occur, maybe 1 punch every half a second. No way to get an instant 20 hits on one player.
  31.  
  32. Moving on, we have gun kill, which is the most commonly abused, and its simple to fix.
  33.  
  34. Simply preventing remote spam once again, adding a delay would work.
  35. A cap on spawning guns, guns should be limited to one that can be spawned. They shouldn’t be able to delete the tool and respawn it.
  36. We can also check the distances and prevent any players across the map from hitting players as if their right there (you can see it in my code snippet on how this works).
  37. We should be capable of detecting players who spawn guns on the neutral team, as many exploit scripts currently have a kill all and you go to neutral and then kills everyone.
  38. We can also see that’s malicious, store everything being hit with a gun, and being hit with a melee event, log it all, if they kill several players within 5 seconds, kick them. – I don’t think it’s needed but possible
  39.  
  40. Next on the list of problems is arresting players, any exploiter can arrest anyone by just teleporting to them (see code), we can do an anti-cheat, and stop this.
  41.  
  42. Next, server laggers, and breaking the doors. Spamming the remote exploiters can cause the server to lag immensely, I’m not sure how this works, I haven’t made one, so Im assuming they just spam the remote.
  43.  
  44. Add a delay
  45. Another thing I’ve heard (unsure of how true this is) you can set variables through the remote, again why is this able to pass through (if that’s the case of course)?
  46. Add a magnitude check so they have to be next to it to open the gate.
  47.  
  48. Next, while I’ve never made a server crash personally, Ill tell you how it works.
  49.  
  50. This functions by spamming the remote, however for the event, they have it hitting a part, and the ray being massive in length, causing massive lag spikes on the server, and possible server timeout.
  51. A. By limiting the size of the ray for each gun, have it stored on the server, and prevent the client from even setting that.
  52. B. Prevent the client from spamming it, you need a delay.
  53.  
  54. Next, shall we discuss brings? No, because simply speaking, their using a car seat to bring a player, don’t even bother, Ill rig up an anti-cheat, and we can have that stopped.
  55.  
  56. I can help you do this, please get in touch with me. I’d happily patch this whole game, for credits in the description of your game. That’s all I’d ask for. Moreover, if you still choose to ignore me helping you patch all this for nothing besides credits, I don’t know what more to offer you. I can properly maintain this game, for nothing besides credits. Yeah, I might not have the time, I’ve got a life too so it might take me some time, but I could help you patch it. Id love to work with you on this, please reach out to me we can stop all these exploiters, stop teleporting, stop speed hacks, stop jump hacks, stop flying cheats, we can stop it all.
  57.  
  58. If you ignore my help, you can check out my anti-cheat, it would need to be modified to work with this, but it would give you an idea.
  59. - GitHub - Jupiter-Development-Revamp/Armed-Vortex: An open-source serversided anti-cheat for Roblox games. 1
  60.  
  61. If you need extra help understanding things use this.
  62. - Security Tactics and Cheat Mitigation | Documentation - Roblox Creator Hub 1
  63.  
  64. Thanks for reading, want to contact me? Im available on
  65. Discord: styxdeveloper (Responses vary, up to a day)
  66. Gmail: [email protected] (Checked daily)
  67. Twitter: x.com (not very active wait times up to a week)
  68.  
  69. -- Method to bypassing the item handler
  70. remote.ItemHandler:InvokeServer({Position = localPlayer.Character.PrimaryPart.CFrame.Position, Parent = item});
  71.  
  72. -- Team event
  73. local function teamEvent(team: string | nil, unwantedTeam: string | nil)
  74. local originalCFrame = nil
  75. if localPlayer.Character:FindFirstChild("Head") then
  76. originalCFrame = localPlayer.Character.Head.CFrame;
  77. else
  78. originalCFrame = localPlayer.Character:FindFirstChildWhichIsA("Part") or localPlayer.Character:FindFirstChildWhichIsA("BasePart");
  79. end
  80.  
  81. local teamsAndFunc = {
  82. inmates = function()
  83. remote.TeamEvent:FireServer("Bright orange");
  84. task.wait(1);
  85. localPlayer.Character:PivotTo(originalCFrame);
  86. end,
  87. criminals = function()
  88. local CrimPads = workSpace["Criminals Spawn"]:FindFirstChild("SpawnLocation");
  89. localPlayer.Character:PivotTo(CrimPads.CFrame);
  90. task.wait(0.2);
  91. localPlayer.Character:PivotTo(originalCFrame);
  92. end,
  93. guards = function()
  94. while #game.Teams.Guards:GetPlayers() == 8 do
  95. task.wait(1);
  96. end;
  97. remote.TeamEvent:FireServer("Bright blue");
  98. task.wait(1);
  99. localPlayer.Character:PivotTo(originalCFrame);
  100. end,
  101. neutral = function()
  102. remote.TeamEvent:FireServer("Medium stone grey");
  103. task.wait(1);
  104. localPlayer.Character:PivotTo(originalCFrame);
  105. end
  106. }
  107. for name, func in pairs(teamsAndFunc) do
  108. if type(team) == "string" and name == team then
  109. func();
  110. log:print("Success", "Team changed to " .. team);
  111. break;
  112. elseif type(team) == "nil" and type(unwantedTeam) == "string" and name ~= unwantedTeam then
  113. func();
  114. log:print("Success", "Swapped to team: " .. name);
  115. break;
  116. end
  117. log:print("Error", "Invalid team: " .. tostring(team));
  118. end
  119. end
  120.  
  121. -- Arrest
  122. local function Arrest(Player)
  123. if Player.Character and Player.Character:FindFirstChild("Head") and LocalPlayer then
  124. local OldPos = LocalPlayer.Head.CFrame
  125. LocalPlayer:SetPrimaryPartCFrame(Player.Character.Head.CFrame)
  126. wait(0.07)
  127. Remote.arrest:InvokeServer(Player.Character.Head)
  128. LocalPlayer:SetPrimaryPartCFrame(OldPos)
  129. end
  130. end
  131.  
  132. -- Kill
  133. local function killPlayer(Player : Player | string)
  134. if killSettings.settings.killMethod == "Melee" then
  135. local pivotPoint = localPlayer.Character:GetPivot();
  136. localPlayer.Character:PivotTo(Player.Character:GetPivot());
  137. task.wait(0.4);
  138. for i = 1, 20 do
  139. replicatedStorage.meleeEvent:FireServer(players:FindFirstChild(Player));
  140. if Player.Character.Humanoid.Health == 0 then
  141. break;
  142. end
  143. end
  144. localPlayer.Character:PivotTo(pivotPoint);
  145. log:print("Success", "Melee killed player: " .. Player);
  146. elseif killSettings.settings.killMethod == "Gun" then
  147. local info = {didChangeTeamColor = nil, oldTeamColor = nil};
  148.  
  149. if localPlayer.TeamColor == Player.TeamColor then
  150. info.didChangeTeamColor = true;
  151. info.oldTeamColor = localPlayer.Team.Name;
  152.  
  153. teamEvent(nil, Player.Team.Name);
  154. end
  155.  
  156. for i = 1, 6 do
  157. if not localPlayer.Backpack:FindFirstChild("M9") or not localPlayer.Character:FindFirstChild("M9") then
  158. itemHandler("m9");
  159. end
  160. if not localPlayer.Character:FindFirstChild("M9") then
  161. localPlayer.Backpack:FindFirstChild("M9").Parent = localPlayer.Character;
  162. end
  163. if Player.Character.Humanoid.Health == 0 then
  164. break;
  165. end
  166.  
  167. replicatedStorage:FindFirstChild("ShootEvent"):FireServer({{RayObject = Ray.new(Vector3.new(0)), Distance = 1, Cframe = CFrame.new(0, 0, 0), Hit = Player.Character:FindFirstChild("Head")}}, localPlayer.Character:FindFirstChild("M9"));
  168. localPlayer.Character:FindFirstChild("M9"):Destroy();
  169. log:print("Success", "Gun killed player: " .. Player);
  170. end
  171. teamEvent(info.oldTeamColor);
  172. end
  173. end
  174.  
  175. -- Gate
  176. remote.ItemHandler:InvokeServer(workSpace.Prison_ITEMS.buttons["Prison Gate"]["Prison Gate"]);
  177.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement