Commit Graph

388 Commits

Author SHA1 Message Date
Paul Chote
d6436858a9 Fix IPAddress capitalization. 2020-01-15 12:12:54 +01:00
Paul Chote
38cb818469 Anonymise client IPs and allow server operators to disable sharing. 2020-01-15 12:12:54 +01:00
Paul Chote
d74a5065b9 Require GeoLite2 database path to be specified by the server operator. 2020-01-15 12:12:54 +01:00
Paul Chote
6b2c019caa Evaluate player location on the server. 2020-01-15 12:12:54 +01:00
abcdefg30
23b3c237b7 Update the year numbers in all license headers to 2020 2020-01-05 17:00:34 +00:00
Paul Chote
baa5b3d25e Bypass fingerprint validation for skirmish/mission servers. 2020-01-01 20:33:30 +01:00
Paul Chote
8f2bf27edf Replace Server.Dedicated with Server.Type. 2020-01-01 20:33:30 +01:00
teinarss
4dd8472d9b Reset server after game 2019-08-25 15:30:45 +02:00
4mfie
ff02b8ba06 Add timestamps to server log files
Servers are now writing timestamps to the log files using the the ISO 8601 timestamp format defined in the game server settings.
2019-07-27 10:47:24 +01:00
Paul Chote
c6232f20f9 Split Protocol version into Handshake vs Orders.
Handshake is kept at 7.
Orders is incremented to 8 to reflect immediate order changes.
2019-06-20 22:50:17 +02:00
Paul Chote
fe41dcb45e Restore 0xFE order for handshakes.
This restores handshake compatibility with protocol 7 servers.
2019-06-20 22:50:17 +02:00
Paul Chote
bfddfec461 Replace magic numbers with an OrderType enum. 2019-06-20 22:50:17 +02:00
Paul Chote
862a274357 Merge ServerOrder into Order and 0xFE order type into 0xFF. 2019-06-20 22:50:17 +02:00
Paul Chote
90ebffc6c0 Remove unused PauseGame handling.
Pause is not an immediate order.
2019-06-20 22:50:17 +02:00
Paul Chote
9daf02a955 Remove unused field from HandshakeRequest.
This field was not serialised, so compatibility
is not impacted.
2019-06-20 22:50:17 +02:00
Paul Chote
c253aaeb9d Replace for(;;) with while (true). 2019-06-08 18:46:03 +02:00
Paul Chote
217221d174 Fix multiple clients being assigned as admin. 2019-05-22 20:30:54 +02:00
Paul Chote
5e38cfda81 Enable skirmish saves. 2019-05-05 09:30:58 +02:00
jrb0001
b774556a5f Reduce overhead of every single order/sync frame by 162/222 bytes 2019-05-04 09:48:36 +02:00
abcdefg30
e6feba8884 Remove the TeamChat order type 2019-04-22 19:55:04 +01:00
Paul Chote
1f3b30c2d2 Implement game save/load backend. 2019-04-20 14:54:48 +02:00
Paul Chote
3e404f6ac2 Remove HSLColor. 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
d823d38e8c Fix "game is full" error when the game is not full.
Client.IsObserver is not valid to check until the
slot has been assigned.
2018-12-22 04:55:57 +01:00
Paul Chote
04359206ff Remove long-broken setting to ignore version mismatches. 2018-12-15 23:30:36 +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
teinarss
3b6024c086 Defer setting slot on client to completeConnection 2018-11-19 22:05:32 +00:00
Paul Chote
77bb39304b Give server operators more control over client validation. 2018-08-18 16:57:28 +02:00
Paul Chote
efccd610d3 Simplify server tick timeout handling. 2018-08-18 09:31:11 +01:00
Paul Chote
c74159e549 Add player authentication backend. 2018-07-29 00:30:17 +02:00
teinarss
0c1b11ed4f Added Dedicated to GlobalSettings 2018-07-05 23:22:09 +01:00
Paul Chote
6e400c5d60 Don't trigger LobbyInfoSynced on ping update.
This interface is only used for updating the master
server advertisement, which doesn't use the player
pings at all.  Removing this should reduce the
master server traffic by a factor of several tens.
2018-05-30 18:05:32 +02:00
Paul Chote
178b6b658d Remove broken DEV_VERSION warning.
This (before it was broken) was hardcoding upstream policy-specific
conventions into the core engine.
2018-05-20 13:55:10 +02:00
Paul Chote
9073249fe4 Fix player connection notifications.
New player notifications are now never reported to the joining player,
and always reported in the dedicated server output.
2018-05-20 13:55:10 +02:00
Paul Chote
7be71eb381 Remove broken Server.ExternalPort setting. 2018-03-31 18:09:07 +02:00
RoosterDragon
d0f7511a62 Add TrimExcess to TypeDictionary.
After adding is finished, this can be used to reduce the memory footprint of the dictionary.
2018-03-21 12:08:23 +01:00
Peter Antal
3ce2417a06 Create SupportDirPrefix and IsPathRelativeToSupportDirectory() as members on Platform class. 2018-03-10 12:54:01 +00:00
Arular101
8a60918841 Update copyright notice year to 2018 2018-01-17 00:47:34 +01:00
Paul Chote
205c45198c Remove secondary AllowPortForward setting.
The global setting is fine, and this simplifies
both the code and the UI.
2017-12-24 01:47:44 +01:00
Paul Chote
4c64a37e1d Reject invalid orders from unvalidated clients. 2017-12-23 21:48:59 +01:00
rob-v
78bedb0513 Fix IsSinglePlayer 2017-06-27 22:43:15 +01:00
rob-v
b2e6a0484b Fix Selecting a map resets player color 2017-05-14 14:00:45 +01:00
Paul Chote
b71d4ba7a3 Remove lag-drop frame workaround. 2017-02-04 16:35:55 +00:00
Taryn Hill
43317e0f5d Update copyright notice year to 2017 2016-12-31 23:46:13 -06:00
Oliver Brakmann
b4f6b25941 Merge pull request #12459 from pchote/fix-server-exploit
Reset server slots and reenable spectators when the last player quits.
2016-12-09 21:34:50 +01:00
Paul Chote
1153cd2f7c Reset slot configuration when all players leave a dedicated server. 2016-12-08 21:06:24 +00:00
Paul Chote
5188a08c81 Remove broken and disabled by default Server.TimeOut setting. 2016-12-08 20:49:28 +00:00
Paul Chote
bbe4864921 Fix dedicated server crash with AllowPortForward. 2016-11-11 13:06:00 +00:00
Oliver Brakmann
90e3912bcd Merge pull request #12076 from pchote/fix-orphaned-pings
Clean up ClientPings when a player drops from the server.
2016-09-21 18:17:26 +02:00
Oliver Brakmann
e108305f4e Merge pull request #12074 from RoosterDragon/runtime-long
Change Game.RunTime to a long to prevent overflow
2016-09-21 18:07:52 +02:00