Commit Graph

67 Commits

Author SHA1 Message Date
Joonas Rikkonen
a5a09aa664 Fixed OwnerClientName & OwnerClientIP not being set on respawned characters. The characters of clients who aren't in-game 30 seconds after a round starts are treated as disconnected, making it possible for the client to gain control of the character if they do manage to connect. Closes #583, #584 2018-08-06 15:48:47 +03:00
Joonas Rikkonen
1a50996774 Server doesn't force reconnecting spectate-only clients to control their previous character. 2018-08-06 14:14:30 +03:00
Joonas Rikkonen
4ebe3d715e Characters stay alive for 30 seconds after a client disconnects, and if the client rejoins during that time they regain control of the character. Closes #42 2018-08-06 13:38:39 +03:00
Joonas Rikkonen
5a6a8e2501 Wifi components can't communicate with the enemy sub in combat missions. Fixes #554 2018-08-01 13:52:47 +03:00
Joonas Rikkonen
458c972580 More server-side EntityEvent error logging, Item.ServerWrite does some error checks and writes NetEntityEvent.Type.Invalid as the type of the event instead of attempting to write a potentially unreadable message. 2018-07-29 22:28:56 +03:00
Nilanth Animosus
cac1c48aa3 Redesigned campaign buymenu to use a quantity field
Additionally sorts the bought items by name then type to attempt to mirror the tabs (Not perfect)
2018-07-20 18:01:38 +01:00
Joonas Rikkonen
49c6b177e3 Added wrapper methods that check if user statistics are enabled to GameAnalyticsManager 2018-07-20 12:05:13 +03:00
Joonas Rikkonen
8cd7919009 Removed unused BanClient method 2018-07-19 17:42:03 +03:00
Joonas Rikkonen
5d342e24ef Clients are allowed to vote to end the round if they have spawned at some point during the round, even if the character they controlled doesn't exist anymore (huskified or eaten). Closes #483 2018-07-16 16:27:13 +03:00
Joonas Rikkonen
734b86bfba Fixed clients being unable to give non-permanent or range bans. Closes #481 2018-07-16 11:24:24 +03:00
Joonas Rikkonen
ceae0bf94e Fixed oddities in traitor ratio/assignment logic. The TraitorUseRatio setting is used to determine the number of traitors, the minimum number of traitors is 1 instead of 2, the host is taken into account when determining the number of traitors. Closes #477 2018-07-16 11:05:10 +03:00
Joonas Rikkonen
015eacbcb0 Fixed GameAnalytics thread becoming active despite user statistics being disabled, causing the game to stay active in the background when quitting. 2018-07-13 11:29:11 +03:00
Joonas Rikkonen
c7e220d222 Collecting some more usage statistics: selected game mode, mission, submarine, content package, traitors on/off, kills 2018-07-10 15:49:08 +03:00
Joonas Rikkonen
86c4cd17d2 Fixed clients getting assigned random jobs regardless of job preferences. 2018-07-08 19:32:23 +03:00
Joonas Rikkonen
740d201fc3 Fixed server-side crashes during job assignment if a client hasn't sent any job preferences 2018-07-06 19:42:33 +03:00
Joonas Rikkonen
f931d81aed Mission refactoring (mission prefabs) and option to select which types of missions can be selected when mission type is set to random (TODO: a way to set the allowed types from the UI). 2018-05-17 23:45:29 +03:00
Joonas Rikkonen
edf5bacc89 Fixed EndRound music looping forever. Closes #334 2018-04-18 11:02:58 +03:00
itchyOwl
a48a4975ca Auto ban users that have been vote kicked. Define the auto ban time in the server settings. (Issue #128) NOTE: Not tested! 2018-03-27 11:27:57 +03:00
Joonas Rikkonen
a43b8dc278 Added a console command for changing the server password. Closes #325 2018-03-07 17:26:42 +02:00
Joonas Rikkonen
10ce4bd20d Fixed messageboxes opened by the mp campaign setup UI not being shown until the UI is closed (e.g. shuttle & incompatible content package warnings), renamed MultiplayerCampaign -> MultiPlayerCampaign for consistency. See #315 2018-03-06 16:43:36 +02:00
Joonas Rikkonen
08ade1dc6f Fixed clients not being notified when a campaign is exited and a new one started, causing them to think they still have up-to-date save files for the new campaign and get kicked out due to desync as soon as a round starts. (See #315) 2018-03-06 14:18:37 +02:00
Joonas Rikkonen
671f59e984 Unequipped headsets can't be used and don't consume batteries. Closes #272 2018-02-22 15:08:38 +02:00
Joonas Rikkonen
a1ccf501c7 Fixes to server settings. Closes #225
- Selected mode and mission type settings are saved and loaded.
- RandomizeSeed setting can be changed via the debug console and it also has an effect in the dedicated server.
- Dedicated server randomizes sub & mode settings if their selection modes are set to random.
2018-01-25 15:09:44 +02:00
juanjp600
ddaf5f21cf Fixed exception when using radio chat without an inventory 2018-01-19 14:03:31 -03:00
Joonas Rikkonen
9f58d1b74d Cargo items can be set to spawn inside specific types of containers instead of being scattered on the cargo room floor. 2018-01-10 15:56:11 +02:00
Alex Noir
60329fb0d1 Fixed missing clientpermissions.xml preventing hosting
Fixed double-clicking items in corpses putting them in their hands instead of your inventory
Fixed game over/round end music not playing in multiplayer
Added Item Combinations for things like chemicals, etc. - this transfers condition from one item to another
Added game over text to multiplayer round summary
2017-12-23 16:59:08 +03:00
Joonas Rikkonen
ce37411a29 Merge branch 'permission-overhaul'. Closes #49
Conflicts:
	Barotrauma/BarotraumaShared/Source/DebugConsole.cs
	Barotrauma/BarotraumaShared/Source/Networking/ChatMessage.cs
2017-12-20 19:36:17 +02:00
Joonas Rikkonen
b3c3970209 Server responses to clients using console commands ("granted permissions to client", error messages, etc) are displayed in the client's debug console instead of the chat box. Client command usage is included in server logs. 2017-12-20 19:18:32 +02:00
Joonas Rikkonen
0204bc2c49 Added permission presets (or ranks). Current presets are none (no special permissions), moderator (round management & kicking) and admin (almost everything permitted). 2017-12-19 22:27:07 +02:00
Alex Noir
d5e409bfff Increase muffling effects with obstruction for spoken speech (barely affects radio chat and wifi components, however it does add extra 100f range to the distance)
Decreased required muffling to 0.3f
Added an "obstructionmult" to intensify speaking obstruction effects
2017-12-17 14:55:35 +03:00
Joonas Rikkonen
9bc0931be5 Clients can execute permitted console commands server-side now. The console commands have three different actions: the default action, one that's executed client-side when a client uses it, and one that's executed server-side when a clients requests it. If the client-side action is omitted, the client relays the command to the server as-is. If the third action is omitted, the server executes the default action. 2017-12-06 19:53:05 +02:00
Joonas Rikkonen
91a8e6d0c6 Saving & loading client console command permissions, the permissions are saved as an xml file 2017-12-06 14:04:35 +02:00
Joonas Rikkonen
90986751c3 Merge branch 'antagonists' 2017-12-05 19:05:39 +02:00
juanjp600
c6ca3572ba Added an option to respawn directly in the main sub 2017-12-05 03:03:37 -03:00
juanjp600
a0782e5d8d Blowing up the reactor sets karma to 0, all jobs except assistant require a certain karma level 2017-12-04 17:05:22 -03:00
Joonas Rikkonen
0840a29ff3 Started overhauling the client permission system to make it a bit more flexible. Now the clients can have the permission to use specific console commands (atm these commands are relayed to the server as-is).
TODO: make it possible to give clients console command permissions via the menus and the console, save command permissions, deal with commands that don't work as intended when simply relayed to the server and executed server-side, add "ranks" (preconfigured or custom sets of permissions, e.g. moderator, admin, etc).
2017-12-03 22:54:28 +02:00
Alex Noir
ca535d295f Merge remote-tracking branch 'origin/master' into antagonists 2017-12-03 13:10:04 +03:00
Alex Noir
56df7b6900 Support for multi-traitors!
It's possible for traitors to share targets and/or target each other.
Todo: code phrases-responses, clientside settings for traitor amount
2017-12-03 00:43:14 +03:00
Joonas Rikkonen
ccac8de723 Removed unused NetConfig constants and leftover debug code in GameServer 2017-12-02 15:42:52 +02:00
juanjp600
84ba36aa78 Added timestep accumulator to dedicated server, improved autorestart commands, added client permission commands 2017-12-01 14:25:10 -03:00
Joonas Rikkonen
1c09f757a2 Renaming fields in the Client class for consistency 2017-11-23 20:43:22 +02:00
Joonas Rikkonen
4689bec441 Clients send the latest received campaign ID to the server when in the lobby instead of requesting it once with a reliable message. -> Now the server reattempts sending the save file if the transfer fails at either end. 2017-11-23 20:16:47 +02:00
Joonas Rikkonen
fce7d43ef3 Fixed characters not appearing in the round summary in mp, minor CrewManager refactoring 2017-11-20 20:46:54 +02:00
Joonas Rikkonen
04e3710a65 Renaming fields for consistency 2017-11-14 22:45:22 +02:00
Joonas Rikkonen
f127c410b0 Option for clients to spectate the game without respawning 2017-09-25 21:31:21 +03:00
Joonas Rikkonen
5eb1544f1e Clients can be given a permission to select the sub or the game mode 2017-09-24 17:11:10 +03:00
Joonas Rikkonen
5a4bc0242d Voting UI fixes:
- The vote count texts are removed when voting is disabled.
- Server sends vote status to joining clients (-> clients see the number of votes immediately, not after someone votes something).
- Server refreshes vote count texts when a client disconnects.
2017-09-21 20:37:30 +03:00
Joonas Rikkonen
f291a22976 - Autorestart works in campaign mode.
- The server select a random destination when the campaign starts and after each round, so the campaign can be played even if there's no host/client to choose the destinations. (TODO: make it possible to vote for the destination?)
- Reverting to the previous save if the entire crew is dead works correctly now.
- Clients load the campaign saves after receiving them (-> discovered locations/connections are synced with clients).
2017-09-19 22:05:42 +03:00
Joonas Rikkonen
9114ae658f - Modified item buying logic: selected items are purchased immediately without having to click the "buy" button, and they stay in the list of purchased items until the round is started. (-> It's possible to see which items have been purchased and cancel purchases).
- Clients can be given a permission to manage the campaign (atm selecting which location to head towards and buying items).
- Syncing cargomanager state with clients.
- Misc fixes.
2017-09-17 15:55:24 +03:00
Joonas Rikkonen
348d81a66f MP campaign fixes 2017-09-13 20:34:10 +03:00