118 Commits

Author SHA1 Message Date
Michael Cook (mackal)
cafae9d8c6 Use casts to silence ASan complaints
I don't think these are actually causing any real problems, ASan
complains about them though since it's kind of a code smell I guess and
a potential source of problems. But our case is fine, so cast to silence
them.
2021-02-28 18:01:34 -05:00
Michael Cook (mackal)
7a46a6595c
[Cleanup] use std::make_unique (#1259)
* Convert common/eq_limits.cpp to use make_unique

* Convert common/net/console_server.cpp to use make_unique

* Convert common/net/servertalk_client_connection.cpp to use make_unique

* Convert common/net/servertalk_legacy_client_connection.cpp to use make_unique

* Convert common/net/servertalk_server.cpp to use make_unique

* Convert common/net/websocket_server.cpp to use make_unique

* Convert common/net/websocket_server_connection.cpp to use make_unique

* Convert common/shareddb.cpp to use make_unique

* Convert eqlaunch/worldserver.cpp to use make_unique

* Convert loginserver/server_manager.cpp to use make_unique

* Convert loginserver/world_server.cpp to use make_unique

* Convert queryserv/worldserver.cpp to use make_unique

* Convert ucs/worldserver.cpp to use make_unique

* Convert world/clientlist.cpp to use make_unique

* Convert world/expedition.cpp to use make_unique

* Convert world/launcher_link.cpp to use make_unique

* Convert world/login_server.cpp to use make_unique

* Convert world/main.cpp to use make_unique

* Convert world/ucs.cpp to use make_unique

* Convert world/web_interface.cpp to use make_unique

* Convert world/zonelist.cpp to use make_unique

* Convert world/zoneserver.cpp to use make_unique

* Convert zone/client.cpp to use make_unique

* Convert zone/corpse.cpp to use make_unique

* Convert zone/dynamiczone.cpp to use make_unique

* Convert zone/expedition.cpp to use make_unique

* Convert zone/main.cpp to use make_unique

* Convert zone/mob_ai.cpp to use make_unique

* Convert zone/mob_movement_manager.cpp to use make_unique

* Convert zone/pathfinder_nav_mesh.cpp to use make_unique

* Convert zone/worldserver.cpp to use make_unique
2021-02-23 18:30:46 -06:00
KimLS
2fbd5aaccc Rename namespace EQEmu to namespace EQ (so we don't have two similar but different namespaces anymore) 2020-05-17 18:36:06 -07:00
peterigz
21ed02ca52 Add missing break for OP_AppCombined switch statement 2020-04-17 18:27:45 +01:00
hg
ed09d4ae54 Send packet uncompressed if zlib deflates to a larger size than input
It's not guaranteed that deflate output will be smaller than the input.

In some cases zlib-ng (Z_BEST_SPEED) compression is causing packets to
increase in size and exceed m_max_packet_size. This results in the
packets never being fully received by the client.

Currently this is most reproducible in the spell_book section of the
OP_PlayerProfile message. After using #scribespells this portion of the
player profile has a lot of incrementing spellids which may be affecting
the compression algorithm. The client never processes the player profile
(MSG_SEND_PC) message and times out on zone entry.

This isn't necessarily a bug with zlib-ng since it inflates back to the
original input and normal zlib could do this too, but the current netcode
doesn't handle this.
2020-02-14 10:06:47 -05:00
KimLS
6bc6b659d5 Merge branch 'master' of github.com:EQEmu/Server 2020-02-03 17:17:26 -08:00
KimLS
c2300d514c Packet warnings 2020-02-01 20:49:04 -08:00
Michael Cook (mackal)
4241fba7e2 Forgot 2 exceptions 2020-01-16 19:10:04 -05:00
Michael Cook (mackal)
139b6c34e5 Change things -Wcatch-value complains about to references 2020-01-16 19:03:36 -05:00
Michael Cook (mackal)
14402c9c41 Fix unreachable switch statements in console_server_connection.cpp 2020-01-16 17:44:46 -05:00
Akkadius
ed7ce38fe0 Add some pointer safety checks to underlying data service call [skip ci] 2019-11-03 14:34:07 -06:00
Akkadius
e2630d2b20 Return blank string on null socket [skip ci] 2019-10-29 23:16:37 -05:00
Akkadius
2eb14a5c8a Move Netcode logging to LogNetcode 2019-09-01 23:10:49 -05: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
5fce042a31 Up stale connection ms again 2019-08-08 18:49:21 -07:00
Akkadius
4498819fad Abstracted CLI command handling interface, streamlined more logging 2019-08-04 02:58:26 -05:00
Akkadius
7c2ee06355 Merge branch 'master' of https://github.com/EQEmu/Server into lsid 2019-07-14 22:53:32 -05:00
KimLS
6bdc9b6ba5 Add support for single account login to both world and login server, should also work with eqemu login server, can be turned off in rules if you don't mind the side effects double logins cause. Also lowered the linkdead time to 30s + 90s default (2min) 2019-07-13 16:16:15 -07:00
Akkadius
86f9a205e5 Remove eqemu_logsys_fmt.h header, more log tweaks 2019-07-05 17:20:20 -05:00
Akkadius
9c931ced4e Allow local admin login 2019-05-20 00:49:05 -05:00
KimLS
52276d06b0 Remove c++17 construct, a bridge too far for now 2019-05-17 00:29:51 -07:00
KimLS
597c4e8c60 Rename websocket_server so it no longer shares a name with its own type 2019-05-17 00:22:32 -07:00
KimLS
c737504645 Subscription changes 2019-05-17 00:09:38 -07:00
KimLS
ebca112769 Implement a basic websockets server 2019-05-16 00:12:21 -07:00
KimLS
09b91f5229 Change hash from enum to int, older gcc versions have trouble with that 2019-05-12 21:09:06 -07:00
KimLS
63198d974e Merge branch 'feature/eqemu-api-data-service-netstats' of github.com:EQEmu/Server into feature/eqemu-api-data-service-netstats 2019-04-16 01:09:31 -07:00
KimLS
cd8ab727aa Tweaks from other branch 2019-04-16 01:09:25 -07:00
Akkadius
1d88b063aa Change compression level in deflate 2019-04-15 00:12:11 -05:00
KimLS
cbfd02b9ff Remove logging from daybreak network code to make it thread safe, there is a threadsafe replacement if you care (there's only like 4 logs in the code anyway); made event loop thread local so we can have one for each thread 2019-03-15 21:34:23 -07:00
KimLS
7977949ae9 Change eqstream interface to get rid of some stuff as well as flesh out a few more options plus some rule and performance changes 2019-03-13 22:55:49 -07:00
KimLS
67b228a91c Added packet stats 2019-03-11 15:24:32 -07:00
KimLS
675a67b676 Set data rate to disabled by default 2019-03-10 03:28:44 -07:00
KimLS
777f182282 Update fmt lib with submodule 2019-03-10 00:10:47 -08:00
KimLS
ee1fcdf5fa Stats, stats everywhere (I added a #netstats command) 2019-03-09 22:25:04 -08:00
KimLS
cb9f0fbe31 Start of a network options interface command 2019-02-24 19:24:10 -08:00
KimLS
b156b078ed Revert internal send to old code 2019-02-24 15:20:01 -08:00
KimLS
e3d5200310 Redid background task interface, used it to async send client packets 2019-01-07 19:53:23 -08:00
KimLS
6c1e3ae3d6 Added some rules for network server startup, added a limit on number of resends per connection channel per cycle (default is 10) 2019-01-03 20:04:09 -08:00
KimLS
d20ea3852c Some changes to resend logic and default values 2019-01-02 20:57:40 -08:00
Uleat
df2e68ad31 Added missing return value 2018-11-29 22:55:04 -05:00
Michael Cook (mackal)
70f55179b6 Switch netcode to steady_clock 2018-06-28 22:16:25 -04:00
KimLS
254764c1e6 Fix for failed build due to lb changes 2018-06-26 23:00:20 -07:00
Michael Cook (mackal)
ee4a79616f Lets can't a reference in resends 2018-03-03 00:59:44 -05:00
KimLS
a1ff12d9ab Fix for unreliable packets not being processed or sent correctly 2017-07-22 14:18:30 -07:00
Akkadius
c8b20ecb1a Adjust switch case formatting in daybreak_connection.cpp 2017-07-12 22:01:59 -05:00
Akkadius
45b29aedf3 Bring back netcode to robust commit 34549a4 - proven and tested by PEQ and EZ as solid/stable with all of recent packet fixes 2017-07-12 21:49:30 -05:00
KimLS
7300776a85 Fix for bug where packets were not combining when sent inside cwnd, altered some settings 2017-07-06 18:03:19 -07:00
KimLS
3878bd0c76 Move to an older implementation 2017-07-06 17:25:00 -07:00
KimLS
a7c0e82c9e Tweaks and bug fixes 2017-07-05 20:24:39 -07:00
KimLS
49505a7a45 Bug fix plus tweak to reset cwnd when no longer needed 2017-07-04 21:03:49 -07:00