Trouble importing custom rig for prop (not ragdoll)

So Ive setup this rig for a anti aircraft turret im planning to script later on and whenever I import it ingame, the rig completly messes up so here is my rig in my 3d editor:

And here is how Ive weighted it:

Here is my QC file:


$modelname "bulletstorn_4.mdl"

$bodygroup "studio"
{
	studio "bulletstorm_4_reference.smd"
}

$cdmaterials "models\controllable_turrets\bulletstorm"

$surfaceprop "metal"

$contents "solid"

$sequence "ragdoll" "bulletstorn_4_anims\ragdoll.smd"	{
	fps 30
	activity	"ACT_DIERAGDOLL" 1
}

$collisionjoints "bulletstorm_4_physics.smd"
{
	$mass 1000
	$inertia 10
	$damping 0.01
	$concave
	$rotdamping 1.5
	$rootbone "Model::Base"


	$jointconstrain "Model::Body" x fixed 0 0 0
	$jointconstrain "Model::Body" y fixed 0 0 0
	$jointconstrain "Model::Body" z limit -180 180 0
	
	$jointconstrain "Model::Turret" x limit -70 90 0
	$jointconstrain "Model::Turret" y fixed 0 0 0
	$jointconstrain "Model::Turret" z fixed 
	
	$jointconstrain "Model::Barrel" x fixed 0 0 0
	$jointconstrain "Model::Barrel" y fixed 0 0 0
	$jointconstrain "Model::Barrel" z fixed 0 0 0
}

This is what is fucking pissin me off ingame (note ive added a thruster to show how the rotation is wrong, and how everything just hangs off everything and srry for the lack of proper recording use):

This is how it should rotate in my editor:

http://cdn.makeagif.com/media/2-28-2016/HosW6F.gif

Can someone pls tell me what im doing wrong before I RKO my pc?

I think you should add a few $controller(s) in your qc.

Turrets from HL2 have their rotations/movement done by controllers if I’m not mistaken.