128 Commits

Author SHA1 Message Date
Michael Cook (mackal)
ddb14187b0 Add some knobs to our RNG class
Also included is an additive lagged fibonacci generator that should is
very similar to EQ's. Also added BIASED_INT_DIST in case someone wants
to use "bad" int distribution to more closely match EQ as well.

An option to set a custom engine (just in case people would like to play
with other std engines) is available.

There is also support for GCC's SIMD accelerated extension to std random
engines.

All these options are hidden behind advanced options in CMake since
they're rather advanced knobs.
2021-07-16 21:50:46 -04:00
hg
15328196e2
[Expeditions] Store members on dynamic zone (#1358)
This moves members from expeditions so other systems can use them

Replace expedition_members table with dynamic_zone_members

Move 'EnableInDynamicZoneStatus' rule to DynamicZone namespace

Modify #dz list to show dz members (not instance players) and type name

Move various queries to repository methods
2021-05-24 21:14:32 -05:00
hg
dadc1b2843
[Expeditions] Refactor expedition caching (#1315)
Add common expedition base class

Use repository for zone and world expedition caching

World now stores members and leader as Member objects instead of ids

This improves readability of the caching methods and lets world cache
expedition dzs and members like zone. World also now caches expeditions
as unique_ptr which will be necessary for future dz callback lambdas
that capture 'this' so addresses don't change on cache vector resizes.
2021-04-07 01:20:35 -05:00
Chris Miles
7aa5308f9c
[Scheduler] Event scheduler implementation (#1257)
* Event scheduler implementation

* Create 2021_02_17_server_scheduled_events.sql

* Tweak

* Remove unused event [skip ci]

* Cleanup [skip ci]

* PR adjustments

* Database manifest
2021-03-29 02:52:57 -05:00
hg
049fe55c7f
[Expeditions] Create common dz abstract class (#1312)
This creates an abstract class in common so zone and world can share
most of the implementation. World now has access to the same dz data and
api as zone.

Rename CharacterChange to AddRemoveCharacter for clarity

Rename GetRemainingDuration to GetDurationRemaining for consistency

Move dynamic zone queries to custom repository methods
2021-03-29 02:17:36 -05:00
hg
5b74f1e756
[Expeditions] Refactor expedition requests (#1301)
Move ExpeditionLockoutTimer to common

This simplifies expedition request conflict checks and uses repository
for the queries instead of processing the query result directly.
2021-03-18 23:42:41 -05:00
Akkadius
f429df39a9 Update CMakeLists.txt 2021-02-07 15:06:46 -06:00
Akkadius
4db646db94 Revert "Merge pull request #1007 from EQEmu/feature/improved-name-generator"
This reverts commit 3c71e2c91df68421ab32d7f14094f067014cb70b, reversing
changes made to 80d160175450a7e74500f5c773f9e1d72ecb907d.
2020-04-18 01:44:43 -05:00
Akkadius
5b4c4bfd66 Implement content flags 2020-04-11 05:48:41 -05:00
Akkadius
e0363a8fe1 Repository tweaks [skip ci] 2020-04-11 02:47:54 -05:00
Akkadius
2b1b786f02 Merge branch 'master' of https://github.com/EQEmu/Server into integration/multi-tenancy-expansions-repository 2020-04-06 02:55:46 -05:00
Akkadius
723a3aa18e Update cmake lists [skip ci] 2020-04-05 23:18:32 -05:00
Akkadius
be57c57029 More adjustments [skip ci[ 2020-04-05 23:11:25 -05:00
Akkadius
c978ca65a4 Split repositories out between a base immutable repository (that does not change) and an extended repository of which developers can add more custom methods to 2020-04-05 22:19:36 -05:00
Akkadius
9faae00d15 Update cmake lists [skip ci] 2020-04-04 02:59:48 -05:00
Akkadius
d691db6621 Add repositories to cmakelists [skip ci] 2020-04-03 03:31:38 -05:00
Akkadius
1650a466a1 Add instance list repository; split repository cmake config 2020-04-02 19:38:26 -05:00
Akkadius
72b1e58edb Groundwork for world content service and content filtering 2020-04-01 06:07:44 -05:00
Akkadius
d4ea9bbee0 Use a better name generator 2020-03-31 02:00:09 -05:00
Akkadius
019735c654 Keeps spawns from doing individual loads and prefer bulk loading [skip ci] 2020-03-30 23:25:32 -05:00
Akkadius
43716332aa Bulk load grids at repop and zone init instead of 2 costly individual selects per NPC, create repositories to decouple database logic from business logic 2020-03-30 05:49:43 -05:00
Akkadius
128cc458fd Separate tradeskill queries to not be cross-boundary, clean up logic 2020-03-30 04:29:52 -05:00
Chris Miles
8d252dfd9a Implement database dump service 2020-03-09 03:00:07 -05:00
Akkadius
b222a619d7 Initial schema fetch with world command "database:schema" 2019-12-23 03:04:02 -06:00
Alex
058a722569
Revert "Revert "Build System Updated"" 2019-10-13 18:49:16 -07:00
Alex
b9f57f1f28
Revert "Build System Updated" 2019-10-12 21:07:06 -07:00
KimLS
8ae76bc217 Merge fix 2019-09-17 20:56:22 -07:00
Michael Cook (mackal)
ae0eebe043 Nuke unused TinyXML 2019-09-16 23:55:40 -04:00
Akkadius
d3803045bc Add log aliases to make logging much easier to use (All FMT driven) 2019-09-01 20:47:26 -05:00
KimLS
72a922f2ba Changes to building 2019-08-25 14:45:54 -07:00
Akkadius
4498819fad Abstracted CLI command handling interface, streamlined more logging 2019-08-04 02:58:26 -05:00
Akkadius
78d8b909be Add standalone web api server, cli handler, authorization, commands 2019-07-07 03:13:04 -05:00
Akkadius
86f9a205e5 Remove eqemu_logsys_fmt.h header, more log tweaks 2019-07-05 17:20:20 -05:00
Akkadius
feea52f79e Make loginserver intelligently determine if the client is requesting from a RFC 1918 network instead of using a config string match 2019-07-05 03:38:12 -05:00
KimLS
ebca112769 Implement a basic websockets server 2019-05-16 00:12:21 -07:00
KimLS
777f182282 Update fmt lib with submodule 2019-03-10 00:10:47 -08:00
Akkadius
3a8f206841 Merge branch 'master' into resend 2019-02-17 03:25:55 -06:00
Uleat
93a0ad2ceb Added command 'profanity' 2019-02-04 07:02:27 -05:00
KimLS
e3d5200310 Redid background task interface, used it to async send client packets 2019-01-07 19:53:23 -08:00
Michael Cook (mackal)
51baccc10f Merge branch 'master' into tasks 2018-07-06 00:59:45 -04:00
Uleat
c435a77813 Reintegration of inventory-based EQDictionary references 2018-07-05 21:05:26 -04:00
Michael Cook (mackal)
0ea82b5d88 Bunch more work on fixing up DB and packets 2018-07-02 22:01:17 -04:00
KimLS
80f1c65e1c Update fmt lib, add recast, wip on recast pathfinder interface (broken atm) 2017-07-29 00:11:57 -07:00
KimLS
3b62cf9fd5 Some work 2017-04-22 16:40:01 -07:00
KimLS
18d28ae8d3 Console initial implementation 2017-04-09 20:17:48 -07:00
KimLS
d5bd773a46 Will be redoing the event interface for subscriptions, some work for the wi and crash fixes 2017-01-30 23:22:52 -08:00
KimLS
124728e0c7 TCP cleanup, added basis of web interface 2017-01-08 19:00:39 -08:00
KimLS
7ce382396b Compile fix 2016-12-03 15:04:46 -08:00
KimLS
0db70218e9 Merge fix 2016-11-19 15:54:31 -08:00
KimLS
c86d4be1ae Headless client work 2016-11-15 21:30:43 -08:00