Commit Graph

607 Commits

Author SHA1 Message Date
Paul Chote
5f9a67ed87 Migrate frozen actors from ExtraData to Target. 2017-10-26 18:48:41 +03:00
Paul Chote
29c423772f Serialize order Target directly instead of TargetActor/TargetCell. 2017-10-26 18:48:41 +03:00
Paul Chote
d967c564a2 Remove TargetActor and TargetLocation from order issuing. 2017-10-15 19:07:46 +02:00
Paul Chote
4896a90b8d Add plumbing to issue orders against a generic Target. 2017-10-15 19:07:46 +02:00
Paul Chote
75d4062698 Limit chat messages to 2500 characters. 2017-10-14 13:10:27 +02:00
rob-v
78bedb0513 Fix IsSinglePlayer 2017-06-27 22:43:15 +01:00
RoosterDragon
2def72a078 Clear previous effects data when generating a new sync report. 2017-06-12 18:25:35 -05:00
Paul Chote
d9800d4e2b Fix repair cursor visual feedback target. 2017-04-24 08:52:48 +01:00
rob-v
bad2c1c2bf Unify ingame message prefixes. #12923
Unify ingame message prefixes. #12923
2017-03-18 21:46:30 +01:00
RoosterDragon
aa3024f1f8 Fix thread-safety and dispose issues in NetworkConnection.
- Calling Close() on a TcpClient is documented to also close the underlying sockets and streams for us. This means we can avoid also calling socket.Client.Close() and generating exceptions on mono.
- TcpClient is not thread-safe. However the NetworkStream returned by GetStream() is thread-safe for a single reader/single writer scenario. If we create and dispose the client on the calling thread, and pass the NetworkStream into the thread we spawn for reading, then we can avoid thread-safety issues incurred by trying to Close() the connection from another thread.
- The clean shutdown means we don't need to make the dodgy Thread.Abort() call as it will end normally, and that means we don't need a finalizer to ensure the thread is killed off.
- Refactor how receivedPackets work in EchoConnection to avoid lock(this).
- Mark connectionState and clientId as volatile since they are set from another thread.
2017-02-21 14:10:06 +00:00
Paul Chote
9516a6af69 Fix game server compatibility check. 2017-02-12 18:48:03 +00:00
reaperrr
0c44a49722 Merge pull request #12600 from pchote/externalmods
Add support for switching to mods from other engine installations.
2017-02-12 13:18:53 +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
Matthias Mailänder
13263f7bb2 Drop Maxmind.GeoIP and Newtonsoft.Json dependencies 2017-02-05 11:54:22 +01:00
RoosterDragon
fbf6f45b11 Avoid boxing Booleans when dumping sync traits.
We can return the resulting strings directly.
2017-01-19 20:23:47 +00:00
Taryn Hill
43317e0f5d Update copyright notice year to 2017 2016-12-31 23:46:13 -06:00
abc013
a403699367 Added Replays are showing team chats 2016-12-09 19:32:11 +01:00
Oliver Brakmann
d1ef1ed1ba Log unknown orders instead of crashing with an NIE 2016-09-26 20:39:01 +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
Paul Chote
94de961175 Converting dates to string using the InvariantCulture. 2016-09-21 14:52:05 +01:00
Paul Chote
b44d1be554 Timestamp syncreport and exception log files. 2016-09-21 04:57:13 +01:00
RoosterDragon
2ffea5db54 Change Game.RunTime to a long to prevent overflow. 2016-09-20 19:06:10 +01:00
Matthias Mailänder
56fa1ab0e3 Fix a crash when no sync report is available. 2016-09-18 17:43:22 +02:00
Matthias Mailänder
66f4db93c1 Only save a syncreport.log when a desync occurs. 2016-09-05 21:59:50 +02:00
Paul Chote
bf4867909f Rename Manifest.Mod -> Metadata. 2016-08-08 22:36:07 +01:00
Paul Chote
3df9efb95d Rework mod enumeration / caching.
- Replaced ModMetadata.AllMods with Game.Mods.
- Store / reference mod Manifest instead of ModMetadata.
- Removes engine dependency on ModContent class.
2016-08-08 22:36:07 +01:00
Paul Chote
7caf636222 Port game speed selection to new lobby backend. 2016-07-03 15:46:08 +01:00
reaperrr
7ed792ba88 Merge pull request #11286 from Mailaender/open.nat-2.0.16
Dump Mono.NAT in favor of Open.Nat 2.0.16
2016-06-26 16:16:11 +02:00
abcdefg30
34c6edbbe7 Merge pull request #11456 from obrakmann/disable-singleplayer-by-default-for-dedicateds
Disable single-player games by default on dedicated servers
2016-06-22 22:28:37 +02:00
Oliver Brakmann
8e2adc7627 Disable singleplayer games by default on dedicated servers 2016-06-22 20:37:31 +02:00
Paul Chote
8ce4ab0bd1 Port map difficulty to new options backend. 2016-06-19 22:15:26 +01:00
Matthias Mailänder
5245df729d Migrate to Open.Nat version 2.0.16
Move the dependency from all libraries to game engine only.
Initialize after the renderer setup to ensure a visible window.
2016-06-19 08:41:14 +02:00
Matthias Mailänder
71743b3b4a Only sync projectiles and future synced effects. 2016-06-13 14:35:28 +02:00
Paul Chote
24f166595f Convert lobby dropdowns to new options backend. 2016-06-04 10:06:18 +01:00
Paul Chote
eb884ca76f Convert lobby checkboxes to new options backend. 2016-06-04 10:03:06 +01:00
Paul Chote
3e92c1944a Add plumbing for trait-defined lobby options. 2016-06-04 10:03:06 +01:00
Curtis Shmyr
6a492035fc Move Spectators and Team chat labels before nicknames 2016-04-09 16:37:35 -06:00
Paul Chote
d4f8fe1666 Move map configuration to rules. 2016-03-07 21:41:13 +00:00
Paul Chote
3c779d4101 Move starting units configuration to rules. 2016-03-07 21:41:13 +00: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
Oliver Brakmann
a6e98620c0 Merge pull request #10650 from pchote/remove-fragile-diplomacy
Remove fragile diplomacy.
2016-02-06 22:55:55 +01:00
Alexandre Oliveira
989bf4f807 Disable 1 human versus bots games
Changed the Server.LockBots setting to Server.DisableSinglePlayer.

