RoosterDragon
8a285f9b19
Fix IDE0090
2023-04-08 16:51:51 +03:00
abcdefg30
5bf7fe852c
Remove the copyright year numbers
2023-01-11 11:58:54 +02:00
Paul Chote
06edc3dff1
Remove redundant order copies.
2022-11-27 22:58:23 +01:00
Paul Chote
c2208ce8fe
Always serialize orders.
2022-11-27 22:58:23 +01:00
Paul Chote
1add57e5ad
Fix frame number not being included in pre-serialized order packets.
2022-11-27 22:58:23 +01:00
abcdefg30
6a31b1f9f3
Update the copyright header year
2022-05-28 00:35:10 -05:00
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
2d08f2bbfd
Allow the server to ack no or multiple packets in the same frame.
2021-10-02 21:03:00 +02:00
Paul Chote
df798fb620
Overhaul client latency calculations.
...
The ping/pong orders are replaced with a dedicated
(and much smaller) Ping packet that is handled
directly in the client and server Connection wrappers.
This allows clients to respond when the orders are
processed, instead of queuing the pong order to be
sent in the next frame (which added an extra 120ms
of unwanted latency).
The ping frequency has been raised to 1Hz, and pings
are now routed through the server events queue in
preparation for the future dynamic latency system.
The raw ping numbers are no longer sent to clients,
the server instead evaluates a single ConnectionQuality
value that in the future may be based on more than
just the ping times.
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
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
408f30b5cd
Extract OrderIO.SerializeOrders helper.
...
Note: This changes immediate orders to no longer be
individually framed in their own packets.
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
Andre Mohren
6810469634
Updated copyright years.
2021-06-29 18:33:21 -05:00
Vapre
fc49d6943a
OrderIO performance improvement
...
OrderIO, ToOrderList, skip if frame is empty,
which occurs often each client each frame.
2021-06-09 23:31:27 +02:00
abcdefg30
1861174d38
Add a Order.SyncHashOrderLength const
2020-10-14 19:53:49 +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
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
abcdefg30
cadbd0d9ab
Change the year number in all cs headers from 2018 to 2019
2019-01-26 23:15:21 +01:00
teinarss
cfaf5a6467
Updated CPos struct to use a bit field for all properties.
2018-10-02 00:54:45 +01:00
Paul Chote
e69cf4fd5c
Rename another Stream.Write(byte[]) extension method.
2018-03-07 22:29:35 +01:00
Paul Chote
42f1db0d4b
Rename Stream.Write(byte[]) extension method to fix compatibility with newer mono.
2018-03-03 18:40:01 +01:00
RoosterDragon
a726b57367
Fix order serialization issues.
2018-01-28 15:41:28 +01:00
Arular101
8a60918841
Update copyright notice year to 2018
2018-01-17 00:47:34 +01:00
RoosterDragon
ca01a1f186
Presize MemoryStream when possible.
...
Also use GetBuffer when we know we have presized the stream to the exact required size to prevent a needless copy.
2017-12-19 00:59:11 +01:00
Taryn Hill
43317e0f5d
Update copyright notice year to 2017
2016-12-31 23:46:13 -06:00
Paul Chote
e71225496b
Clarify GPL version.
2016-02-21 16:30:48 +00:00
Paul Chote
b396965fd9
Update licence header year.
2016-02-21 16:27:31 +00:00
RoosterDragon
709befda08
Sync only once per tick, rather than once per tick and once per order.
...
This greatly improves performance by not syncing the world state for every single order processed as this becomes very expensive, at the cost of being unable to directly pinpoint the order that causes a desync. Instead the granularity of detecting desyncs is reduced to the tick level.
2015-08-09 20:58:20 +01:00
Matthias Mailänder
e428e6d8cc
remove executable bits from source code
2015-08-06 18:05:50 +02:00
abcdefg30
8ca61aa917
Updated all year numbers
2015-01-09 21:18:05 +01:00
Hellhake
fa72e04042
Remove BOM
2015-01-01 22:51:12 +01:00
Matthias Mailänder
7b22a01fc0
StyleCop clean OrderIO
2014-11-01 21:46:19 +01:00
Alexander Fast
070d00c678
Fixes year numbers in license text in file headers.
2014-08-21 11:27:52 +02:00
Paul Chote
a256e722d5
Remove conversions between legacy and world types.
2014-06-27 23:30:41 +12:00
Chris Forbes
55036cd58c
fix trailing whitespace everywhere
2011-09-26 08:40:39 +13:00
Paul Chote
094907c1a9
Update copyright header. Normalize line endings to LF.
2011-02-13 10:38:57 +13:00
Chris Forbes
2fad6f3bf1
move replay viewer delegate into mod
2010-12-19 17:48:52 +13:00
Chris Forbes
88398afba6
symmetry between reading and writing int2
2010-11-23 13:06:37 +13:00
Chris Forbes
2f74207bf6
tighten order encoding
2010-11-23 12:58:59 +13:00
Bob
c2b3a749ca
change IConnection interface wrt sending
2010-10-16 21:05:14 +13:00
Chris Forbes
d5f12dd8ee
trim down license spam in all files
2010-07-18 16:48:21 +12:00
alzeih
7881deca30
Everything is now OpenRA, not OpenRa
2010-02-27 21:10:22 +13:00