Truth Nuke: Difference between revisions
mNo edit summary |
No edit summary |
||
| Line 1: | Line 1: | ||
{{Infobox table|title=Imperial Alliance Members Involved|label1=Bluemetaknight|data1=[https://steamcommunity.com/profiles/76561198125447536 Steam Profile]|label2=BREACHER/2SPROCKET|data2=[https://steamcommunity.com/profiles/76561198172297765 Steam Profile]|data3=[https://steamcommunity.com/profiles/76561198265263184 Steam Profile]|label3=Ratakis|label5=Computeration|data5=[https://steamcommunity.com/profiles/76561198379858637 Steam Profile]|data4=[https://steamcommunity.com/profiles/76561198166845655 Steam Profile]|label4=Duff}} | {{Infobox table|title=Imperial Alliance Members Involved|label1=Bluemetaknight|data1=[https://steamcommunity.com/profiles/76561198125447536 Steam Profile]|label2=BREACHER/2SPROCKET|data2=[https://steamcommunity.com/profiles/76561198172297765 Steam Profile]|data3=[https://steamcommunity.com/profiles/76561198265263184 Steam Profile]|label3=Ratakis|label5=Computeration|data5=[https://steamcommunity.com/profiles/76561198379858637 Steam Profile]|data4=[https://steamcommunity.com/profiles/76561198166845655 Steam Profile]|label4=Duff|image=ImperialAlliance.png}} | ||
Truth Nuke is an exposé produced by the [[Cerulean Taskforce]] in the form of a [https://www.youtube.com/watch?v=kedAdwBJz-8 YouTube video] during early 2024. It spanned several skirmishes during the period of February 15th, 2024 to March 4th, 2024 between the [[Kestrel-Astria Treaty Organization]] and the [[Imperial Alliance]]. The video exposed that several members of the Imperial Alliance were found to be producing and/or knowingly using technology which abused exploits in ACF-3, and several others did not care it was happening. The video ultimately led to the internal fracturing of the alliance, and later its dissolution after [[The Imperium]] and the Cerulean Taskforce worked together in a second exposé named [[Truth Meteor]]. | Truth Nuke is an exposé produced by the [[Cerulean Taskforce]] in the form of a [https://www.youtube.com/watch?v=kedAdwBJz-8 YouTube video] during early 2024. It spanned several skirmishes during the period of February 15th, 2024 to March 4th, 2024 between the [[Kestrel-Astria Treaty Organization]] and the [[Imperial Alliance]]. The video exposed that several members of the Imperial Alliance were found to be producing and/or knowingly using technology which abused exploits in ACF-3, and several others did not care it was happening. The video ultimately led to the internal fracturing of the alliance, and later its dissolution after [[The Imperium]] and the Cerulean Taskforce worked together in a second exposé named [[Truth Meteor]]. | ||
Revision as of 01:29, 6 December 2025
| Imperial Alliance Members Involved | |
|---|---|
| Bluemetaknight | Steam Profile |
| BREACHER/2SPROCKET | Steam Profile |
| Ratakis | Steam Profile |
| Duff | Steam Profile |
| Computeration | Steam Profile |
Truth Nuke is an exposé produced by the Cerulean Taskforce in the form of a YouTube video during early 2024. It spanned several skirmishes during the period of February 15th, 2024 to March 4th, 2024 between the Kestrel-Astria Treaty Organization and the Imperial Alliance. The video exposed that several members of the Imperial Alliance were found to be producing and/or knowingly using technology which abused exploits in ACF-3, and several others did not care it was happening. The video ultimately led to the internal fracturing of the alliance, and later its dissolution after The Imperium and the Cerulean Taskforce worked together in a second exposé named Truth Meteor.
Prelude
On May 7th, 2023, the Yakugirian leader CRISIS asked one of his members, BREACHER, to help him set up YSR's T-80BVM. Unknowingly to CRISIS, BREACHER installed a chip on the T-80BVM called "ABS." This is the first time the chip was seen on production vehicles, although previous members/affiliates of the Imperial Alliance attest it was used even earlier than this. The chips purpose is to apply external non-ACF forces to the tank for the purpose of stabilization. Chips that apply external force to a contraption are against most faction and server rulesets when used outside of rare exceptions (aircraft, for example, due to the fact there's no practical alternative at the moment). The chip also set wheel inertia to further assist in stabilization.

At the same time that this was happening, the Cerulean Taskforce and its allies were attempting to start a faction-combat server named "Biden's Hair," while also attempting to work with the Imperial Alliance on an agreed upon ruleset, despite their previous behavior strongly discouraging an attempt to work together. The extents of their cheating - notably, during these attempts at good faith discussions - were not known until post-exposé. On July 15th, 2023, conflicts between the Imperial Alliance and the Kestrel-Astria Treaty Organization had come to a head. The Biden's Hair ruleset discussions, partially due to some aggression from KATO members during the talks, and some actions of lower-KATO members, had started to fall apart. Subsequently, Bluemetaknight announced that he was no longer interested in discussions.
The conflicts spanning the next twelve days are undocumented for the most part, with the exception of the final conflict on July 27th, 2023. During the conflicts, the Cerulean Taskforce was developing their first iteration of their scanners. These were developed both because of the conflicts, and because it was believed that the Imperial Alliance never wanted Biden's Hair to work out, and were just waiting until they could find a way to blame KATO and justify escalation. These prototype scanners discovered that Bluemetaknight and BREACHER were using not solid seats, and although they claimed at the time it was accidental, conflicts ceased soon after. It was also discovered that one variant of the VTOL had two seats on it, but it was unknown at the time if this was anything of significance. Plausible deniability led to people initially believing this was some sort of multi-role setup, but it was later admitted by Bluemetaknight its intention was to game K/D ratios.
-
The Bluemetaknight VTOL used ~July 29th, 2023. Notably, the [P]'s are seats. There are two seats because one of them is a faux seat, while the other is a microscopic nano_compare seat to ensure the user is harder to kill.
-
Another variation of the Bluemetaknight VTOL with a non-solid seat used by BREACHER. Used on July 29th, 2023.
-
A closer screenshot of Bluemetaknight's VTOL, note that the scanner labels the seat as "NOTSOLID."
February 15th, 2024
On February 15th, 2024, around 9:30 PM PST, Bluemetaknight, BREACHER, and Ratakis were noticed on Valen Sandbox by Captain Cancer and March, both being Cerulean Taskforce directors. Notably, Computeration was also on, but went unnoticed. Captain Cancer joined at 9:38 PM, with March following shortly after, at 9:44 PM. Immediately out of the gate, the first instance of illegal technology in play was recorded at 9:51 PM by Bluemetaknight. While it was not noticed at the time, recordings show a fuel tank under the map following his tank. The scanner at this stage was very primitive, and publicly available as the Cerulean Taskforce wanted to encourage transparency in faction combat - both factors likely contributed to the under-the-map fuel going unnoticed. The conflict ended with March disconnecting at 10:38 PM, and with Bluemetanight/BREACHER disconnecting at the same time at 10:59 PM. March immediately began work on more in-depth scanners.
February-March 2024
(NOTE: still work to do in separating these out into their own individual days)
On February 24th, Phil_2014, a non-KATO member at the time, joined a Modrik voice channel during a battle and witnessed a large argument between Crisis and other Modrik members over personal matters. After Crisis left, Xgonn (AKA Fabinot) resurrected the Imperial Alliance the same day. Phil was then contacted by March, the leader of the Cerulean Taskforce, and introduced to a private group chat with other KATO members to share his findings from spying on IA. Over the next few days, Phil secretly recorded IA voice channels and their streams during battles against KATO.
During a review of the footage Phil captured, it was discovered that the Phucat, the main battle tank produced by Bluemetaknight, was using a microscopic nano_compare seat to make the driver nearly invulnerable. It was also found to be using the ABS chip that was seen on Crisis' T-80BVM and BREACHER's Big Ounce, a recreation of the ISA Thumper tank.
References
ABS
This is the source code for ABS, coded by Bluemetaknight.
--@name ABS V2
--@author
--@server
--@model models/cheeze/wires/nano_chip.mdl
wire.adjustPorts({Active = 'number',A = 'number',D = 'number',Base = 'entity', I = "entity",II = "entity",III = "entity",IV = "entity", ZAxis = 'entity', ZAxisPar = 'entity', LGB = 'entity', RGB = 'entity'},{Weld = 'number', RBrakeMod = 'number', LBrakeMod = 'number'})
local function filter(ent) return ent:getOwner() != owner() end
local function filter2(ent) return ent:getOwner() == owner() end
local Base = wire.ports.Base
local Core = 0
local Up = Vector(0,0,1)
local LG = wire.ports.LGB
local RG = wire.ports.RGB
local last_think = timer.curtime()
local last_pos = Base:getPos()
local HoloLastYaw = 0
local ZAxis = wire.ports.ZAxis
local ZAxisPar = wire.ports.ZAxisPar
constraint.breakType(ZAxisPar,"AdvBallsocket")
local Inertia = 1
local Multi = 10000
local UseConst = 1 --Experimental oversteer correction. Bugs outsomtimes and locks your yaw. Use at your own risk.
if UseConst == 1 then
ConstFric = 66666
Const = constraint.ballsocketadv(ZAxis, ZAxisPar, nil, nil, Vector(), Vector(), nil, nil, Vector(-360), Vector(360), Vector(ConstFric),true)
end
local Pod = wire.ports.Pod
local LG = wire.ports.LGB
local RG = wire.ports.RGB
Wheels=find.byModel("models/sprops/trans/wheel_f/f_wheel50.mdl",filter2)
for i, v in ipairs(Wheels) do
if v:isValid()==true then
v:setInertia(Vector(13.85,9.83,9.83))
v:setCollisionGroup(1)
end
end
timer.create("Link", 0.5, 0, function()
RG:acfLinkTo(wire.ports.III,false)
LG:acfLinkTo(wire.ports.II,false)
end)
if UseConst == 1 then
hook.add( "input", "", function(name,value)
if name == "A" then
if value == 1 then
if Const:isValid() then
Const:remove()
end
Const = constraint.ballsocketadv(ZAxis, ZAxisPar, nil, nil, Vector(), Vector(), nil, nil, Vector(-360), Vector(360), Vector(0),true)
elseif value == 0 then
if Const:isValid() then
Const:remove()
end
Const = constraint.ballsocketadv(ZAxis, ZAxisPar, nil, nil, Vector(), Vector(), nil, nil, Vector(-360), Vector(360), Vector(ConstFric),true)
end
elseif name == "D" then
if value == 1 then
if Const:isValid() then
Const:remove()
end
Const = constraint.ballsocketadv(ZAxis, ZAxisPar, nil, nil, Vector(), Vector(), nil, nil, Vector(-360), Vector(360), Vector(0),true)
elseif value == 0 then
if Const:isValid() then
Const:remove()
end
Const = constraint.ballsocketadv(ZAxis, ZAxisPar, nil, nil, Vector(), Vector(), nil, nil, Vector(-360), Vector(360), Vector(ConstFric),true)
end
end
end)
end
hook.add("Think","",function()
local delta_t = timer.curtime() - last_think
last_think = timer.curtime()
local Active = wire.ports.Active
local MPH = (wire.ports.Base:getVelocity():getLength()*0.75) * (3600 / 63360)
if Active == 1 then
Core = Core + 1
if Core == 10 then
local t = trace.trace(Base:getPos(), Base:getPos()+Vector(0,0,-500), filter)
Base:setCollisionGroup(1)
Up = t.HitNormal
if Up == Vector() then Up = Vector(0,0,1) end
Core = 0
end
local Forward = Base:getForward()
local WorldForward = Forward:setZ(0)
local Velocity = Base:getVelocity():getNormalized():setZ(0)
local Cross = WorldForward:cross(Velocity).z
local ForceDir = Forward:cross(Up)
local Dot = WorldForward:dot(Velocity)
local Ang = math.acos(Dot)*(180/math.pi)*math.sign(Cross)
wire.ports.RBrakeMod = (-Ang)*0.5
wire.ports.LBrakeMod = (Ang)*0.5
if wire.ports.A == 1 or wire.ports.D == 1 then
Inertia = 0
ZAxis:setInertia(Vector(250))
wire.ports.Weld = 0
elseif Inertia <= 1 then
Inertia = math.clamp(Inertia+0.15,0,1)
ZAxis:setInertia(Vector(250+(Inertia*Multi)))
wire.ports.Weld = 1
end
if MPH > 5 then
wire.ports.I:applyForceCenter((1+(math.clamp(Cross,0,10)*15))*Vector(0,0,-10)*wire.ports.I:getMass())
wire.ports.II:applyForceCenter((1+(math.clamp(Cross,0,10)*15))*Vector(0,0,-10)*wire.ports.II:getMass())
wire.ports.III:applyForceCenter((1+(math.clamp(-Cross,0,10)*15))*Vector(0,0,-10)*wire.ports.III:getMass())
wire.ports.IV:applyForceCenter((1+(math.clamp(-Cross,0,10)*15))*Vector(0,0,-10)*wire.ports.IV:getMass())
end
end
end)