If the setting is enabled, and there is only one client in the server,
the game won't start.
2016-02-03 20:32:34 -02:00
RoosterDragon
dc37574494 Cache sync hash functions per actor for faster sync calculations.
Caching the result of the function lookup allows the actor to calculate all the sync hashes for its syncable traits faster as it does not need to repeat the lookup each time.
2016-01-31 00:44:43 +00:00
Paul Chote
73b3f20921 Remove fragile alliances feature. 2016-01-30 20:47:50 +00:00
RoosterDragon
8e89a6a696 Simplify names, remove unused usings, remove redundant casts. 2016-01-17 21:35:36 +00:00
Whinis
9059e3e2c8 Changes to the RestartGame function to make it more streamlined
Removal of PromptAbortAction and inclusion into PromptConfirmAction
Changes to prevent a restart button being required for all mods
ConfirmAction
Addtion of named parameters to PromptConfirmAction
Moved StartGame from MissionBrowserLogic.cs to Game.cs
2016-01-15 15:34:00 -05:00
RoosterDragon
081b40b14f Make Log thread-safe.
Since logging is exposed via static methods, it need to be thread-safe or multiple threads trying to log at the same time will cause bad things to happen.
2016-01-04 19:27:48 +00:00
Whinis
155c74fc5f Reworking ReplayRecorderConnection to no longer be an IConnection but rather attached to IConnection 2015-12-30 22:17:13 -05:00