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
1c68d5a4d7
- Fixed clients using character directories to count the number of disallowed monsters, which made it possible for them to disallow incorrect monsters.
...
- Fixed MonsterEvent checking if the name of the character directory contains the name of the disallowed character directory, which could for example cause them to disallow "someMonsterAlt" if "someMonster" is disallowed.
2018-02-26 16:53:22 +02:00
Joonas Rikkonen
83c02504ea
Fixed clients failing to select a received submarine/shuttle file, preventing them from starting a round until they rejoin the server. Closes #271
2018-02-22 14:18:06 +02:00
Joonas Rikkonen
6e231b7e7d
Lighting is forced back on when a client starts a round (-> can't disable lighting by using the console command before joining a server). Closes #238
2018-01-28 19:15:23 +02:00
Joonas Rikkonen
8544dea9db
Fixed clients being able to votekick/kick/ban themselves in the server lobby.
2018-01-16 17:39:20 +02:00
Joonas Rikkonen
633bd85e27
Fixed clients keeping a reference to the currently running GameSession after being kicked out of the server, causing an error if they rejoin and stay in the lobby while the server ends the round (because the gamesession attempts to generate a RoundSummary even though all subs have been unloaded). Closes #87
2018-01-16 17:23:52 +02:00
Joonas Rikkonen
0f7befa09e
Fixed occasional invalid object header errors when attempting to send a status NetworkEvent for a character (easy way to reproduce was to kill multiple characters during the same frame with an explosion).
2018-01-16 17:02:01 +02:00
Joonas Rikkonen
466e6f8833
Fixed client-side null exception when the client is in the lobby and a round ends with the mission successfully completed
2018-01-11 18:56:45 +02:00
Joonas Rikkonen
bd1cd15dd4
Added votekick button to the server lobby. Closes #190
2018-01-10 20:43:31 +02:00
Joonas Rikkonen
3d73f28362
- TextManager automatically replaces "\n" strings with a newline.
...
- Removed instantiating traitor start popup from client-side TraitorManager (instead the client receives the start message from the server).
- GUIMessageBoxes don't leave unnecessary empty space for the header if the header text is empty.
- More hard-coded text removal.
2017-12-27 16:07:00 +02:00
juanjp600
064c8da7e7
Unknown object headers will now crash the game with a copy of the previous object to be read
2017-12-21 20:26:33 -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
9599137e83
Console command permissions can be changed in the client permission menu, permitted commands are displayed in the client-side permission popup
2017-12-07 18:25:08 +02: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
juanjp600
c6ca3572ba
Added an option to respawn directly in the main sub
2017-12-05 03:03:37 -03:00
juanjp600
e323e9dc71
Fixed chat messages being assigned to the wrong sender when their bodies have been eaten
2017-12-03 19:06:01 -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
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
1ff2054ca8
Converted the GetAttribute methods in the ToolBox class to extension methods
2017-10-04 18:38:40 +03: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
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
Joonas Rikkonen
63bca3c7ea
Syncing campaign state & save files with clients (WIP)
2017-09-11 21:32:48 +03:00
Joonas Rikkonen
a75fd12020
Started moving single player campaign logic to an abstract CampaignMode class to make it reusable in the eventual multiplayer campaign
2017-08-28 20:19:21 +03:00
Joonas Rikkonen
729108c7b9
Replaced usages of "shift" with "round" for consistency
2017-08-28 17:59:08 +03:00
Joonas Rikkonen
a627f25c95
Fixed missing kick/ban buttons in the crew menu
2017-07-26 17:49:55 +03:00
Joonas Rikkonen
f2d603d2f0
Fixed issue #15 (sub/shuttle lists being empty at the client's side after joining a server). The clients would ignore the initial update message if they happened to receive one of the normal update messages before the initial one.
2017-07-09 20:19:53 +03:00
Joonas Rikkonen
64ad5e5003
Removed unnecessary using directives
2017-07-05 18:35:09 +03:00
Joonas Rikkonen
e431cc775f
Some null checks, clients log initial lobby update, minor lighting optimization
2017-07-04 22:36:00 +03:00
Joonas Rikkonen
0d7851367b
Dedicated server loads the name, password and other initial settings from the serversettings file. + Fixed not being able to change the server name if the current name is null or empty
2017-07-03 18:44:06 +03:00
Joonas Rikkonen
8ae2fb225c
- Ban duration can be set in the UI prompt.
...
- Ban reasons & durations are listed in the banlist menu.
- Clients tell the server the reason when kicking/banning another client.
- Added GUINumberInput GUIComponent.
- Ban duration saving/loading fixes.
2017-07-02 21:36:17 +03:00
Joonas Rikkonen
df0bdb64d6
- Ban durations (TODO: add a way to set and view the durations through the menus).
...
- Separated ban & kick methods.
- Fixed compilation errors in DebugConsole when building the server.
2017-07-02 18:58:07 +03:00
Joonas Rikkonen
da71b6bf9c
Option to supply a reason for banning/kicking, logic for handling question prompts in the debug console
2017-07-02 15:25:55 +03:00
juanjp600
4d225c65f2
Updated to MonoGame 3.6 + Directory refactor
...
- Barotrauma's projects are in the Barotrauma directory
- All libraries are in the Libraries directory
- MonoGame is now managed by NuGet, rather than referenced from the installed files (TODO: consider using PCL for easier cross-platform development?)
- NuGet libraries are not included in the repo, as getting the latest versions automatically should be preferred
- Removed Content/effects.mgfx as it didn't seem to be used anywhere
- Removed some references to Subsurface directory
- Renamed Launcher2 to Launcher
2017-06-27 09:52:57 -03:00