Skip to content

Commit b419e72

Browse files
authored
Release v267
2 parents 480de93 + c3cbcd4 commit b419e72

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

54 files changed

+473
-280
lines changed

.github/copilot-instructions.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
This is a Roblox admin system, which therefore uses Luau. Therefore make sure to optimise for Luau – generally, using task.wait() instead of wait(), and interpolated strings instead of concatenation.

Loader/Config/Plugins/Server-Example Plugin.luau

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,11 +8,11 @@
88
PlayerJoined will fire after the player finishes initial loading
99
CharacterAdded will also fire after the player is loaded, it does not use the CharacterAdded event.
1010
11-
service.Events.PlayerAdded(function(p)
11+
service.Events.PlayerAdded:Connect(function(p)
1212
print(`{p.Name} Joined! Example Plugin`)
1313
end)
1414
15-
service.Events.CharacterAdded(function(p)
15+
service.Events.CharacterAdded:Connect(function(p)
1616
server.RunCommand('name', plr.Name, 'BobTest Example Plugin')
1717
end)
1818

Loader/Config/Settings.luau

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -291,7 +291,7 @@ settings.CommandFeedback = false -- Should players be notified when commands wi
291291
settings.CrossServerCommands = true -- Are commands which affect more than one server enabled?
292292
settings.ChatCommands = true -- If false you will not be able to run commands via the chat; Instead, you MUST use the console or you will be unable to run commands
293293
settings.CreatorPowers = true -- Gives me creator-level admin; This is strictly used for debugging; I can't debug without full access to the script
294-
settings.CodeExecution = true -- Enables the use of code execution in Adonis; Scripting related (such as ;s) and a few other commands require this
294+
settings.CodeExecution = false -- Enables the use of code execution in Adonis. Scripting related (such as ;s) and a few other commands require this
295295
settings.SilentCommandDenials = false -- If true, there will be no differences between the error messages shown when a user enters an invalid command and when they have insufficient permissions for the command
296296
settings.OverrideChatCallbacks = true -- If the TextChatService ShouldDeliverCallbacks of all channels are overridden by Adonis on load. Required for slowmode. Mutes use a CanSend method to mute when this is set to false.
297297

Loader/Loader/Loader.server.luau

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -201,14 +201,17 @@ else
201201
warn(`Failed to load Adonis MainModule {moduleId} due to {module}! If this does not work please purchase the Adonis MainModule to your inventory. Using backup method...`)
202202
yxpcall(function()
203203
module = loadModuleAsset(moduleId)
204+
success = true
204205
end, function(reason)
205206
warn(`Failed to load Adonis mainmodule {moduleId} via :LoadAsset() method due to {reason}! Loading the backup MainModule...`)
206207
yxpcall(function()
207208
module = assert(require(data.Backup), "Backup module returned invalid values!")
209+
success = true
208210
end, function(reason)
209211
warn(`Failed to load Adonis backup MainModule {data.Backup} due to {reason}! If this does not work please purchase the Adonis backup MainModule to your inventory. Using backup method...`)
210212
yxpcall(function()
211213
module = loadModuleAsset(data.Backup)
214+
success = true
212215
end, function(reason)
213216
module = nil
214217
warn(`FATAL ERROR! Failed to load Adonis backup MainModule {moduleId} via :LoadAsset() method due to {reason}! Adonis can't be booted up! Please contact the Adonis helpers immediately and add both the regular MainModule and the backup MainModule to your user&group inventory!`)
@@ -217,7 +220,7 @@ else
217220
end)
218221
end
219222

220-
local response = assert(module, "FATAL ERROR! Adonis bootstrap function is missing!")(data)
223+
local response = assert(success and module, "FATAL ERROR! Adonis bootstrap function is missing!")(data)
221224

222225
if response == "SUCCESS" then
223226
if data.Settings and data.Settings.HideScript and not data.DebugMode and not RunService:IsStudio() then

Loader/Version.model.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"ClassName": "NumberValue",
33
"Properties": {
4-
"Value": 266
4+
"Value": 267
55
}
66
}

MainModule/Client/Client.luau

Lines changed: 17 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -139,17 +139,17 @@ local log = function(...)
139139
end
140140

141141
--// Dump log on disconnect
142+
local Folder = script.Parent
142143
local isStudio = game:GetService("RunService"):IsStudio()
143144
game:GetService("NetworkClient").ChildRemoved:Connect(function(p)
144-
if not isStudio then
145+
if not isStudio or Folder:FindFirstChild("ADONIS_DEBUGMODE_ENABLED") then
145146
print("~! PLAYER DISCONNECTED/KICKED! DUMPING ADONIS CLIENT LOG!")
146147
dumplog()
147148
end
148149
end)
149150

150151
local unique = {}
151152
local origEnv = getfenv()
152-
local Folder = script.Parent
153153
setfenv(1, setmetatable({}, { __metatable = unique }))
154154
local startTime = time()
155155
local oldInstNew = Instance.new
@@ -170,9 +170,10 @@ end
170170

171171
local function logError(...)
172172
warn("ERROR: ", ...)
173+
table.insert(clientLog, table.concat({"ERROR:", ...}, " "))
173174

174175
if client and client.Remote then
175-
client.Remote.Send("LogError", table.concat({ ... }, " "))
176+
client.Remote.Send("LogError", table.concat({...}, " "))
176177
end
177178
end
178179

@@ -364,7 +365,7 @@ locals = {
364365

365366
log("Create service metatable")
366367

367-
service = require(Folder.Shared.Service)(function(eType, msg, desc, ...)
368+
service = require(Folder.Parent.Shared.Service)(function(eType, msg, desc, ...)
368369
--warn(eType, msg, desc, ...)
369370
local extra = { ... }
370371
if eType == "MethodError" then
@@ -543,11 +544,20 @@ return service.NewProxy({
543544
data.DebugMode = false
544545
end
545546

547+
log("Adding ACLI logs to the client logs")
548+
if data.acliLogs then
549+
for _, v in data.acliLogs do
550+
log(v)
551+
end
552+
end
553+
554+
log("Clearing environment")
546555
setfenv(1, setmetatable({}, { __metatable = unique }))
547556

557+
log("Loading necessary client values")
548558
client.Folder = Folder
549559
client.UIFolder = Folder:WaitForChild("UI", 9e9)
550-
client.Shared = Folder:WaitForChild("Shared", 9e9)
560+
client.Shared = Folder.Parent:WaitForChild("Shared", 9e9)
551561

552562
client.Loader = data.Loader
553563
client.Module = data.Module
@@ -578,11 +588,13 @@ return service.NewProxy({
578588
end
579589
end
580590

591+
log("Fomratting chatlogs")
581592
for i, line in ipairs(client.Changelog) do
582593
client.FormattedChangelog[i] = applyColour(line)
583594
end
584595

585596
--// Setup MatIcons
597+
log("Setting up material icons")
586598
do
587599
local MaterialIcons = oldReq(service_UnWrap(client.Shared.MatIcons))
588600
client.MatIcons = setmetatable({}, {

MainModule/Client/Core/Functions.luau

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -860,7 +860,7 @@ return function(Vargs, GetEnv)
860860
Parent = p;
861861
Name = "Decal";
862862
Face = 2;
863-
Texture = `rbxassetid://{decalId}`;
863+
Texture = `rbxthumb://type=Asset&id={decalId}&w=420&h=420`;
864864
Transparency = 0;
865865
}) else nil
866866

@@ -1456,7 +1456,7 @@ return function(Vargs, GetEnv)
14561456
if decal and decal~=0 then
14571457
local dec = service.New("Decal", p)
14581458
dec.Face = 2
1459-
dec.Texture = `http://www.roblox.com/asset/?id={decal}`
1459+
dec.Texture = `rbxthumb://type=Asset&id={decal}&w=420&h=420`
14601460
dec.Transparency=0
14611461
end
14621462
p.Size = Vector3.new(.2,.2,.2)

MainModule/Client/Core/Variables.luau

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -76,6 +76,7 @@ return function(Vargs, GetEnv)
7676
ParticlesEnabled = true;
7777
CapesEnabled = true;
7878
HideChatCommands = false;
79+
KeepWindowWidthOnMinimize = false;
7980
CanUseEditableImages = false; -- TODO: Pool from FFlag
8081
Particles = {};
8182
KeyBinds = {};

MainModule/Client/Plugins/Anti_Cheat.luau

Lines changed: 14 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -296,13 +296,16 @@ return function(Vargs)
296296
local screenshotHud = service.GuiService:FindFirstChildOfClass("ScreenshotHud")
297297

298298
for _, container in {Player.Character, service.StarterPack, Player:FindFirstChildOfClass("Backpack")} do
299-
for _, v in ipairs(container:GetChildren()) do
299+
for _, v: Instance in ipairs(container:GetChildren()) do
300300
if v:IsA("BackpackItem") and service.Trim(v.TextureId) ~= "" then
301301
table.insert(coreUrls, service.Trim(v.TextureId))
302+
elseif v:IsA("MeshPart") then
303+
table.insert(coreUrls, service.Trim(v.MeshId))
304+
table.insert(coreUrls, service.Trim(v.TextureID)) -- For some reason, on MeshParts it's TextureID instead of TextureId
302305
end
303306
end
304307
end
305-
308+
306309
if screenshotHud and service.Trim(screenshotHud.CameraButtonIcon) ~= "" then
307310
table.insert(coreUrls, service.Trim(screenshotHud.CameraButtonIcon))
308311
end
@@ -315,7 +318,7 @@ return function(Vargs)
315318
local rawContentProvider = service.UnWrap(service.ContentProvider)
316319
local workspace = service.UnWrap(workspace)
317320
local tempDecal = service.UnWrap(Instance.new("Decal"))
318-
tempDecal.Texture = "rbxasset://textures/face.png" -- Its a local asset and it's probably likely to never get removed, so it will never fail to load, unless the users PC is corrupted
321+
tempDecal.Texture = "rbxasset://textures/face.png" -- It's a local asset and it's likely to never get removed, so it will never fail to load, unless the user's PC is corrupted
319322
local coreUrls = getCoreUrls()
320323

321324
if not (service.GuiService.MenuIsOpen or service.ContentProvider.RequestQueueSize >= 50 or Player:GetNetworkPing() * 1000 >= 750) then
@@ -337,14 +340,14 @@ return function(Vargs)
337340
end
338341

339342
hasDetected = true
340-
Detected("Kick", "Disallowed content URL detected in CoreGui")
343+
Detected("Kick", "Disallowed content URL detected in CoreGui: " ..url)
341344
end
342345
end)
343346

344347
tempDecal:Destroy()
345348
task.wait(6)
346-
if not activated then -- // Checks for anti-coregui detetection bypasses
347-
Detected("kick", "Coregui detection bypass found")
349+
if not activated then -- // Checks for Anti-CoreGui detection bypasses
350+
Detected("kick", "CoreGui detection bypass found")
348351
end
349352
end
350353

@@ -365,7 +368,7 @@ return function(Vargs)
365368
then
366369
Detected("kick", "Content provider spoofing detected")
367370
end
368-
371+
369372
-- // GetFocusedTextBox detection
370373
local textbox = service.UserInputService:GetFocusedTextBox()
371374
local success, value = pcall(service.StarterGui.GetCore, service.StarterGui, "DeveloperConsoleVisible")
@@ -506,6 +509,7 @@ return function(Vargs)
506509
"run_secure_function"; -- synapse specific (?)
507510
"Kill by Avexus#1234 initialized";
508511
--"FilteringEnabled Kill"; -- // Disabled due to potential of having false flags
512+
"Depricated & Drop Support on"; -- VegaX detection
509513
"Couldn't find target with input:";
510514
"Found target with input:";
511515
"Couldn't find the target's root part%. :[";
@@ -537,7 +541,7 @@ return function(Vargs)
537541
not service.UserInputService.TouchEnabled
538542
then
539543
if not pcall(function()
540-
if not isStudio and (findService(game, "VirtualUser") or findService(game, "VirtualInputManager")) then
544+
if not isStudio and (findService(game, "VirtualUser") or findService(game, "VirtualInputManager") or findService(game, "UGCValidationService")) then
541545
Detected("crash", "Disallowed Services Detected")
542546
end
543547
end) then
@@ -712,7 +716,7 @@ return function(Vargs)
712716
if ran then
713717
Detected("crash", "RobloxLocked usable")
714718
end
715-
719+
716720
local function getDictionaryLenght(dictionary)
717721
local len = 0
718722

@@ -789,7 +793,7 @@ return function(Vargs)
789793
end, function()
790794
Detected("kick", "Tamper Protection 0x16C1D")
791795
end)
792-
796+
793797
if gcinfo() ~= collectgarbage("count") then
794798
Detected("kick", "GC spoofing detected")
795799
end

MainModule/Client/Plugins/Misc_Features.luau

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,7 @@ return function(Vargs, GetEnv)
3838
Logs:AddLog("Script", `Attempted to add {ind} to legacy Remote.Unencrypted. Moving to Remote.Commands`)
3939
end
4040
})
41+
client.Folder:SetSpecial("Shared", client.Shared)
4142
Functions.GetRandom = function(pLen)
4243
local random = math.random
4344
local format = string.format

0 commit comments

Comments
 (0)