If you have never heard before about the MW3 Server Addon you can look here for a more detailed description of the features:
http://www.itsmods.com/forum/Thread-Rele...addon.html
Current Version:
02.09.2012: v1.414
Requirements:
MW3 Dedicated Server Version > 1.4.382
.NET Framework 3.0
VCRedist2008
VCRedist2010
Installation:
Extract the contents of 'Server Addon' folder in zip in your MW3 Dedicated Server root folder and start the MW3 Server as usual. If it's too hard you may look at this tutorial
http://www.itsmods.com/forum/Thread-How-...noobs.html
Thanks @JariZ
OldRotation:
If you do not like the standard random rotation of MW3 you can use old cod4 style rotation. To do this you simply add the following entries in your sv_config under [Server]
Code:
[Server]
OldRotation=1
//Enable cod4-style rotation
OldRotationVal=playlist ffa_default map mp_dome playlist sd_default map mp_alpha
//Rotation, change to your desire
Changelog:
- Added signature scans so it should work on future versions without the need of updating
- Fixed a bug in the ClientNum property resulting in wrong ServerClient
- Added many new stuff to the API
- Fixed bug of ServerClient.Other.Velocity.Z value returning the Y value
- Fixed a bug in OnCheckBan (thanks @
hillbilly for the report)
- Fixed ServerClient.Other.isADS property
- Added some more stuff to the API
- Added @JariZ's weaponbuilder (thanks @
JariZ)
- Modified OnPlayerDamaged (parameter DamageMod and HitLocation), OnSay (parameter Teamchat) and OnVote (parameter OptionalArgument) events
- Added SayAll and SayTeam function
- Added SetHitLocTable and GetHitLocTable function
- Fixed OldRotation and custom cmds
- Added some more stuff to the API
- Added option to remove map rotation threshold
- Fixed chat bug
- Added Client.Other.SwitchToWeapon (proper weapon switch)
- Added new event OnPrecache (use for precaching shader)
- Added PrecacheShader
- Added KillPlayer
- Added Suicide
- Added Client.Other.EquipementType and Client.Other.OffhandType and other stuff
- Increased OldRotationVal buffer to 1024bytes
- Removed console: part from timed messages
- Added HudElem.Sorting (for overlaying hudelements)
- Added GetWeaponClipSize
Bugs/Problems:
If you encounter bugs or problems please do not post in this thread. Post them in this thread:
http://www.itsmods.com/forum/Thread-Gene...hread.html
API Documentation:
http://addon.teamsdk.com/ (thanks @
narkos)
General
CSHARP Code
int Entity_World //Integer holding the EntityNum of 'World'
int AddonFrameInterval //Integer holding the interval of OnAddonFrame in milliseconds
Entity SpawnEntity (String Entitytype, String Model, Vector Origin) //Spawns an entity and returns it
Entity GetEntity(int EntityNum) //Returns an entity based on the EntityNum
HudElem CreateNewHudElem() //Creates a HudElement and returns it
HudElem GetHudElement(int ID) //Returns a HudElement based on the HudElementNum
void SayAll(ServerClient client, String Message) //chat a message, OnSay event will be triggered
void SayTeam(ServerClient client, String Message) //chat a message to the team, OnSay event will be triggered
void SetHitLocTable(HitLocations hitloc, float multi) //modify HitLocTable multi
float GetHitLocTable(HitLocations hitloc) //get the current HitLocation multi
int GetWeapon(String Weapon, Attachments Att1, Attachments Att2, Attachments Att3, Camos Camo, Reticles Reticle) //Return weapon ID
int GetWeaponClipSize(int WeaponID) //Returns clip size of a weapon
void PlayerSuicide(int ClientNum) //Suicide player
void KillPlayer(int AttackerClientNum, int VictimClientNum, int WeaponID, string sMOD) //Kill a player (sMOD can be string.Empty)
ServerClient struct
CSHARP Code
ConnectionStates ServerClient.ConnectionState //ConnectionStates type holding the players connection state
Stances ServerClient.Stance //Stances type holding the players current Stance
bool ServerClient.Visible //Boolean holding the player's visibility (GSC: hide() and show())
ServerClient.Stats struct
CSHARP Code
int ServerClient.Stats.Shots //Integer holding how many shots a player did, resets on death
ServerClient.Other struct
CSHARP Code
bool ServerClient.Other.WeaponChangeDisabled //Boolean holding if player can change weapon
bool ServerClient.Other.EquipementDisabled //Boolean holding if the player can use equipement
bool ServerClient.Other.WeaponsEnabled //Boolean holding if the player can use weapons
void ServerClient.Other.SwitchToWeapon(int WeaponID) //Switch player's weapon
EquipementTypes ServerClient.Other.EquipementType //Type of equipement
EquipementTypes ServerClient.Other.OffhandType //Type of offhand weapon
void ServerClient.Other.ThrowGrenade() //Make the client throw a grenade (note: does not affect grenade ammo)
bool ServerClient.Other.isClimbing //Boolean holding if the client is on a ladder
ServerClient.Other.UAV //Struct holding UAV settings, do not use 'ServerClient.Other.UAVEnabled' anymore, it's obsolete
ServerClient.Other.Vision //Struct holding vision settings
bool ServerClient.Other.ControlsFrozen //Boolean if the player is frozen, do not use function 'FreezeControls()' anymore, it's obsolete
bool ServerClient.Other.NoClip //Boolean if the player has noclip enabled, do not use function 'EnableNoclip()' anymore, it's obsolete
bool ServerClient.Other.AllowJump //Boolean holding if the player is able to jump
bool ServerClient.Other.isADS //Boolean holding if the player is aiming down sight
bool ServerClient.Other.ButtonPressed(Buttons button) //Returns true or false if the player is pressing the button
bool ServerClient.Other.isAlive //Boolean holding if the player is alive
bool ServerClient.Other.FakeLag //Boolean holding if fake lag is enabled for the client
int ServerClient.Other.MaxHealth //Integer holding the maximum health of a player
int ServerClient.Other.FallDamagePercent //Integer holding the percent of falldamage that is applied (default 100)
bool ServerClient.Other.CurrentWeaponAkimbo //Boolean holding if the current weapon is akimbo (fix for non-working weapons)
int ServerClient.Other.WeaponSlot3 //Integer holding the weapon ID in slot 3
bool ServerClient.Other.WeaponSlot3Akimbo //Boolean holding if weapon in slot 3 is akimbo
int ServerClient.Other.WeaponSlot4 //Integer holding the weapon ID in slot 4
bool ServerClient.Other.WeaponSlot4Akimbo //Boolean holding if weapon in slot 4 is akimbo
int ServerClient.Other.WeaponSlot5 //Integer holding the weapon ID in slot 5
bool ServerClient.Other.WeaponSlot5Akimbo //Boolean holding if weapon in slot 5 is akimbo
int ServerClient.Other.WeaponSlot6 //Integer holding the weapon ID in slot 6
bool ServerClient.Other.WeaponSlot6Akimbo //Boolean holding if weapon in slot 6 is akimbo
ServerClient.Ammo struct
CSHARP Code
int ServerClient.Ammo.WeaponSlot3Ammo //Integer holding the ammo in slot 3
int ServerClient.Ammo.WeaponSlot3AmmoClip //Integer holding the ammo clip in slot 3
int ServerClient.Ammo.WeaponSlot3AkimboAmmo //Integer holding the akimbo ammo in slot 3
int ServerClient.Ammo.WeaponSlot4Ammo //Integer holding the ammo in slot 4
int ServerClient.Ammo.WeaponSlot4AmmoClip //Integer holding the ammo clip in slot 4
int ServerClient.Ammo.WeaponSlot4AkimboAmmo //Integer holding the akimbo ammo in slot 4
int ServerClient.Ammo.WeaponSlot5Ammo //Integer holding the ammo in slot 5
int ServerClient.Ammo.WeaponSlot5AmmoClip //Integer holding the ammo clip in slot 5
int ServerClient.Ammo.WeaponSlot5AkimboAmmo //Integer holding the akimbo ammo in slot 5
int ServerClient.Ammo.WeaponSlot6Ammo //Integer holding the ammo in slot 6
int ServerClient.Ammo.WeaponSlot6AmmoClip //Integer holding the ammo clip in slot 6
int ServerClient.Ammo.WeaponSlot6AkimboAmmo //Integer holding the akimbo ammo in slot 6
ServerClient.Other.UAV struct
CSHARP Code
bool ServerClient.Other.UAV.Enabled //Boolean holding if player has UAV
bool ServerClient.Other.UAV.ShowDirection //Boolean holding if UAV shows enemy player direction
bool ServerClient.Other.UAV.FastUpdate //Boolean holding if UAV updates fast
ServerClient.Other.Vision struct
CSHARP Code
void ServerClient.Other.Vision.VisionSetNaked(string vision, string TransitionTime) //Function to change vision, TransitionTime is milliseconds as string
bool ServerClient.Other.Vision.EMPView //Boolean holding EMP view is enabled
bool ServerClient.Other.Vision.RadiationView //Boolean holding if radiation view is enabled (black/white, like in MW2 Afghan when you go out of map)
Entity struct
CSHARP Code
int Entity.EntityNum //Integer holding the entity's ID
void Entity.SetModel(String model) //Function to set the model of an entity
bool Entity.Visible //Boolean holding the entity's visibility
void Entity.Delete() //Function to delete the entity
float Entity.OriginX //Float holding the entity's X origin
float Entity.OriginY //Float holding the entity's Y origin
float Entity.OriginZ //Float holding the entity's Z origin
HudElem struct
CSHARP Code
float HudElem.Sorting //float value for sorting the hudelements (use for overlaying hudelements)
void HudElem.SetString(string text) //Set a text to the HudElement, note: HudElementType must be Text
void HudElem.SetLabel(string text) //Set a label to the HudElement (HudElementType does not matter)
int HudElem.IconWidth //Set the width of the icon
int HudElem.IconHeight //Set the height of the icon
float HudElem.Value //Set a value to the HudElement, note: HudElementType must be Value (many GSC coders know this type)
int HudElem.HudElementNum //Integer holding the HudElement's ID
HudElementTypes HudElem.Type //HudElementTypes type holding the type of the HudElement
Teams HudElem.Team //Teams type holding the HudElement's team
Fonts HudElem.Font //Fonts type holding the HudElement's font
float HudElem.FontScale //float holding the font scale
bool HudElem.HideInMenu //bool if HudElem should hide when in menu
byte HudElem.PointType //byte holding the point type
byte HudElem.AlignOrg //byte holding the alignment from the origin
void HudElem.SetIcon(String icon) //Function to set an icon to the HudElement
int HudElem.ShowToEnt //Integer holding to which entity the HudElem is shown (Entity_World for all)
float HudElem.OriginX //Float holding the HudElement's X origin
float HudElem.OriginY //Float holding the HudElement's Y origin
float HudElem.OriginZ //Float holding the HudElement's Z origin
HudElem.Color //Struct holding the HudElement's color
HudElem.Color struct
CSHARP Code
byte HudElem.Color.R
byte HudElem.Color.G
byte HudElem.Color.B
byte HudElem.Color.A
//Byte holding the HudElement's value for Red-Green-Blue-Alpha
byte HudElem.Color.GlowR
byte HudElem.Color.GlowG
byte HudElem.Color.GlowB
byte HudElem.Color.GlowA
//Byte holding the HudElement's glow value for Red-Green-Blue-Alpha
Events
CSHARP Code
OnPrecache() //Use this event to precache shaders
OnPlayerDamaged(ServerClient Attacker, ServerClient Victim, String Weapon, Int32 Damage, String DamageMod, HitLocations HitLocation)
OnSay(String Message, ServerClient Client, bool Teamchat)
OnVote(String Vote, ServerClient Client, String OptionalArg)//Optional argument: holds argument for vote if needed (ex. player name when votekicking)
//Note, for compatibility reason old events are still integrated. Do not use these obsolete events and update your plugins to the new events. The old events will eventually be deleted and your plugin will break.
Spawn an entity:
CSHARP Code
Entity ent
= SpawnEntity
("script_model",
"com_plasticcase_trap_friendly",
new Vector
(321,
344,
648));
This will spawn a care package model (unsolid) at the location (321,344,648).
Creating/using HudElements:
For an example on how to create/use HudElements please refer to this example plugin:
http://www.itsmods.com/forum/Thread-Rele...verAd.html
I also planned to include support for TeknoMW3 but sadly most functions changed from 1.4 to 1.5+ so versions < 1.5 are not supported.
Credits:
@
Nukem - main creator
agri
R4z8r
CoMPMStR
Chod
s0beit
AlterIW (@
NTAuthority)
@
zxz0O0 - updating and adding new stuff to the addon
@
SuperNovaAO - helping with sigs
@
Cyanide - 'owner' of code
@
master131
@litgar - testing new version
@
estebespt - help testing
@
JariZ - weapon builder
Donate:
If you want to support my work you can donate to me

Donations are always appreciated.
![[Image: btn_donate_LG.gif]](http://www.paypalobjects.com/en_US/i/btn/btn_donate_LG.gif)
Thank you.
Download mirror:
http://www.share-online.biz/dl/RXBW9Q9MMN