Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Landblock item saving + Much more #1071

Merged
merged 37 commits into from
Oct 23, 2018

Conversation

Mag-nus
Copy link
Member

@Mag-nus Mag-nus commented Oct 20, 2018

  • Server Shutdown
  • Improved shutdown process.
  • More status messages are sent to the logger
  • The server now waits for database operations to complete
  • Landblocks
  • Fixed a bug where landblocks were loading equipped items as objects owned by the landblock (they're owned by the player, who in turn is owned by the landblock)
  • Fixed a crash when trying to add a bad WO to the landblock
  • WorldObject Decay
  • Now controlled by the landblock
  • WorldObject_Decay.cs added to manage decay of all decayable objects
  • WorldObject_Database now has functions to determine what static objects and what dynamic objects should be saved to the shard
  • WorldObject Database Persistence
  • To/From player inventory actions no longer trigger database actions. Single database actions are costly
  • Players are saved to the database on a per player 5 minute interval. This collects all of their items and saves them in parallel
  • Landblocks save their items to the database on a per landblock 5 minute interval. This collects all of their items and saves them in parallel.
  • Only items that do not exist in the database but should, or, exist and have changes are saved.
  • Static objects like housing, etc.. should now properly save/restore as well
  • WorldObject.Destroy
  • Now destroys all contained items (if any exist)
  • Now destroys all equipped items, (if any exist)
  • Shard Database
  • Fixed a bug when a biota was removed and then resaved to the db.
  • Positions
  • PositionType moved to the ACE.Entity.Enum.Properties folder, and set to a : ushort
  • PositionType Ephemeral support aded.
  • PositionType.Home set to Ephemeral

Avoid double cast by using OfType

Change excludeList from IEnumerable to ICollection because it was being enumerated more than once.
Copy link
Collaborator

@gmriggs gmriggs left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

see discord notes from playtesting

@Mag-nus
Copy link
Member Author

Mag-nus commented Oct 23, 2018

You will now see every item you've dropped in the past.

For a long time in ACE, items you've dropped on the landscape were saved to the database.
Just now though, do those items get restored to the landblock on server restart or landblock load.
In addition, only now do those items also start to decay.

Now, they will decay normally and disappear and be removed from the database.

@Mag-nus Mag-nus dismissed gmriggs’s stale review October 23, 2018 12:27

Expected behavior

@Mag-nus Mag-nus merged commit 502e716 into ACEmulator:master Oct 23, 2018
@Mag-nus Mag-nus deleted the LandblockItemSaving branch October 23, 2018 23:56
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants