Commit graph

2755 commits

Author SHA1 Message Date
Guyute
9d0d454b4e
feat: Moves logger to a separate assembly for reuse (#2001) 2024-12-30 20:25:34 -08:00
Bohica
333b40872a
fix: Add Iron Gate decorations to Vesper Graveyard in Felucca and Trammel (#2008) 2024-12-30 19:45:21 -08:00
Kamron Batman
ade7393e87
chore(deps): Bumps modernuo schema generator to 2.12.18 (#2039) 2024-12-30 19:04:46 -08:00
Kamron Batman
2fded43888
feat: Adds exception message to logger for TCP Server and streamlines logger messages. (#2037) 2024-12-30 13:54:39 -08:00
Kamron Batman
60b97f80d8
chore(deps): Bumps xunit to 3.0, serialization generator to 2.12.18, high performance to 8.4, and mailkit to 4.9 (#2032) 2024-12-27 12:56:41 -08:00
Nathan Oines
e8a199e498
fix: Allow guildstone movement within the same house (#2031)
- Adjusted condition to prevent unnecessary "one guildstone per house" restriction when moving the guildstone inside the same house since the guildstone does not disappear after teleporter generation.

Refactors the teleportation logic for improved user experience.
2024-12-27 12:29:28 -08:00
Kamron Batman
2bff1d2cbc
feat: Converts player deletion handling to a generated event (#2029) 2024-12-21 20:55:10 -08:00
Kamron Batman
059f008b48
fix: Fixes blood oath duration (#2027) 2024-12-18 08:41:52 -08:00
Kamron Batman
e27773e3d9
feat: Adds wall z-offset detection for doorgen (#2025) 2024-12-17 10:40:02 -08:00
Reetus
f33e218c0b
fix: Fix HolidayTree not serializing components (#2024) 2024-12-17 08:59:50 -08:00
Bohica
d9e5ec91e1
fix: Update Hythloth teleport locations in Felucca and Trammel to new coordinates to prevent looping and stuck. (#2012) 2024-12-17 08:59:36 -08:00
Reetus
e662b78f5a
fix: Fix missing LabelNumber on DisguiseKit (#2021) 2024-12-16 12:32:26 -08:00
Reetus
fefa06d4e0
fix: Fix Lord/Lady title display in paperdoll when fame >= 10000 (#2022) 2024-12-16 12:28:52 -08:00
Reetus
94040f142c
fix: Fixes overlapping text in TithingGump (#2020) 2024-12-16 12:21:09 -08:00
Bohica
ec12eb037d
Update britain.cfg - add missing stone fireplace (#2010) 2024-12-14 00:18:32 -08:00
Bohica
f0b41d9b5e
fix: Add Dark Wood Door decoration to Moonglow; comment out unused bed and archery butte coordinates (#2009) 2024-12-14 00:17:58 -08:00
Kamron Batman
54cf52f8ec
feat: Adds missing door types to [adddoor (#2017) 2024-12-12 23:34:41 -08:00
Kamron Batman
c75514cc04
feat: Updates to .NET 9 (#1984)
### Summary

* Bumps to .NET 9 with updated dependencies
* Comparing a value type against null is no longer allowed
* CI/CD now uses the version specified in global.json
* Serialization generator updated to .NET 9 with bug fixes, fixes to turkish language, and parallelization
2024-12-08 10:16:34 -08:00
Kamron Batman
51d15d264c
fix: Removes redundant conditional check in house demolish gump (#2004) 2024-12-03 18:15:58 -08:00
Kamron Batman
ba2a41236c
fix: Fixes demolishing house for a deed (#2003)
### Summary

* Fixes players with no bank box failing to demolish their house.
* Fixes players getting a deed, and a house infinitely.
2024-12-03 17:58:31 -08:00
Kamron Batman
1d08572926
fix: Fixes monster ability firing after dying (#1990) 2024-11-11 08:53:49 -05:00
Kamron Batman
b475e17c92
fix: Forces InvariantCulture on server start for DefaultThreadCurrentCulture (#1988)
Co-authored-by: Stefano Merotta <97297186+stefanomerotta@users.noreply.github.com>
2024-11-01 21:21:10 -07:00
Kamron Batman
dabaa1eb5a
fix: Fixes honor check crash on target killed (#1987) 2024-10-30 16:33:43 -07:00
Kamron Batman
cc6d029add
fix: Fixes timer Delay/Next not handling MinValue inputs (#1985)
### Summary

Fixes a few minor issues with timers:
- Timer.Delay and Timer.Interval was not reflecting the actual tick time (aligned to the next 8ms)
- Negative delay values were causing a crash when DateTime.Now - delay was below DateTime.MinValue
- Timer.Next now reflects the correct wall clock tick time based on the adjusted Delay.
- Timer.Next is not assigned when the timer is started. This was important for timers that were created, but started later.
2024-10-28 17:48:16 -07:00
Kamron Batman
ac06a0d52d
fix: Adds BWT cliloc support for v7.0.104+ (#1982) 2024-10-19 22:01:35 -07:00
Kamron Batman
b17ebda975
fix: Converts BarkeeperTitleGump to static gump and localizes entries (#1980) 2024-10-19 20:36:53 -07:00
Kamron Batman
8bea1496f4
fix: Converts accept protection gump to StaticGump (#1979) 2024-10-19 00:30:59 -07:00
Kamron Batman
318407f9be
fix: Fixes AddProtection backward arguments (#1978) 2024-10-19 00:24:26 -07:00
Kamron Batman
3fc55e4db3
fix: Fixes searching null map crash (#1975) 2024-10-15 17:52:27 -07:00
Kamron Batman
9f985b0c38
fix: Fixes negative acts from explosion spell. Fixes Orc Brute ability (#1974) 2024-10-15 17:51:14 -07:00
Kamron Batman
26c7f5c49b
chore(deps): Bumps xunit to 2.9.2, Serilog to 4.0.2, and MailKit to 4.0.8 (#1973) 2024-10-15 17:04:33 -07:00
Kamron Batman
f16bce60e6
fix: Fixes ethics causing crashes when not used (#1972) 2024-10-15 17:02:11 -07:00
Bohica
b7316a5bd6
fix: Fixes Occlo so it uses the actual addon when decorations are generated. (#1970) 2024-10-08 13:08:23 -07:00
Kamron Batman
b9d63e4160
fix: Fixes ObjectPropertyList double return issue (#1969)
- Fixes double return issue with object property list that is causing corruption.
- Adds DEBUG_ARRAYPOOL define constant which will crash on double return or invalid return scenarios.

> [!IMPORTANT]
> **Developer Notes**
> STArrayPool rented arrays **MUST NOT** be returned **ONLY ONCE** otherwise there will be corruption from double-use.
> Use `DEBUG_ARRAYPOOL` to test potential broken STArrayPool use cases.

> [!NOTE]
> **Why can't I enable the debug all the time?**
> Other than the fact that it will crash due to bad code, the actual tracking system is highly detrimental/problematic for performance and memory consumption by creating objects that have a stack trace.
2024-10-07 21:21:21 -07:00
Derek Gooding
4b3b2839c6
chore(docs): Adds UnmanagedDataReader & BinaryFileReader documentation (#1968) 2024-10-01 17:07:51 -07:00
Joshua Kappers
766b46bcc1
fix: Actions on gump crash when Runebook has no entries (#1964) 2024-09-27 10:17:22 -07:00
Kamron Batman
9d9a5220d1
fix: Fixes PlayerZombies null pointer exception (#1963) 2024-09-25 15:27:42 -07:00
Kamron Batman
4e2fcee7a2
chore(deps): Bumps xunit to 2.9.1 and CommunityToolkit.HighPerformance to 8.3.2 (#1962) 2024-09-25 10:27:37 -07:00
Joshua Kappers
3a3c651b85
fix: Ensure server listing address is used when set in config (#1960) 2024-09-21 22:34:56 -07:00
Kamron Batman
2a7aa1905b
fix: Fixes edge cases with the network packet loop (#1959) 2024-09-19 18:25:30 -07:00
Kamron Batman
e0fcde885c
fix: Fixes networking issues (#1958)
### Summary
- Puts back `EventSink.SocketConnect`.
- Reverts networking change to push the networking to a separate thread.
- Reverts changes to the firewall by removing the firewall queue.
- Fixes listeners not shutting down with the server.
- Fixes race condition causing connections to get stuck even after they are disposed.

> [!NOTE]
> **Developer Note**
> Networking has been reverted back to using the main thread instead of a background thread. This alleviated complexity and the requirement for concurrent queues all over the place.
2024-09-19 16:54:49 -07:00
Kamron Batman
97c53e656e
chore (README.md): Update .NET requirements in README (#1956) 2024-09-18 09:17:16 -07:00
Kamron Batman
113a6b1f7c
fix (README.md): Fixes the supported operating systems. (#1955) 2024-09-18 09:13:47 -07:00
Derek Gooding
893441f74a
feat: Adds partial keyword to the Server.Utility class (#1954) 2024-09-16 08:57:24 -07:00
Kamron Batman
465d3c8187
feat: Upgrades serialization v4 (Threaded Heap Serialization) (#1947)
### Summary

- `GenericEntityPersistence` is now a type of `GenericPersistence`. This allows developers to serialize both entities and non-entities in the same system. 🎉
- Each `SerializationThreadWorker` now allocates 1MB of heap for serialization _permanently_. If more memory is needed, that thread will double it's memory, not to exceed increments of 64MB.
- Several bugs with serialization introduced with the pure MMF implementation have been fixed.
- `BinaryFileReader` has been added back. 🎉
- Adds `world.useMultithreadedSaves` to allow disabling threaded saves.

> [!IMPORTANT]
> **Developer Note**
> The split file serialization has been deprecated and is no longer used. We have effectively gone back to the same file writing we had before the pure MMF implementation.
2024-09-14 09:57:43 -07:00
Derek Gooding
aaac0c596c
chore: Remove some of the warnings/suggestions that can't be fixed due to legacy (#1953) 2024-09-13 12:22:50 -07:00
Kamron Batman
8639ed2210
fix: Fixes bad password with SHA1/SHA2 (#1952) 2024-09-12 17:20:44 -07:00
Kamron Batman
257825dc23
fix: Removes invalidation of tickcount and now in core (#1949) 2024-09-11 22:51:02 -07:00
Kamron Batman
2e6ddcd31a
fix: Removes profiling. Streamlines core tick count. (#1948)
### Summary
- Removes `Profiling` - Recommend using Visual Studio Performance Profiler,  [dotnet-trace](https://learn.microsoft.com/en-us/dotnet/core/diagnostics/dotnet-trace) or [JetBrains dotTrace](https://www.jetbrains.com/profiler/)
- Cleans up the core tick count, sampling, etc.
2024-09-11 00:55:18 -07:00
Kamron Batman
65bc264402
fix: Fixes Advanced Search crash (#1946) 2024-09-08 20:37:51 -07:00