Commit graph

19 commits

Author SHA1 Message Date
Coldeve-ACE
a31112ea51
Common Logging Changes (#4345)
* Update ShardDatabaseOfflineTools.cs

* Update Corpse.cs

* Update Creature_Death.cs

* Update Player_Death.cs

* Update Player_Inventory.cs

* Update WorldObject_Decay.cs

* Update HouseManager.cs

* Update Player_House.cs

* Update RecipeManager.cs

* Update Player_Allegiance.cs

* Update AuthenticationDatabase.cs

* Update ShardDatabase.cs

* Update WorldDatabase.cs

* Update Player_Magic.cs

* Update Player_Skills.cs

* Update Player_Attributes.cs

* Update Player_Combat.cs

* Update PhysicsObj.cs

* Update Player_Vitals.cs

* Update Player_Missile.cs

* Update Player_Melee.cs

* Update Monster_Melee.cs

* Update Session.cs
2025-08-11 22:38:12 -04:00
Ty Conner
b4e2334333
Update output of DateTime strings (#4224)
* Update output of DateTime strings

Define and use explicit formatting for DateTime objects used throughout source

* Update Player.cs

* Update GameActionQueryBirth.cs

* Update DateTimeExtensions.cs

* Update GameActionQueryBirth.cs

match the backpack panel output
2024-09-18 00:30:35 -04:00
Mag-nus
9d70b48380
Improve logging overhead by fixing string interpolation (#4107)
* First batch

* Second batch

* another batch

* last batch hopefully

* fix
2024-03-13 02:38:39 +00:00
Mag-nus
d0b75cc69a
Update EF Nuget Packages (#3750)
* Update EF Nuget Packages

This requires ACE.Adapter and ACE.Database to be updated from .net standard 2.0 to 2.1

* Update ACE.Database.csproj

* fix merge
2021-12-01 10:13:52 -06:00
Ty Conner
56575e72fb
Add some basic pruning for shard database (#3621)
* Add some basic pruning for shard database

* Update ShardDatabaseOfflineTools.cs

* add character squelch prune

* Update OfflineConfiguration.cs

* Update Program.cs

* Update Config.js.example

* Update Config.js.docker

* Update OfflineConfiguration.cs

* Update Config.js.docker

* Update Config.js.example
2021-08-15 18:41:28 -04:00
gmriggs
24f5e61a0c
significant performance improvements to purging orphan biotas (#3581) 2021-07-18 21:21:51 -04:00
Ty Conner
cbadfc086e
Update ability to log chat via log4net (#3438) 2021-01-27 23:44:52 -05:00
Mag-nus
cc4a5ed5a1
Fix Allegiance Purging (#3393)
This particular select statement (which has an inner function call) doesn't work unless the results are pulled using a ToList first.
2020-12-20 16:43:40 -06:00
Ty Conner
e6c7174e43
Fix warnings in compiler (#3388) 2020-12-11 12:05:07 -05:00
Ty Conner
5e03927446
Workaround fix for intermittent corpse save failures (#3383)
* Workaround fix for intermittent corpse save failures

* adjustments per discussion

* Update ShardDatabase.cs
2020-12-10 21:37:29 -05:00
Mag-nus
43c9300b10
.NET Entity Framework Core 3.1 support (attempt #2) (#3356)
* packages updated, fix compiler errors/warnings

* scaffold

* fix ShardDatabaseOfflineTools

* WorldDatabase fix performance

* ShardDatabase fix GetCharacters

* move comment

stuff

* extend UseMySQL statements

* fix character creation linq parsing

* fix exception

* fix references
2020-12-07 20:59:40 -06:00
Mag-nus
d052089247
Misc Database Improvements/Cleanup (#3357)
* Add Resilient connections

* remove some comments

* Tracking Improvements

* Spelling fix

* Create global.json

Co-authored-by: Ty Conner <tyconner@itcproductions.com>
2020-11-15 13:07:15 -06:00
Ty Conner
7b6784d54f
Update offline purge to clean up invalid allegiance data (#2970)
* Update offline purge to clean up invalid allegiance data

* Update ShardDatabaseOfflineTools.cs

* Update ShardDatabaseOfflineTools.cs

* Update ShardDatabaseOfflineTools.cs
2020-05-08 01:45:18 -04:00
Ty Conner
4a24710f4e
Fix spell bar position save issue (#2918)
* Fix spell bar position save issue

* Update 2020-04-11-00-Update-Character-SpellBars.sql

* Switch CharacterPropertiesSpellBar to composite key

* Fix incorrect indexes in SpellBars

* Update ShardDatabaseOfflineTools.cs

* Update PropertyManager.cs

* Update DatabaseManager.cs

* Update 2020-04-11-00-Update-Character-SpellBars.sql

* Update 2020-04-11-00-Update-Character-SpellBars.sql

* Update ShardDatabaseOfflineTools.cs

* Update 2020-04-11-00-Update-Character-SpellBars.sql

* Update ShardDatabaseOfflineTools.cs

* Update DeveloperDatabaseCommands.cs

* Update Program.cs

* Update 2020-04-11-00-Update-Character-SpellBars.sql

* Update 2020-04-11-00-Update-Character-SpellBars.sql

* Update ShardDatabaseOfflineTools.cs

* Update ShardDbContext.cs

* .

* Update DeveloperDatabaseCommands.cs

* Update DeveloperDatabaseCommands.cs

optimizations by @gmriggs

Co-Authored-By: gmriggs <gmriggs@gmail.com>

Co-authored-by: gmriggs <gmriggs@gmail.com>
2020-04-12 17:01:22 -04:00
Mag-nus
50d070ef5d
Step 4 hybrid weenie biota (#2864)
* Step 1. Add new adapter classes and models

All classes and objects added are in new namespaces.

This add has 0 interraction on existing ACE code.

This sets the groundwork for Step 2. Moving World DB caching to the new models

* first part of the world entity usage

* almost there

* final part

* update WeenieExtensions

* fix

* merge fixes and improvements

* ACE.Database new code

* it compiles

* InitializePropertyDictionaries

* WOrldDatabaseWithEntityCache cleanup

* ShardDatabaseWithCaching

* ShardDatabase Cleanup

* todo

* cache counts reported in serverstatus

* House InitializePropertyDictionaries

* improve ServerStatus

* BiotaModel change HousePermissions to Dictionary<uint, bool>

* PropertiesAllegiance to dictionary

* BiotaUpdater improvements

* Shard Database Cache Reporting

* More code ported from Step 3

* Remove stub CharacterCache

* Update WorldDatabaseWithEntityCache.cs

* build fixes

* code audit

* Remove non-callback functions from SerializedShardDatabase

* BiotaUpdater progress.. only emote left

* Emotes done... now need to test

* fix

* Burden/Value fix for containers

* fat fingered EncumbranceVal

* add some safety

* Don't cache player biotas for initial PlayerManager load

* Step 4. Don't duplicate common properties when copying weenie to biota

This builds on Step 3.

This is a run time optimization. It reduces RAM allocation and in turn also makes less work for the garage collector.

When a biota is instantiated from a weenie (not from a database biota), the biota will point to the weenie for the following collections nstead of duplicating them:
PropertiesCreateList
PropertiesEmote
PropertiesEventFilter
PropertiesGenerator

* Collection capacitys added to ctors (reduce resizing)

* fix override_encounter_spawn_rates

* new Projectile() -> static ProjectileCollisionHelper methods

* disable by default, working out issues...

* Fix for referencing weenie collections directly

* Reduce EnchantmentManager ToList() and clone usage

* fix

* Set ChangesDetected only when a property actually changes

* fix build

* fix

* Fix nullable Order for AnimPart and TextureMap

* FixAnimPartAndTextureMapFromPR2731
2020-04-05 15:38:56 -05:00
Mag-nus
dff4617250
Improve startup time and memory consumption (#2704)
Limit number of threads used by database parallel work. This helps avoid "too many connections" errors on larger threaded machines. It also helps reduce memory consumption.

Use parallel for PlayerManager.Initialize()

ForceGC at the end of Startup, before the world is open. ForceGC is a pretty controversial thing. Typically if you're forcing gc, you're doing something wrong. In this case, we're forcing gc before the world starts up so that the work is done in an off-line state. This work will be done eventually, natrually by the gc, so better to get it done before the world is active. We force gc 10 times to make sure we get all objects. On a large server with many players and world precaching, this can free up 4 GB - 6 GB.
2020-02-12 19:49:34 -06:00
Mag-nus
197d21c3db
Database Logging (#2596) 2020-01-06 06:57:45 -06:00
Mag-nus
bff22f9140
PurgeOrphanedBiotas (#2326) 2019-11-24 16:50:50 -06:00
Ty Conner
7dc5ff67cf
Support Purging of deleted Characters from database (#2223)
* Support Erase and Purge of deleted Characters

* Update ShardDatabase.cs

* Update ShardDatabase.cs

* Support AutoPurge

* Update CharacterCommands.cs

* Update CharacterCommands.cs

* .

* Add support for admin forced delete of character

* Update ShardDatabase.cs

* Update CharacterHandler.cs

* Update CharacterCommands.cs

* Update CharacterCommands.cs

* Add PurgeOrphans command

* Update ShardDatabase.cs

* Update ShardDatabase.cs

* Rename erase to purge

* Update ShardDatabase.cs

* Update Program.cs

* Rename Erase to Purge for consistency

* Remove purging from SerializedShardDatabase

* Update SerializedShardDatabase.cs

* Update ShardDatabase.cs

* Changes

* use all threads

* OfflineConfiguration
2019-09-27 23:01:25 -05:00