Releases: Exiled-Team/EXILED
Releases · Exiled-Team/EXILED
9.0.0-beta.6
Changelog
Additions
[Exiled.Example]
Added more custom modules examples. #2783
Fixes
[Exiled.CustomModules]
Minor fixes to existing module commands. #2783[Exiled.CustomModules]
FixedRespawnManager
not behaving as expected, such as not respawning any teams.[Exiled.CustomModules]
FixedInventoryManager
being always null or not set on roles.[Exiled.CustomModules]
FixedCustomTeam
spawn
command not being able to retrieve registered teams.[Exiled.CustomModules]
FixedCustomEscape
module not being properly de/serialized.[Exiled.CustomModules]
FixedWorld
module not implementing theGameState
component.
Changes:
[Exiled.CustomModules]
IncreasedDISPATCH_OPERATION_DELAY
value from0.5f
to2.5f
.
Full Changelog: 9.0.0-beta.5...9.0.0-beta.6
9.0.0-beta.5
Changelog
Additions
[Exiled::Events]
OnShot
event now supports shooting into the sky. #2781
Full Changelog: 9.0.0-beta.4...9.0.0-beta.5
9.0.0-beta.4
Changelog
Fixes
- Fixed a
TypeLoadException
that occurred when loading plugins subscribing to theChangedRole
event. - Fixed an issue where
Player::ChangeAppearance
did not function correctly when applied to aZombieRole
.
9.0.0-beta.3
Changelog
Breaking Changes
- Renamed
EConfig
toConfigSubsystem
. TheEnableAll
andDisableAll
methods inCustomModules
and derivatives now require an assembly as input and return the number of instances of modules generated, activated, and registered per assembly. - Custom items' settings now utilize
SettingsBase
. User-defined custom item types must be based onSettingsBase
. - Module activation is delayed by 0.5 seconds to allow for the proper loading of dependencies and plugins.
- Renamed
Spawned
event toChangedRole
event by @Monald. - Removed previous settings for custom items, including
ItemSettings
andPickupSettings
. - Removed generic trackers, which were unnecessary and caused memory issues. A single tracker is now sufficient.
Fixes
- Deserialization Issues: Resolved problems with deserializing
CustomItems
.CustomItems
now usesSettingsBase
for proper serialization and deserialization with a custom deserializer. - Custom Role Spawning: Fixed logical issues with custom role spawning via static methods.
- ModulePointer ID Conflicts:
ModulePointer
now avoids ID conflicts by usingModuleTypeIndicator
to differentiate modules. - Automatic Module Loading: Modules not configured for loading are no longer loaded automatically, but only if explicitly enabled.
- RoleAssigner Fixes: Corrected
RoleAssigner
and its related events to properly assign roles based on probabilities. - Config Initialization: Fixed issues with configs being null or not initialized inside behaviors.
- Hash Code Issues: Fixed
EObject::GetHashCode
conflicts by relying onInstanceID
, which increments for each existingEObject
. - Duplicate Component Addition: Added checks to prevent components from being added twice to the same entity, avoiding issues from duplicated instances.
- DynamicEventDispatcher Initialization: Ensured all
DynamicEventDispatcher
objects are initialized to avoid null reference exceptions during object instantiation. - Command Instance Lookup: Fixed issues with
CustomItem
andCustomRole
commands not finding the module instance by Id or Name.
Additions
- Dynamic Type Converter: Introduced
DynamicTypeConverter<T>
for resolving types during YamlDotNet (de)serialization. - Enhanced Log Information: Improved detail in
Log::GetContextInfo()
. - Serialization for ModulePointer: Added serialization support for
ModulePointer
, now handling any data type. - Custom Serialization Logic: Added
CustomModule::DeserializeModule_Implementation
andCustomModule::SerializeModule_Implementation
methods to support custom serialization and deserialization. - Module State Events: Implemented events to monitor the state of modules.
- TrackablesGC: Added a garbage collector specifically for trackables.
- ConfigSubsystem Enhancements: Improved handling and interaction with configs and sub-configs with new methods:
Read<T>(string)
,ReadDataObject<T>(string)
,ReadDataObjectValue<TSource, TValue>(string)
,Write<T>(string, object)
, andWriteDataObjectValue<TSource, TValue>(string, object)
. - Config Loading on Server Start: Implemented
ConfigSubsystem::LoadAll
to load all plugins at server start. - Standalone Configs: Added
ConfigSubsystem::IsStandAlone
to define stand-alone configs that do not rely on parent or child configs. The path is user-defined (default is.config/EXILED/Configs/FolderName/FileName.yml
). - DynamicTypeGenerator: Introduced
DynamicTypeGenerator
for runtime type creation, including methods for creating types and more. - EActor Events: Added
EActor::OnAdded
andEActor::OnRemoved
events for when components are added or removed from entities. - Default Implementation Methods: Added
static ModuleBehaviour<>::ImplementConfigs_DefaultImplementation()
andstatic ModuleBehaviour<>::ApplyConfig_DefaultImplementation()
for default instance method implementations. - Custom Module Serialization: Implemented
CustomModule::DeserializeModule_Implementation
andCustomModule::SerializeModule_Implementation
methods for user-defined module (de)serialization logic. - PlayingAudioLog Event: Added
PlayingAudioLog
event by @NotZer0Two. - MoveNetworkIdentityObject API: Added
MoveNetworkIdentityObject
API by @notzerotwo_.
Changes:
- Log Readability: Improved readability for logs related to info, warnings, errors, and module state changes.
- Unified Settings Structures:
Item
andPickup
now share the same settings structures. - Tracker Fixes: Fixed trackers for items and pickups.
- Example Project Regeneration: Regenerated the
Exiled.Example
project with updated custom item and role examples. - Optimized Attachments Generation: Improved performance of attachments generation at server start.
- Deep Copy Support: Enhanced
ReflectionExtensions::CopyProperties
to support deep copying for nested and complex types. - StaticActor Performance: Optimized
StaticActor
andStaticActor<T>
for faster instance retrieval. - Virtual Type Casting: Made
TypeCastObject<T>::Cast
methods virtual. - GlobalPatchProcessor Logs: Improved readability and logging for
GlobalPatchProcessor
. - Bug Report Fixes: Fixed issues reported in bug report n.396 by @notzerotwo_.
Exiled 9.0.0-beta.2
What's Changed
- Exiled 9.0.0-beta.2 by @Monaldcry7788 in #2773
Full Changelog: 9.0.0-beta.1...9.0.0-beta.2
Exiled 9.0.0-beta.1
What's Changed
- [Resonance] Quaternion fixes by @ITeMbI4 in #2750
- [Resonance] Create new structure to spawn toys by @ITeMbI4 in #2751
- [Resonance] Fix null room in elevator door by @ITeMbI4 in #2752
- Possibly fixed NRE on customrole give command by @Monaldcry7788 in #2754
- Fixing CustomModules by @theDevJade in #2753
- [ONGOING-FIX] - Fixed Pawn class being null and command fix and constructor error. Need to be fixed GameObject being null. by @Monaldcry7788 in #2761
- [Resonance] Fix DamageHandler by @ITeMbI4 in #2759
- [Resonance] Fix flags set by @ITeMbI4 in #2760
- CustomRole Fix by @Monaldcry7788 in #2763
[EXILED::API]
Adding SendFakeSceneLoading by @NotZer0Two in #2756- Who tf typed Ass and not As by @NotZer0Two in #2762
[EXILED::API]
Adding ScaleNetworkIdentityObject by @NotZer0Two in #2768[EXILED::API]
Adding SpawnMice by @NotZer0Two in #2765[EXILED::API]
Pickup::Category by @NotZer0Two in #2767- Fixed customroles. Exiled 9.0.0-beta.1 release by @Monaldcry7788 in #2769
- Removed debug by @Monaldcry7788 in #2770
- Exiled 9.0.0-beta.1 by @Monaldcry7788 in #2771
Full Changelog: 9.0.0-alpha.19...9.0.0-beta.1
9.0.0-alpha.19
Additions
[Exiled.API]
Introduced new logging methods:Log::DebugWithContext
,Log::InfoWithContext
,Log::WarnWithContext
,Log::ErrorWithContext
, andLog::AssertWithContext
. These methods now includeClass::Method::Line
when no context is provided or append[SPECIFIED_CONTEXT]
when context is specified. New constants for context are also available.- Added
CustomModule::TryRegister(Assembly, [CanBeNull] ModuleIdentifierAttribute)
andCustomModule::TryUnregister
methods. [Exiled.API]
Added support for YAML serialization of types with private or non-public default constructors.[Exiled.API]
Added support for enum class types serialization.
Fixes
[Exiled.API]
Resolved serialization issues with enum class types, ensuring that only the name is serialized and not the numeric value.[Exiled.API]
Fixed recursive call issues inUniqueUnmanagedEnumClass
andUnmanagedEnumClass
.[Exiled.CustomModules]
Corrected the instantiation of null dynamic events. These are now instantiated correctly usingDynamicEventManager::CreateInstanceFromType
, addressing previous exceptions during module enabling.[Exiled.CustomModules]
AddedYamlIgnore
attribute to theCustomRole::Owners
property.[Exiled.CustomModules]
Fixed issues with modules not loading due to missing paths for newly created configuration files, including module instances, behaviors and their relativeModulePointer
.
Changes
[Exiled.CustomModules]
Madens:CustomItems::Settings
class non-abstract.
Full Changelog: 9.0.0-alpha.18...9.0.0-alpha.19
9.0.0-alpha.18
Additions
[Exiled::Events]
Added NewAttackingEventArgs
forSCP-096
,SCP-173
&SCP-0492
. #2739[Exiled::API]
Add new overload inServer::Shutdown(bool, bool)
. #2744
Fixes
[Exiled::API]
Fixed item pickup time. #2745[Exiled::API]
FixedParentCheckpointDoor
internal set. #2745[Exiled::API]
FixedAntiSCP207
Item Creation. #2745[Exiled::API]
FixedPlayer::UseItem()
not calling the basegame event. #2745[Exiled::Events]
FixedSpawningRagdollEventArgs::IsAllowed
false not working as intended. #2747[Exiled::Events]
FixedNullReferenceException
inHealingEventArgs
#2747[Exiled::Events]
FixedNullReferenceException
when settingChangingItemEventArgs::Item
to null #2747[Exiled::Events]
Fixed crash when usingStrangling
asSCP-3114
#2747
Changes (Non-Breaking)
[Exiled::API]
AdminToy::Position
now sets theAdminToyBase::NetworkPosition
aswell. #2746[Exiled::API]
AdminToy::Rotation
now sets theAdminToyBase::NetworkRotation
aswell. #2746[Exiled::API]
AdminToy::Scale
now sets theAdminToyBase::NetworkScale
aswell. #2746[Exiled::API]
AdminToy::IsStatic
now sets theAdminToyBase::NetworkIsStatic
instead ofAdminToyBase.IsStatic
. #2746
Changes (Breaking)
[Exiled::API]
Light::Create
now useQuaternion
for rotation instead ofVector3
. #2746[Exiled::API]
Light::Create
movedColor
parameter before thespawn
one. #2746[Exiled::API]
ShootingTargetToy::Create
now useQuaternion
for rotation instead ofVector3
. #2746
Full Changelog: 9.0.0-alpha.17...9.0.0-alpha.18
8.9.11
9.0.0-alpha.17
bump game version