teinarss
1a56cee9a1
Add Tick scale plumbing
2021-10-26 22:40:15 +02:00
Paul Chote
defaf92752
Send order queue length in ping responses.
2021-10-02 21:03:00 +02:00
Paul Chote
2424ddc79a
Move NetTickScale (now NetFrameInterval) control to the server.
2021-09-21 15:12:36 +02:00
Paul Chote
54c08748e0
Overhaul player disconnect notifications.
2021-09-12 22:53:50 +02:00
Paul Chote
e0e219793f
Fix shellmap OrderManager use after dispose.
2021-09-02 23:23:23 +02:00
Paul Chote
8f412f869d
Move order latency control to the server.
2021-09-02 23:23:23 +02:00
Paul Chote
6421c17515
Rework IConnection implementations:
...
* EchoConnection is now a trivial buffer that stores
and repeats orders directly without serialization.
* NetworkConnection no longer subclasses EchoConnection,
and now also caches local orders without serialization.
* Replay recording was moved to NetworkConnection
(it is never used on EchoConnection).
2021-09-02 23:23:23 +02:00
Paul Chote
e389c00a11
Remove packet byte wrangling from OrderManager.
2021-08-26 22:00:59 +02:00
teinarss
f3777a25e6
Refactor send and receive Orders loop
2021-07-10 23:35:47 +02:00
Ivaylo Draganov
6af354ff99
Split chat lines into pools
...
- Add a common class for passing around chat lines
- Add wrapper methods for adding chat lines
- Combine repeated chat lines in the display widget
2021-07-04 14:02:58 +01:00
teinarss
1f1373509e
Refactor server orders
2021-07-03 14:55:03 +01:00
Andre Mohren
6810469634
Updated copyright years.
2021-06-29 18:33:21 -05:00
teinarss
b3b10729cd
Remove ServerExternalMod from OrderManager
2021-06-12 12:50:51 +02:00
teinarss
a1b3450b47
Remove Password and Endpoint from OrderManager
2021-06-12 12:50:51 +02:00
teinarss
d10c592987
Fix crash in OrderManager
2021-05-23 12:44:18 +01:00
reaperrr
fc3f200357
Replace F in OrderManager
2021-05-09 15:00:07 +01:00
teinarss
96b8273916
Remove FrameData and update OrderManager
2021-05-09 15:08:48 +02:00
teinarss
10676be377
Replace F extension with string interpolation
2021-05-08 22:20:59 +02:00
teinarss
8b0a3ea680
Remove our own impl of ReadOnlyList and update usages
2021-04-03 11:33:31 +02:00
teinarss
4a1e4f3e16
Use expression body syntax
2021-03-07 13:00:52 +00:00
abcdefg30
1bc19e788c
Drop and log sync orders with mismatching length
2020-10-14 19:53:49 +02:00
abcdefg30
c17110dac5
Make OrderManager fields readonly where possible
2020-10-14 19:53:49 +02:00
abcdefg30
1861174d38
Add a Order.SyncHashOrderLength const
2020-10-14 19:53:49 +02:00
Clément Bœsch
d708f46d50
Orders: make SyncHash packet size check more accurate
2020-10-10 01:17:39 +02:00
Clément Bœsch
11f57b2b26
Protocol: add defeat state bitfields to Sync packets
...
Signed-off-by: Paul Chote <pchote@users.noreply.github.com >
2020-10-10 01:17:39 +02:00
ycanardeau
f358b566b1
Replace NetFrameNumber >= 1 with GameStarted
2020-08-29 12:37:20 +01:00
teinarss
9c4fd0e3d3
Use Null-Propagation Operator
2020-08-19 18:11:07 +01:00
teinarss
27f1a7ab27
Use out var syntax
2020-08-19 18:11:07 +01:00
teinarss
19b02875c7
Use Tuple syntax
2020-08-15 10:37:10 +01:00
Matthias Mailänder
3a9b35980c
Revert "Reduce order latency locally"
...
This reverts commit 20e5219cf4 .
2020-07-21 21:58:31 +02:00
Matthias Mailänder
150439d215
Revert "Change where we send orders"
...
This reverts commit 616d9421d6 .
2020-07-21 21:58:31 +02:00
Matthias Mailänder
b01a534a98
Revert "Refactor the OrderManager and world tick loop, improves input latency"
...
This reverts commit f642cead44 .
2020-07-21 21:58:31 +02:00
Adam Mitchell
f642cead44
Refactor the OrderManager and world tick loop, improves input latency
2020-07-09 13:48:55 +02:00
Adam Mitchell
616d9421d6
Change where we send orders
2020-07-09 13:48:55 +02:00
Adam Mitchell
20e5219cf4
Reduce order latency locally
2020-07-09 13:48:55 +02:00
jrb0001
bf397591f9
Implement IPv6 support for server and direct connect
2020-05-08 15:17:44 +02:00
abcdefg30
23b3c237b7
Update the year numbers in all license headers to 2020
2020-01-05 17:00:34 +00:00
Paul Chote
bfddfec461
Replace magic numbers with an OrderType enum.
2019-06-20 22:50:17 +02:00
teinarss
d9d2202599
System messages should be yellow to distinguish them from normal
2019-04-27 14:51:59 +02:00
jrb0001
f3133617dd
Prevent immediate orders from being sent as regular orders
2019-04-23 01:00:52 +02:00
Paul Chote
1f3b30c2d2
Implement game save/load backend.
2019-04-20 14:54:48 +02:00
Paul Chote
ab4a7e3558
Replace System.Drawing primitives with our own.
2019-03-04 18:26:42 +00:00
abcdefg30
cadbd0d9ab
Change the year number in all cs headers from 2018 to 2019
2019-01-26 23:15:21 +01:00
Paul Chote
cc707f0037
Disable MP sync report generation by default.
...
A new Server.EnableSyncReports option is provided
so that server operators can restore them remotely
in the event of a future desync bug.
2018-12-15 23:30:36 +01:00
Paul Chote
081182b60f
Profile sync report generation separately.
2018-12-15 23:30:36 +01:00
Paul Chote
8533aa8d26
Disable sync reports when we know we won't need them.
...
Generating the sync report takes ~twice as long as
a normal tick, and occurs once every 3 ticks.
These reports record of all of the synced state
(separate to the sync hash, which is still calculated)
in order to generate the syncreport.log of the game
desyncs. This perf overhead is completely unnecessary
when we know that we won't have other syncreports to
compare against (singleplayer, replays).
Disabling report generation in these cases gives
us an easy 40% average tick-time win.
2018-09-10 19:44:06 +02:00
Arular101
8a60918841
Update copyright notice year to 2018
2018-01-17 00:47:34 +01:00
Paul Chote
f2e6601e07
Remove legacy MP lobby mod and replay switching logic.
2017-02-11 16:45:18 +00:00
Paul Chote
2da4e87b94
Implement new server-connection mod switching logic.
2017-02-11 16:21:34 +00:00
Taryn Hill
43317e0f5d
Update copyright notice year to 2017
2016-12-31 23:46:13 -06:00