Here's my weapon tbl, it may reference a few effects that's not in MediaVPs.
$Name: LR Railgun
+Tech Title:		 XSTR( "Insert Name", -1 )
+Tech Anim:		 tech_subach
+Tech Description:	 XSTR( "Insert Tech Description.", -1 )
$end_multi_text
$Model File: none
@Laser Bitmap:						massdriver_bitmap
@Laser Glow:						Maxim_Glow
@Laser Color:						250, 200, 50
@Laser Color2:						255, 200, 10
@Laser Length: 12
@Laser Head Radius: 66
@Laser Tail Radius: 66
$Mass: 0.6
$Velocity: 4000.0
$Fire Wait: 5
$Damage: 1000
$Armor Factor: 1.0
$Shield Factor: 1.0
$Subsystem Factor: 0.06
$Lifetime: 7.5
$Energy Consumed: 0.90
$Cargo Size: 0.0
$Homing: NO
$LaunchSnd: 198
$ImpactSnd: 88
+Weapon Range: 						30000
$Flags: ( "Big Ship" "Huge" "particle spew" )
$Trail:
	+Start Width:	15.0
	+End Width:		15.0
	+Start Alpha:	1.0
	+End Alpha:		0.0
	+Max Life:		4.0
	+Bitmap:		massdriver_trail
$Icon: iconSD4
$Anim: WSHL-12
$Impact Explosion: explo3
$Impact Explosion Radius: 81
$Piercing Impact Explosion: 		exp06
$Piercing Impact Radius: 			30.0
$Piercing Impact Velocity: 			375
$Piercing Impact Splash Velocity: 	375
$Piercing Impact Variance: 			0.0
$Piercing Impact Life: 				0.25
$Piercing Impact Particles: 		30
$Muzzleflash: 				railgun_explo
$Pspew:
	+Count:		1
	+Time:		15
	+Vel:		0.0
	+Radius:	7.5
	+Life:		0.1
	+Scale:		0.0
	+Bitmap:	massdriver_particle
The weapon range line for beams controls the effective targeting range for beams (since beams all run for 30km normally on a "miss" unless its attentuation range is changed). If you add it to a regular weapon, it will override the game's default targeting range calculation based on Lifetime X Velocity, and instead uses the specified range before firing, However, the projectiles' effective range is unchanged - it just changes when the AI will fire it.