Commit Graph

250 Commits

Author SHA1 Message Date
Lioncache
9abcc1c08b Core/NetPlayServer: Use fmt::format_to_n in GetInterfaceHost()
Lets us avoid some noisy deprecation warnings on macOS (and also lets us use
a more generic formatting specifier).
2023-12-18 13:08:57 -05:00
LillyJadeKatrin
3aebbbb3e7 Disable cheats in hardcore mode
RetroAchievements does not allow cheats such as Action Replay or Gecko in hardcore mode, for fairness.
2023-12-02 16:41:17 -05:00
Mai
d85cb749c0 Merge pull request #11382 from skyfloogle/traversal-fix-2
Traversal: Use low TTL for probe packet
2023-11-30 18:03:50 -05:00
Admiral H. Curtiss
b181842092 Netplay: Fix building on clang 17. 2023-11-03 16:15:04 +01:00
Floogle
bee6d5bfb6 Netplay: Don't log skippable events as errors 2023-10-28 18:06:07 +02:00
jmlee337
550b9782e1 Do not try portmapping when using traversal server
using portmapping with hosting while using traversal server (which is possible by checking the option while under "direct connect" and flipping back to traversal server) causes dolphin to request a mapping to external port 0.

In UPnP a mapping to external port 0 is actually the wildcard, which means that connection requests on all
external ports (that are not otherwise mapped) will be forwarded to the client.

Additionally it seems like using port mapping with traversal server is probably not expected behavior, as the option checkbox disappears when traversal server is used.
2023-07-13 01:15:12 -07:00
Floogle
5c1c22bab9 Traversal: Notify user of TTL to be used 2023-05-20 17:15:10 +02:00
Floogle
4f11b0d4c9 Traversal: Autoconfigure TTL to use for probe packet 2023-05-20 17:15:07 +02:00
Admiral H. Curtiss
6a339cbdb3 IOS/ES: Split ESDevice into ESCore and ESDevice.
ESCore implements the core functionality that can also be used outside of emulation. ESDevice implements the IOS device and is only available during emulation.
2023-05-15 20:41:05 +02:00
Lioncash
27f38c6c8f Common/TraversalClient: Move interface into Common namespace
Gets the interface out of the global namespace.
2023-04-24 08:28:25 -04:00
Admiral H. Curtiss
00e4fc4b70 Netplay: Check if save is readable before marking it for sync. 2023-04-23 15:52:38 +02:00
Lioncash
e4caace6bb Common/IniFile: Move interface into Common namespace
Gets this out of the global namespace and into the Common namespace
2023-04-13 10:19:28 -04:00
Lioncash
f5bdfdde1a Common/UPnP: Move interface into Common namespace
Keeps these utilities consistent with the rest of most of the Common
library.
2023-04-12 14:15:58 -04:00
Admiral H. Curtiss
31d2dedcb1 Merge pull request #11749 from lioncash/copy
NetPlayServer: Prevent unnecessary copies in GetInterfaceSet()
2023-04-11 22:09:56 +02:00
Lioncash
09e11b8067 Common: Rename ENetUtil.cpp/.h to ENet.cpp/.h 2023-04-11 11:48:46 -04:00
Lioncash
81493ee910 NetPlayServer: Prevent unnecessary copies in GetInterfaceSet()
This was previously copying each pair out of the vector returned by
GetInterfaceListInternal() when we just need to emplace the first entry
of each pair.
2023-04-11 09:17:03 -04:00
Lioncash
64ce2012e3 Common/ENetUtil: Move interface into Common namespace
Rather than just being under a separate ENetUtil namespace, we can unify
this into the common namespace as Common::ENet.
2023-04-11 09:12:04 -04:00
Admiral H. Curtiss
1e1041f299 NetPlay: Limit ENet's MTU to 1392 as a workaround for dropped packets over VPN via WireGuard, see https://github.com/lsalzman/enet/issues/132 2023-04-02 17:23:10 +02:00
Admiral H. Curtiss
0ccf24b0c5 Netplay: More logging for server and client thread main loops. 2023-03-30 16:57:39 +02:00
Admiral H. Curtiss
bfe0940bbd Netplay: More logging before game start. 2023-03-30 00:02:30 +02:00
Admiral H. Curtiss
8a3b8a925e Core: Add option to force linear texture filtering. 2022-12-09 02:02:16 +01:00
Admiral H. Curtiss
70f353fb37 Merge pull request #11283 from AdmiralCurtiss/netplay-save-sync-log
Netplay: Add more logging to save syncing.
2022-11-26 03:53:17 +01:00
Admiral H. Curtiss
2132e005c3 Core: Add config setting for base GCI folder path. 2022-11-22 10:48:37 +01:00
Admiral H. Curtiss
f0b0fcbb95 Netplay: Add more logging to save syncing. 2022-11-16 04:00:43 +01:00
Admiral H. Curtiss
e9caa09f7b NetPlay: Split SyncSaveData() into two parts.
This allows the 'save collection' part to run even if no clients are connected. Fixes issue 13095.
2022-11-06 01:51:01 +01:00
Admiral H. Curtiss
66684a392f Deduplicate NetPlayServer::Send() and NetPlayClient::Send() into ENetUtil::SendPacket(). 2022-10-09 02:25:28 +02:00
Admiral H. Curtiss
aade584180 Netplay: Completely rewrite Wiimote syncing logic to be similar to the GameCube controller one. 2022-10-02 23:22:02 +02:00
Admiral H. Curtiss
0d095b4d9b Netplay: Simplify save data options. 2022-09-20 01:37:32 +02:00
Admiral H. Curtiss
0a517ebdbd Core: Pass Netplay SRAM through boot process.
This removes the Netplay classes touching emulated hardware structures before emulation even starts.
2022-09-19 21:47:12 +02:00
Admiral H. Curtiss
9963637463 HW: Remove global state from functions in Sram.h. 2022-09-19 21:42:43 +02:00
Admiral H. Curtiss
bec4850fc3 Netplay: Rename variable names in NetSettings to match style guide. 2022-09-19 01:25:46 +02:00
Admiral H. Curtiss
1845a13cbe Merge pull request #10905 from shuffle2/netplay-hash
netplay: use sha1 instead of md5
2022-08-22 15:57:49 +02:00
Sage King
da803adf15 Work around for compiler bug on Debian and FreeBSD 2022-08-09 16:26:54 -06:00
Sage King
66276ac61b Added type to SyncIndentifierComparison enum in SyncIdentifier.h in an
attempt to fix a failed call to operator<< in SendResponse()
2022-08-09 16:26:53 -06:00
Sage King
978b6a8724 Added comment explaining obscure folding syntax in NetPlayServer.cpp 2022-08-09 16:26:53 -06:00
Sage King
a12099404e Added SendResponseToAllPlayers() and SendResponseToPlayer() to NetPlayServer.cpp and refactored OnConnect to use them 2022-08-09 16:26:52 -06:00
Sage King
477c20e28d Updated comment explaining enet_peer_timeout's use in NetPlayClient.cpp and NetPlayServer.cpp; Corrected syntax related to PEER_TIMEOUT in NetplayClient.cpp 2022-08-09 16:26:52 -06:00
Sage King
2f367d7a9b Updated PEER_TIMOUT in NetPlayCommon.h to use chrono literals; Updated NetPlayServer.cpp OnConnect() by putting commonly used code into named functions 2022-08-09 16:26:52 -06:00
Sage King
d81756e9b9 Refactored parameter to OnConnect() in NetPlayServer.cpp from rpac to received_packet 2022-08-09 16:26:51 -06:00
Sage King
9d14d95737 Removed code duplicating comments in NetPlayServer.cpp OnConnect() 2022-08-09 16:26:51 -06:00
Sage King
5dea8aaed0 Added initializer braces to Client player; in NetPlayServer.cpp OnConnect() 2022-08-09 16:26:50 -06:00
Sage King
d11df2b700 Refactored variable declared in NetPlayServer.cpp OnConnect() from npver to netplay_version 2022-08-09 16:26:50 -06:00
Shawn Hoffman
c7ce035a7f NetPlay: rename md5 -> game digest 2022-08-02 22:25:05 -07:00
Shawn Hoffman
09089eeee0 Common::Timer: use chrono::steady_clock internally 2022-08-02 22:24:06 -07:00
Admiral H. Curtiss
deb9964333 Core: Unify handling of raw memory card path. 2022-06-05 21:43:48 +02:00
Admiral H. Curtiss
2081e2f2a1 Config: Move ToGameCubeRegion(), GetDirectoryForRegion(), and GetBootROMPath() to new config system namespace. 2022-06-05 21:24:45 +02:00
Pokechu22
f6ab317374 Fix typo (GFX_HACK_VERTEX_ROUDING -> GFX_HACK_VERTEX_ROUNDING) 2022-04-08 18:30:59 -07:00
Techjar
302dedbd24 NetPlay: Introduce constant for peer timeout 2022-03-15 01:26:55 -04:00
Admiral H. Curtiss
407aefb6b9 Netplay: Get memory card size override setting from config system instead of manually parsing INI. 2022-01-26 00:57:44 +01:00
JosJuice
7b8e846d0a Merge pull request #10367 from Pokechu22/fmt-8.1.1
Update to fmt 8.1.1
2022-01-20 21:14:41 +01:00