گزارش تغییرات
v1.4.0.2779 (جدیدترین)
با خوشحالی انتشار جدیدترین نسخه سرورمان را اعلام میکنیم!
این بروزرسانی چندین تعمیر مهم و یک ویژگی هیجانانگیز جدید را ارائه میدهد: رمزگذاری بستههای openmp.
برای گزارش کامل تغییرات لطفاً از اینجا آن را مطالعه کنید.
اضافه شده:
- پیادهسازی رمزگذاری open.mp برای استفاده با لانچر open.mp. ابتدا باید در
config.json
فعال شود (network.use_omp_encryption
). - تشخیص بازیکن open.mp با استفاده از native IsPlayerUsingOmp.
- بارگذاری بازگشتی کامپوننتها در پوشهها.
- بارگذاری کامپوننتهایی که با $ شروع میشوند زودتر از بقیه و بارگذاری آنها با RTLD_GLOBAL در لینوکس.
تغییرات:
- بررسی اعتبار حالت دوربین.
- غیرفعال کردن بارگذاری پویای DLL برای runtime AMX، خاصه وقتی کاربر Pawn پیشفرض نصب شده از وبسایت Compuphase را دارد.
تعمیرات:
- تعمیر مشکل کوچک SetPlayerSkin در کلاینتهای موبایل.
- تعمیر مقدار برگشتی GetTickCount برای ویندوز.
- تعمیر کرش هنگام نابودی خودرو در برخی رویدادها و callback های Pawn.
- تعمیر مقدار برگشتی معکوس در GetVehicleLandingGearState.
- تعمیر ماندن تصادفی بازیکنان در لیست بازیکنان در لانچرها حتی اگر سرور را ترک کنند.
- بررسیهای اعتبار بیشتر برای تریلرها و همگامسازی تریلر.
- تعمیر کرش مربوط به اشیاء متحرک.
- تعمیر ریست شدن دادههای خودروی بازیکن قبل از فراخوانی OnPlayerDeath.
v1.3.1.2748
اینجا کلیک کنید تا باز شود
سرانجام نسخه جدیدی از سرور open.mp منتشر شد، تعمیرات زیادی، بهبودهای کارایی و چند اضافه انجام شده است.
لانچر ما نیز حالا بروزرسانی جدیدی دریافت کرده که میتوانید با باز کردن لانچرتان و بروزرسانی آن از طریق دیالوگ بروزرسانی به آن دست پیدا کنید. برای گزارش تغییرات لطفاً از اینجا بخوانید: https://github.com/openmultiplayer/launcher/releases/tag/v1.4.0
سرور
اضافه شده:
- اضافه کردن متغیر پیکربندی لوگوی سرور به config.json، که به سرورها اجازه تنظیم لوگو برای نمایش در لانچر و وضعیت دیسکورد ما را میدهد.
- اضافه کردن بررسیهای اعتبار داده بیشتر برای پاسخهای دیالوگ.
- اضافه کردن بررسیهای اعتبار برای ردیفهای منو.
- اضافه کردن خطاهای HTTP خوانا برای انسان.
- تعریف جدید برای سازگاری عمومی API SA-MP. (
#define SAMP_COMPAT
) - تعریف جدید برای خاموش کردن هشدارهای API اسکریپتنویسی قدیمی. (
#define LEGACY_SCRIPTING_API
)
تغییرات:
- حذف OnPlayerConnect و OnPlayerDisconnect غیرضروری هنگام بارگذاری (یا عدم بارگذاری) اسکریپت جانبی (filterscript). به جای آن callback های OnScriptLoadPlayer و OnScriptUnloadPlayer معرفی شدند.
- حذف تعداد زیادی هشدار runtime برای deprecated شدن native های pawn.
- بررسی اعتبار URL CDN.
- توقف پخش همگامسازی تماشاگر.
- مقادیر پیشفرض برای سلامتی و زره.
- بهبود کارایی برای پاسخ به RPC امتیازها و پینگها. (scoreboard)
- تغییر اسلات سلاح نامعتبر به
-1
تعمیرات:
- تعمیر کرش معروف RakNet که از ابتدا با آن مواجه بودیم و چند سرور را متأثر میکرد.
- تعمیر عدم نمایش رشته در موارد نادر استفاده از format.
- تعمیر مشکل crashdetect که نمیتوانست نام فایل و شماره خط را هنگام بارگذاری بیش از یک اسکریپت پیدا کند.
- تعمیر بسیاری از کرشهای RakNet و مدیریت حافظه داخلی ایمنتر.
- تعمیر چندین مشکل اتصال و پاکسازی مناسب استخر بازیکنان داخلی.
- تعمیر تابع GetGameText که مقادیر نادرست/خراب میداد.
- تعمیر عدم بارگذاری نسخه ویندوز open.mp هنگامی که ویندوز کاربر روی زبانی با نامهای غیر ascii تنظیم شده.
- تعمیر سرتیتر callback ها در فایلهای
qawno/filterscript.new
وqawno/gamemode.new
.
v1.2.0.2670
اینجا کلیک کنید تا باز شود
ما همه سرورهای open.mp را تشویق میکنیم که به این نسخه بروزرسانی کنند. نه تنها بهبودهای کارایی قابل توجهی وجود دارد، بلکه تعمیرات امنیتی مهم نیز انجام شده.
سرور
اضافه شده:
- متغیرهای پیکربندی جدید برای تنظیم بنرها و لینک دعوت دیسکورد برای نمایش در لانچر open.mp.
- متغیر پیکربندی جدید برای پیامهای اتصال. (
logging.log_connection_messages
) - متغیر پیکربندی جدید برای اعتبارسنجی انیمیشن. (
game.validate_animations
) - تعریف جدید برای اجازه توابع املای ترکیبی در کدتان. (
#define MIXED_SPELLINGS
)
تعمیرات:
- چند تعمیر امنیتی.
- سیستم اعلامکننده حالا به طور پیشفرض از IPv4 استفاده میکند، به جای استفاده از IPv6 وقتی در دسترس است.
- تعمیر برگشت رنگها در قالب نادرست و modelid در
Get(Player)ObjectMaterial(Text)
. - تعمیر برگشت integer به جای float در
Get(Player)Gravity
. - اعتبارسنجی دلایل آسیب (سلاحها) در مکانهای مختلف.
- همگامسازی ban ها تا چندین بازیکن در صورت نیاز همزمان ban شوند.
v1.1.0.2612
اینجا کلیک کنید تا باز شود
open.mp حالا از مرحله RC خارج شده و ما خوشحالیم که اعلام کنیم سرانجام به اندازه کافی پایدار هستیم تا مسیر توسعه ثابتی را ادامه دهیم. با v1.1.0.2612، ما بسیاری از باگها و مسائل را تعمیر کردیم و خیلی از تفاوتهای رفتاری را حل کردیم. پس مطمئن شوید که به آخرین build ها بروزرسانی کنید و سرورتان را روان اجرا کنید.
لانچر open.mp سرانجام منتشر شد، حالا میتوانید به طور قابل اعتماد سرورها را مرور کنید، سروری که میخواهید بازی کنید انتخاب کنید و به آن بپیوندید! با آوردن ویژگیهای جدید زیادی، تجربه بهتری نسبت به تجربه قدیمی که همیشه باید با لانچر samp داشتید خواهید داشت. میتوانید آن را در https://github.com/openmultiplayer/launcher/releases پیدا کنید
سرور
اضافه شده:
- نسخه x64 از omp-server.
- اضافه کردن خودکار
.so
به نامهای پلاگین.
تغییرات:
- برگشت
estimatedTime
در توابعMove(Player)Object
.
تعمیرات:
- تعمیر برگشت 0 در
GetVehicleLastDriver
هنگام ارسالvehicleid
نامعتبر.
RC2
اینجا کلیک کنید تا باز شود
Release Candidate 2 (RC2) از سرور open.mp.
سرور
توابع جدید:
توابع منسوخ شده:
- 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
تعمیرات:
- تعمیر نیاز به
.so
در پلاگینهای قدیمی لینوکس. - اشیاء متصل به درستی به بازیکنان دیگر نشان داده میشوند.
- تعمیر کرش هنگام بارگذاری حافظه نامعتبر pawn.
RC1
اینجا کلیک کنید تا باز شود
Release Candidate 1 (RC1) از سرور open.mp! ما حالا از مرحله beta خارج شدیم.
سرور
اضافه شده:
- اضافه شدن
\{Float, _\}:...
به توابعAddMenuItem
،Create3DTextLabel
،CreateMenu
،CreatePlayer3DTextLabel
،CreatePlayerTextDraw
،GameTextForAll
،GameTextForPlayer
،PlayerTextDrawSetString
،SendClientMessage
،SendClientMessageToAll
،SendRconCommand
،SetMenuColumnHeader
،SetObjectMaterialText
،SetPlayerObjectMaterialText
،SetPVarString
،SetSVarString
،ShowPlayerDialog
،TextDrawCreate
،TextDrawSetString
،Update3DTextLabelText
،UpdatePlayer3DTextLabelText
. همه آنها حالا format میکنند.
تعمیرات:
- کاهش حافظه.
Beta v0.0.11.2331
اینجا کلیک کنید تا باز شود
سرور
توابع جدید:
- 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
callback های جدید: