Commit Graph

222 Commits

Author SHA1 Message Date
Paul Chote
d8e5177a36 Merge pull request #5405 from RoosterDragon/min-max
Added MinBy, MaxBy, etc.
2014-06-09 17:42:01 +12:00
RoosterDragon
b733465f33 General uncontroversial cleanup:
- Made private methods static where possible (runtime can elide checking the object for null).
- Declared attribute classes as sealed (allows reflection on attributes to complete faster).
- Moved some static cctor's into field initializers (static cctor's are slower than static field initializers).
- Made classes static if they contained only static methods (can't create instances of useless objects).
- Use inferable Exts.Lazy and not new Lazy<T>().
- Added required STAThread attribute to CrashDialog.
- Removed unused parameters in private methods.
- Added Serializable attribute to exceptions.
- Added parameter name in calls to ArgumentNullException.
- Use of as operator instead of is + cast.
- Changed (x as Foo).Bar anti-pattern into ((Foo)x).Bar. Results in sensible cast exceptions on error rather than null dereferences.
- Removed unused method in NullShader.
2014-05-23 15:50:54 +01:00
RoosterDragon
0ea3509ee4 Added MinBy, MaxBy, MinByOrDefault and MaxByOrDefault methods and replaced calls of the style OrderBy[Descending]().First[OrDefault]() which is not as performant. 2014-05-23 08:23:42 +01:00
Matthias Mailänder
187362e80e rename OpenRA.Support.Random aka XRandom to MersenneTwister 2014-05-18 21:53:21 +02:00
Matthias Mailänder
86271c3dd1 use List<MiniYamlNode> instead of System.Text.StringBuilder
add Deserialize methods for everything in Network.Session
2014-05-15 11:36:24 +02:00
Matthias Mailänder
c7fad3a693 StyleCop and TODO 2014-05-15 10:04:21 +02:00
Matthias Mailänder
f68a6bbd76 split latency from Client into ClientPing
closes #4282
2014-05-15 10:04:21 +02:00
Matthias Mailänder
f365f9da2b split lobby SyncInfo order into smaller chunks
closes #4594
2014-05-15 10:04:03 +02:00
Matthias Mailänder
59ace5d01b new shorthand Exts.(Try)ParseIntegerInvariant 2014-05-13 14:16:41 +02:00
Matthias Mailänder
b19d286f56 parse with NumberFormatInfo.InvariantInfo everywhere
closes #5240
2014-05-06 18:31:48 +02:00
Paul Chote
4935266945 Merge FileFormats dll into Game and reorganise namespaces. 2014-04-17 01:20:47 +12:00
Paul Chote
fcb3d7347a Kick clients who don't have the map when the host force-starts. 2014-03-21 23:33:14 +13:00
Matthew Uzzell
c6b0e37f7e updated the AllowSpectate variable to be AllowSpectators
added KickSpectatorsLogic for a confimation of kicking spectators & changed the toggle buttons to be a checkbox
2014-02-22 21:55:35 +00:00
Matthew Uzzell
88121b272d edited the LobbyLogic to include a spectator toggle in the server admin dropdown. 2014-02-22 21:55:34 +00:00
Matthias Mailänder
e367cea840 one MOTD for all mods and create a default motd.txt 2014-01-04 09:34:17 +01:00
Paul Chote
6d6d1e230b Remove runtime mod merging. Closes #3421. 2013-11-15 09:54:42 +13:00
ScottNZ
1394c1dcee Remove some misc redundancies 2013-11-12 19:39:39 +13:00
ScottNZ
00ec1ca87a Remove unused usings 2013-11-12 19:39:33 +13:00
Matthias Mailänder
bc133d199e StyleCop cleanup 2013-11-10 07:34:52 +01:00
Matthias Mailänder
7de2dd7083 add suffix to the player has disconnected message in-game
closes #3864
2013-11-10 07:31:26 +01:00
Matthias Mailänder
21a607a43e StyleCop cleanup 2013-11-09 17:23:33 +01:00
Paul Chote
142db86acd SyncInfo is only valid during the initial lobby phase. Fixes #3973.
Existing broken replays can be fixed manually by removing the SyncInfo order at the end of the file.
2013-11-09 16:30:32 +13:00
Matthias Mailänder
b618fc7cc2 complete password protected servers
closes #2290
2013-10-07 19:37:12 +02:00
Paul Chote
d867e8200f Reset default state when a dedicated server clears. 2013-08-04 12:06:47 +12:00
Paul Chote
40533918f3 Allow mods to set default lobby options. 2013-08-04 12:03:18 +12:00
Paul Chote
3a356782fc Force spectator color to white on join. Fixes #3501. 2013-07-06 11:11:48 +12:00
Matthias Mailänder
450fbded3f Merge pull request #3487 from pchote/server-client-fix
Prevent handshake spoofing of Client data.
2013-06-29 01:26:37 -07:00
Paul Chote
79779d69ba Prevent handshake spoofing of Client data. 2013-06-29 11:12:41 +12:00
ScottNZ
a6e5a0b53f Add temp banning to servers 2013-06-29 10:58:37 +12:00
Paul Chote
8856a1444c Handle failure cases of Socket.Send. Fixes #3455. 2013-06-27 18:43:10 +12:00
Matthias Mailänder
6a50c760ae record socket buffer sizes to server.log
for investigating #3455
2013-06-22 15:49:52 +02:00
Matthias Mailänder
c18b5e424e at least write the acception we swallow here to the server.log 2013-06-22 15:46:26 +02:00
Matthias Mailänder
8ddc840370 fix some plenks
no logic changes
2013-06-22 15:17:10 +02:00
Matthias Mailänder
708e91145c log exception thrown when the handshake fails 2013-06-17 22:50:47 +02:00
Matthias Mailänder
6b261534d8 remove some plenks
no logic changes
2013-06-17 22:50:39 +02:00
Matthias Mailänder
875ac468d3 log the catched exception when a client is dropped
because order dispatching failed for debugging
2013-06-17 20:46:02 +02:00
Matthias Mailänder
b01d55f1f6 Don't crash when the player to drop can't be found.
fixes #3224
2013-06-17 19:42:56 +02:00
Paul Chote
1ea322ff9b Merge pull request #3294 from Mailaender/single-player-orderlag
Set the OrderLatency to 1 in single player games
2013-06-12 11:02:53 -07:00
Paul Chote
18f1683968 Simplify admin promotion check in ValidateClient.
This also fixes a crash if we want to allow
multiple admins in a server.
2013-06-05 22:35:30 +12:00
Matthias Mailänder
cc9a45daff set the order lag to 1 in single player games 2013-05-28 19:36:23 +02:00
Matthias Mailänder
90ac648ff1 Merge pull request #3244 from pchote/bot-surrender
Improvements to player drop behavior
2013-05-10 01:44:55 -07:00
Paul Chote
818876a451 Promote oldest player to admin, not newest. 2013-05-10 20:31:20 +12:00
Paul Chote
4a1698804f Rework server orders.
- Server messages now show as from "Server".
- Fixes #3224.
2013-05-10 20:31:19 +12:00
Paul Chote
656476991f Replace ColorRamp with HSLColor everywhere.
Fixes:
* Nuclear-purple color exploit.
* #3247.
* Removes a bunch of unnecessary color conversions every frame.

Caveats:
* The ramp range is now defined on the palette, so ramps can no longer be set per-player (may impact maps which define custom colors).
* It's no longer possible to perfectly recreate the original WW color ramps (I doubt we care).
* The old ColorRamp setting isn't migrated, so players will lose their color settings.
2013-05-10 19:23:30 +12:00
Matthias Mailänder
91115d5ba3 save client IpAddress for later 2013-04-25 14:33:23 +12:00
Paul Chote
fd58461d43 Rename Ping -> Latency. 2013-04-25 14:03:14 +12:00
Paul Chote
9069d98365 Reimplement pinging via the orders channel. 2013-04-23 21:35:57 +12:00
Paul Chote
9f4b323287 Remove ICMP based pinger 2013-04-23 21:35:57 +12:00
Chris Forbes
d0fe25e022 Merge pull request #3000 from Mailaender/dynamic-orderlag
Display Ping of joining Clients in Lobby and use it to calculate OrderLatency
2013-04-20 16:57:00 -07:00
Matthias Mailänder
ef20009310 1 net tick is 120 ms and good order latency should be 2-3
color code names in lobby accordingly
2013-04-18 23:46:26 +02:00