Adds a RunUO Migrations page (#33)
This commit is contained in:
parent
114dc1a16b
commit
cf90a58bea
1 changed files with 71 additions and 0 deletions
71
RUNUO_MIGRATIONS.md
Normal file
71
RUNUO_MIGRATIONS.md
Normal file
|
|
@ -0,0 +1,71 @@
|
|||
### Migrating from RunUO 2.0
|
||||
There are several considerations before migration from RunUO 2.0 to ModernUO.
|
||||
Many of these issues can be fixed by writing scripts that do world file fixes.
|
||||
Others will require careful code review to fix compile/runtime issues.
|
||||
|
||||
#### Deserialization Issues
|
||||
* All BODs will fail to deserialize due to the introduction of BaseBOD
|
||||
* Serial is now a `uint` which could break certain scripts expecting negative numbers or fixed encoding.
|
||||
|
||||
#### Constructor Inheritence Issues
|
||||
* Items that inherit `Food` will pass the wrong arguments to their parent constructor.
|
||||
* Items that inherit spells or scrolls will pass the wrong arguments to their parent constructors.
|
||||
|
||||
#### Code Changes (Possible Compile Errors)
|
||||
* The following functions no longer take a Type as their argument and now utilize generics:
|
||||
* CanBeginAction, BeginAction and EndAction
|
||||
* FindRegion and IsPartOf
|
||||
* FindGump, HasGump, and CloseGump
|
||||
* Timers use lambda functions instead of callback objects with generic `object state` argument.
|
||||
* Various functions such as `OnAdded` which previously took `object parent` now take `IEntity`
|
||||
* Functions that utilized non-generic structures (ArrayList, etc) have been changed to use generics.
|
||||
|
||||
|
||||
### Future Migration Concerns
|
||||
|
||||
#### Account System
|
||||
* Accounts from the XML format will need to be migrated to the new database.
|
||||
* IP Logs from the Accounts XML will need to be offloaded to a new database.
|
||||
|
||||
#### Deserialization
|
||||
* All layered/stackable items will need to be migrated/fixed since the new hierarchy will look like this:
|
||||
* Item -> LayeredItem -> Armor/Weapon/etc
|
||||
* Item -> StackableItem -> Food/etc
|
||||
* All resources including but not limited to the following will need to be migrated:
|
||||
* Gold, Silver, Platinum
|
||||
* Arrow, Bolt, Feature, Shaft
|
||||
* BaseOre, BaseIngot, BaseScale and all children
|
||||
* BigFish, Fish, MagicFish
|
||||
* Granite, Sand
|
||||
* BaseReagent and all children
|
||||
* BoltOfCloth, Bone, Cloth, Cotton, Flax, BaseHides, BaseLeather, UncutCloth, Wool, YarnAndThreads and all children
|
||||
* ML Resources (Check Scripts/Items/Resources/MiscMLResources.cs on RunUO 2.0)
|
||||
* Log and Board
|
||||
* Bottle
|
||||
* Solen Items (e.g. ZoogiFungus)
|
||||
* Other commodity types I can't remember
|
||||
* Spawners will need to be migrated since the old Spawner has been replaced and deserialization is not guaranteed.
|
||||
|
||||
#### Timers
|
||||
* Scripts that rely on Timers, TimerPriority, etc will need to be fixed to work with the format.
|
||||
|
||||
#### Skills
|
||||
* Scripts that use or do math against `double` type Skill values will need to be fixed.
|
||||
|
||||
#### Fastwalk
|
||||
* Other fastwalk/speedhack detection systems will need to be deleted or fixed.
|
||||
|
||||
#### Reports
|
||||
* These will be removed.
|
||||
|
||||
#### RemoteAdmin
|
||||
* This will also be removed. Discussion about a replacement as a plug-in is encouraged.
|
||||
|
||||
#### MyRunUO
|
||||
* This will be removed. Discussion about a replacement using an external database is encouraged.
|
||||
|
||||
#### EventLog
|
||||
* This will be changed to be cross platform compatible. What form it will take is still up for discussion.
|
||||
|
||||
#### Packets (Maybe)
|
||||
* Packets will be changed to be stateless functions that do not require instantiation.
|
||||
Loading…
Add table
Add a link
Reference in a new issue