Works fine on single player but gives me an error on my server...

So in preparation for the version 1.5 release of my Tool I added it to my server and used it. Works pretty well, but 2 problems, one:the autorun that people have to download fails on client side because of variables I declared in the spawn of an entity not coming over to the client and thus the hook for them sees them as nil and I get this:
Hook ‘AentityHook’ Failed: autorun\sh_aentity.lua:50: attempt to perform arithmetic on local ‘myminpropulsion’ (a nil value)

Now, I’m going to guess that this has something to do with the variables NOT being networked or datatables but im not sure. All I do know is that without the client having the hook working, the client side prediction fails and the smoothness of the acceleration is lost and replaced by a slightly shaking screen where results on distance and effect are unchanged. From start to finish, it works just the same, but the process from one to the other is shaky and I would really like help removing that. Maybe I do have to use networked variables, I’m not sure :\

code please
you get that error cause myminpropulsion is nil.
Check so the variable is declared.

alright, so this all takes place in several files, but the ones I most worried about are the init.lua,shared.lua,and sh_aentity.lua. Now they are declared server side, but not client side, that much I can figure out by disconnecting and reconnecting and getting the error once again but having it still work. What you really need to see now that I think about it is just init.lua and the shared.lua because sh_aentity is using their ENT:GetMinPropulsion and what have you to obtain their info, nothing is wrong in sh_aentity, but something is wrong in where they are being set, so here is their code:
[LUA]
----Init.lua for AEntity—
AddCSLuaFile( “cl_init.lua” )
AddCSLuaFile( “shared.lua” )
include( “shared.lua”)

function ENT:SetMinPropulsion( minpropulsion)
self.myminpropulsion = tonumber( minpropulsion )
end
function ENT:SetMaxPropulsion( maxpropulsion, minpropulsion )
if tonumber(maxpropulsion) > tonumber(minpropulsion) then
self.mymaxpropulsion = tonumber( maxpropulsion )
else
self.mymaxpropulsion = tonumber(minpropulsion)
end
end
function ENT:SetAccelRate( accelrate )
self.myrate = tonumber(accelrate)
end
function ENT:SetAFriction( afriction )
self.myfriction = tonumber(afriction)
end
function ENT:SetRepulsion( repulsion )
self.myrepulsion = tonumber( repulsion )
end
function ENT:SetPlayer( ply )
self.Owner = ply
end
function ENT:GetPlayer( )
return self.Owner
end
function ENT:Colorize()
local red = 0
if self.myminpropulsion>self.mymaxpropulsion then
red = math.Round(self.myminpropulsion255/1000)
else
red = math.Round(self.mymaxpropulsion
255/1000)
end
local blue = math.Round((self.myrepulsion*255/1000))
self:SetColor(red,0,blue,255)
end
function ENT:Initialize()
self.myminpropulsion = 0
self.mymaxpropulsion = 500
self.myrate = 20
self.myfriction = 10
self.myrepulsion = 0
self:PhysicsInit( SOLID_VPHYSICS )
self:SetMoveType( MOVETYPE_VPHYSICS )
self:SetSolid( SOLID_VPHYSICS )
self.Entity:SetTrigger( true )
end

function ENT:StartTouch( ent )
if not ent:IsValid() or not ent:GetPhysicsObject():IsValid() or ent:GetClass()==“prop_aentity” then return end
ent.a_AentityEnts = ent.a_AentityEnts or {}
table.insert(ent.a_AentityEnts, self)
if not ent:IsPlayer() then
table.insert(a_EntsOnAentity, ent)
return
end
umsg.Start(“a_StartTouch”, ent)
umsg.Entity(self)
umsg.End()
end
function ENT:EndTouch( ent )
if not ent:IsValid() or not ent:GetPhysicsObject():IsValid() or ent:GetClass()==“prop_aentity” then
return
end
if not ent.a_AentityEnts then return end
for k, e in ipairs(ent.a_AentityEnts) do
if not IsValid(e) or e == self then
table.remove(ent.a_AentityEnts, k)
end
end
if #(ent.a_AentityEnts) == 0 then
ent.a_AentityEnts = nil
if ent.a_IsOnAentity then
ent.a_IsOnAentity = false
end
end
if not ent:IsPlayer() then
for k, e in ipairs(a_EntsOnAentity) do
if not IsValid(e) or e == self then
table.remove(ent.a_EntsOnAentity, k)
end
end
return
end
umsg.Start(“a_EndTouch”, ent)
umsg.Entity(self)
umsg.End()
end

—shared.lua for AEntity–
ENT.Type = “anim”
ENT.Base = “base_gmodentity”

ENT.PrintName = “aentity”
ENT.Author = “Majik”

ENT.Spawnable = false
ENT.AdminSpawnable = false

function ENT:GetMaxPropulsion( )
return self.mymaxpropulsion
end
function ENT:GetMinPropulsion( )
return self.myminpropulsion
end
function ENT:GetAccelRate( )
return self.myrate
end
function ENT:GetAFriction( )
return self.myfriction
end
function ENT:GetRepulsion( )
return self.myrepulsion
end

[/LUA]