note Help Needed
This wiki is the result of an ongoing community effort — thank you all for helping!
If you want to provide changes to this page then please click here.
Changelog
v1.3.1.2748 (Latest)
A new version of open.mp server is finally out, there has been a lot of fixes, bunch of performance improvements, and a few additions.
Our launcher also now received a new update which you can get by simply opening your launcher and updating it through the update dialog. For changelog please read it from here: https://github.com/openmultiplayer/launcher/releases/tag/v1.4.0
Server
Added:
- Add server logo config variable to config.json, allowing servers to set a logo to be shown in our launcher and discord status.
- Add more data validity checks for dialog responses.
- Add validity checks for menu rows.
- Add human readable HTTP errors.
- New definition for general SA-MP API compatibility. (
#define SAMP_COMPAT
) - New definition to silence legacy scripting api warnings. (
#define LEGACY_SCRIPTING_API
)
Changes:
- Remove unnecessary OnPlayerConnect and OnPlayerDisconnect when a side script (filterscript) is (un)loaded. Instead introduced OnScriptLoadPlayer and OnScriptUnloadPlayer callbacks.
- Remove bunch of pawn native deprecation from runtime warnings.
- Check CDN URL validity.
- Stop spectator sync being broadcasted.
- Default values for health and armour.
- Improve performance for responding to Scores And Pings RPC. (scoreboard)
- Change invalid weapon slot to
-1
Fixes:
- Fix the infamous RakNet crash we've been dealing with since the beginning, affecting a few servers.
- Fix string not shown in rare cases of using format.
- Fix the problem with crashdetect not being able to find file name and line number when more than one script was loaded.
- Fix a lot of RakNet crashes and safer internal memory management.
- Fix several connection issues and proper internal player pool cleanups.
- Fix GetGameText function giving incorrect/corrupt values.
- Fix open.mp windows version not loading when user's windows is set to a language with non-ascii names.
- Fix callback headings in
qawno/filterscript.new
andqawno/gamemode.new
files.
v1.2.0.2670
Click here to expand
We encourage every open.mp server to update to this version. There has been not only noticeable performance improvements, but also critical security fixes.
Server
Added:
- New config variables to set banners and discord invite link to be shown in open.mp launcher.
- New config variable for join messages. (
logging.log_connection_messages
) - New config variable for animation validation. (
game.validate_animations
) - New definition to allow mixed spelling functions in your code. (
#define MIXED_SPELLINGS
)
Fixes:
- A few security fixes.
- Announcer system now uses IPv4 by default, instead of using IPv6 when it's available.
- Fix
Get(Player)ObjectMaterial(Text)
returning colours in the wrong format and modelid. - Fix
Get(Player)Gravity
returning integer instead of float. - Validate damage reasons (weapons) in various places.
- Synchronize bans so multiple players are banned at once if needed.
v1.1.0.2612
Click here to expand
open.mp is now out of RC phase, and we are happy to announce we are finally stable enough to go down the consistent development road. with v1.1.0.2612, we fixed a lot of bugs and issues, and resolved so many behavior differences. so make sure you update to latest builds and run your server smoothly.
open.mp launcher is finally out, you can now reliably browse servers, select a server you want to play on, and join it! Bringing a lot of new features into it, you're going to have a much better experience compared to old experience you always had to have with samp launcher. It can be found at https://github.com/openmultiplayer/launcher/releases
Server
Added:
- x64 version of omp-server.
- Add
.so
to plugin names automatically.
Changes:
- Return
estimatedTime
inMove(Player)Object
functions.
Fixes:
- Fixed
GetVehicleLastDriver
returning 0 when invalidvehicleid
is passed.
RC2
Click here to expand
Release Candidate 2 (RC2) of the open.mp server.
Server
New functions:
Deprecated functions:
- GetPlayer3DTextLabelVirtualW
- SetPlayer3DTextLabelDrawDist
- GetPlayer3DTextLabelDrawDist
- SendClientMessagef
- GameTextForPlayerf
- SendPlayerMessageToPlayerf
- SendClientMessageToAllf
- GameTextForAllf
- SendPlayerMessageToAllf
- SendRconCommandf
- AllowAdminTeleport
- GetPlayerPoolSize
- GetVehiclePoolSize
- GetActorPoolSize
- GetServerVarAsString
- GetServerVarAsFloat
- TextDrawColor
- TextDrawBoxColor
- TextDrawBackgroundColor
- TextDrawSetPreviewVehCol
- PlayerTextDrawColor
- PlayerTextDrawBoxColor
- PlayerTextDrawBackgroundColor
- PlayerTextDrawSetPreviewVehCol
- TextDrawGetColor
- TextDrawGetBoxColor
- TextDrawGetBackgroundColor
- TextDrawGetPreviewVehCol
- PlayerTextDrawGetColor
- PlayerTextDrawGetBoxColor
- PlayerTextDrawGetBackgroundCol
- PlayerTextDrawGetPreviewVehCol
- db_num_rows
- db_get_mem_handle
- db_get_result_mem_handle
- SelectObject
- EditObject
- EditPlayerObject
- CancelEdit
- SetObjectsDefaultCameraCol
- SetObjectNoCameraCol
- IsObjectNoCameraCol
- SetPlayerObjectNoCameraCol
- IsPlayerObjectNoCameraCol
- GetPlayerCameraTargetPlayerObj
- GetObjectTarget
- GetPlayerObjectTarget
- GetPlayerDialog
- fmkdir
- dcreate
- GetVehicleTower
- ChangeVehicleColor
Fixes:
- Fix
.so
being required on Linux legacy plugins. - Attached objects are correctly shown to other players.
- Fix a crash when loading invalid pawn memory.
RC1
Click here to expand
Release Candidate 1 (RC1) of the open.mp server! We're now out of beta.
Server
Added:
- Added
{Float,_}:...
toAddMenuItem
,Create3DTextLabel
,CreateMenu
,CreatePlayer3DTextLabel
,CreatePlayerTextDraw
,GameTextForAll
,GameTextForPlayer
,PlayerTextDrawSetString
,SendClientMessage
,SendClientMessageToAll
,SendRconCommand
,SetMenuColumnHeader
,SetObjectMaterialText
,SetPlayerObjectMaterialText
,SetPVarString
,SetSVarString
,ShowPlayerDialog
,TextDrawCreate
,TextDrawSetString
,Update3DTextLabelText
,UpdatePlayer3DTextLabelText
functions. They all format now.
Fixes:
- Memory reduction.
Beta v0.0.11.2331
Click here to expand
Server
New functions:
- TogglePlayerWidescreen
- IsPlayerWidescreenToggled
- GetSpawnInfo
- GetPlayerSkillLevel
- GetPlayerWeather
- IsPlayerCheckpointActive
- GetPlayerCheckpoint
- IsPlayerRaceCheckpointActive
- GetPlayerRaceCheckpoint
- GetPlayerWorldBounds
- IsPlayerInModShop
- GetPlayerSirenState
- GetPlayerLandingGearState
- GetPlayerHydraReactorAngle
- GetPlayerTrainSpeed
- GetPlayerZAim
- GetPlayerSurfingOffsets
- GetPlayerRotationQuat
- GetPlayerDialogID
- GetPlayerSpectateID
- GetPlayerSpectateType
- GetPlayerRawIp
- SetPlayerGravity
- GetPlayerGravity
- SetPlayerAdmin
- IsPlayerSpawned
- IsPlayerControllable
- IsPlayerCameraTargetEnabled
- TogglePlayerGhostMode
- GetPlayerGhostMode
- GetPlayerBuildingsRemoved
- GetPlayerAttachedObject
- SendClientMessagef
- GameTextForPlayerf
- SendPlayerMessageToPlayerf
- RemovePlayerWeapon
- HidePlayerDialog
- IsPlayerUsingOfficialClient
- AllowPlayerTeleport
- IsPlayerTeleportAllowed
- AllowPlayerWeapons
- ArePlayerWeaponsAllowed
- IsValidTextDraw
- IsTextDrawVisibleForPlayer
- TextDrawGetString
- TextDrawSetPos
- TextDrawGetLetterSize
- TextDrawGetTextSize
- TextDrawGetPos
- TextDrawGetColor
- TextDrawGetBoxColor
- TextDrawGetBackgroundColor
- TextDrawGetShadow
- TextDrawGetOutline
- TextDrawGetFont
- TextDrawIsBox
- TextDrawIsProportional
- TextDrawIsSelectable
- TextDrawGetAlignment
- TextDrawGetPreviewModel
- TextDrawGetPreviewRot
- TextDrawGetPreviewVehCol
- TextDrawSetStringForPlayer
- IsValidPlayerTextDraw
- IsPlayerTextDrawVisible
- PlayerTextDrawGetString
- PlayerTextDrawSetPos
- PlayerTextDrawGetLetterSize
- PlayerTextDrawGetTextSize
- PlayerTextDrawGetPos
- PlayerTextDrawGetColor
- PlayerTextDrawGetBoxColor
- PlayerTextDrawGetBackgroundCol
- PlayerTextDrawGetShadow
- PlayerTextDrawGetOutline
- PlayerTextDrawGetFont
- PlayerTextDrawIsBox
- PlayerTextDrawIsProportional
- PlayerTextDrawIsSelectable
- PlayerTextDrawGetAlignment
- PlayerTextDrawGetPreviewModel
- PlayerTextDrawGetPreviewRot
- PlayerTextDrawGetPreviewVehCol
- IsValidGangZone
- IsPlayerInGangZone
- IsGangZoneVisibleForPlayer
- GangZoneGetColorForPlayer
- GangZoneGetFlashColorForPlayer
- IsGangZoneFlashingForPlayer
- GangZoneGetPos
- UseGangZoneCheck
- CreatePlayerGangZone
- PlayerGangZoneDestroy
- PlayerGangZoneShow
- PlayerGangZoneHide
- PlayerGangZoneFlash
- PlayerGangZoneStopFlash
- IsValidPlayerGangZone
- IsPlayerInPlayerGangZone
- IsPlayerGangZoneVisible
- PlayerGangZoneGetColor
- PlayerGangZoneGetFlashColor
- IsPlayerGangZoneFlashing
- PlayerGangZoneGetPos
- UsePlayerGangZoneCheck
- GetObjectDrawDistance
- GetObjectMoveSpeed
- GetObjectTarget
- GetObjectMovingTargetPos
- GetObjectMovingTargetRot
- GetObjectAttachedData
- GetObjectAttachedOffset
- GetObjectSyncRotation
- IsObjectMaterialSlotUsed
- GetObjectMaterial
- GetObjectMaterialText
- IsObjectNoCameraCol
- GetPlayerObjectDrawDistance
- SetPlayerObjectMoveSpeed
- GetPlayerObjectMoveSpeed
- GetPlayerObjectTarget
- GetPlayerObjectMovingTargetPos
- GetPlayerObjectMovingTargetRot
- GetPlayerObjectAttachedData
- GetPlayerObjectAttachedOffset
- GetPlayerObjectSyncRotation
- IsPlayerObjectMaterialSlotUsed
- GetPlayerObjectMaterial
- GetPlayerObjectMaterialText
- IsPlayerObjectNoCameraCol
- GetPlayerSurfingPlayerObjectID
- GetPlayerCameraTargetPlayerObj
- GetObjectType
- IsValidPickup
- IsPickupStreamedIn
- GetPickupPos
- GetPickupModel
- GetPickupType
- GetPickupVirtualWorld
- SetPickupPos
- SetPickupModel
- SetPickupType
- SetPickupVirtualWorld
- ShowPickupForPlayer
- HidePickupForPlayer
- IsPickupHiddenForPlayer
- IsMenuDisabled
- IsMenuRowDisabled
- GetMenuColumns
- GetMenuItems
- GetMenuPos
- GetMenuColumnWidth
- GetMenuColumnHeader
- GetMenuItem
- IsValid3DTextLabel
- Is3DTextLabelStreamedIn
- Get3DTextLabelText
- Get3DTextLabelColor
- Get3DTextLabelPos
- Set3DTextLabelDrawDistance
- Get3DTextLabelDrawDistance
- Get3DTextLabelLOS
- Set3DTextLabelLOS
- Set3DTextLabelVirtualWorld
- Get3DTextLabelVirtualWorld
- Get3DTextLabelAttachedData
- IsValidPlayer3DTextLabel
- GetPlayer3DTextLabelText
- GetPlayer3DTextLabelColor
- GetPlayer3DTextLabelPos
- SetPlayer3DTextLabelDrawDist
- GetPlayer3DTextLabelDrawDist
- GetPlayer3DTextLabelLOS
- SetPlayer3DTextLabelLOS
- GetPlayer3DTextLabelVirtualW
- GetPlayer3DTextLabelAttached
- GetVehicleSpawnInfo
- SetVehicleSpawnInfo
- GetVehicleColor
- GetVehiclePaintjob
- GetVehicleInterior
- GetVehicleNumberPlate
- SetVehicleRespawnDelay
- GetVehicleRespawnDelay
- GetVehicleTower
- GetVehicleCab
- GetVehicleOccupiedTick
- HasVehicleBeenOccupied
- IsVehicleOccupied
- GetVehicleRespawnTick
- IsVehicleDead
- ToggleVehicleSirenEnabled
- IsVehicleSirenEnabled
- GetVehicleModelCount
- GetVehicleLastDriver
- GetVehicleDriver
- GetVehicleModelsUsed
- GetVehicleSirenState
- GetVehicleLandingGearState
- GetVehicleHydraReactorAngle
- GetVehicleTrainSpeed
- GetVehicleMatrix
- GetActorSkin
- SetActorSkin
- GetActorSpawnInfo
- GetActorAnimation
- ToggleChatTextReplacement
- ChatTextReplacementToggled
- GetAvailableClasses
- GetPlayerClass
- EditPlayerClass
- GetWeaponSlot
- ClearBanList
- IsBanned
- IsValidNickName
- AllowNickNameCharacter
- IsNickNameCharacterAllowed
- AddServerRule
- SetServerRule
- IsValidServerRule
- RemoveServerRule
- SendClientMessageToAllf
- GameTextForAllf
- SendPlayerMessageToAllf
- SendRconCommandf
- GetRunningTimers
- GetVehicles
- GetPlayers
- GetActors
- AllowAdminTeleport
- IsAdminTeleportAllowed
- AllowInteriorWeapons
- AreInteriorWeaponsAllowed
- AreAllAnimationsEnabled
- EnableAllAnimations
- GetWeather
New callbacks: