Commit Graph

27 Commits

Author SHA1 Message Date
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
91699b26a6 Giveperm and revokeperm commands work correctly now when used by clients 2017-12-20 18:58:27 +02:00
Joonas Rikkonen
3e4d2c5a8a Fixed incorrect positioning of debug console question prompts. The ShowQuestionPrompt method used to take the last textblock in the console and consider that as the question prompt text, even though the text had only been queued and the actual GUITexblock hadn't been instantiated yet. 2017-12-20 18:57:42 +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
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
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
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
e4664b3d27 The character spawning debug command doesn't require the config file of the character to be in the default character folder (as long as the character is included in the selected content package). 2017-11-29 19:16:31 +02:00
Joonas Rikkonen
1c09f757a2 Renaming fields in the Client class for consistency 2017-11-23 20:43:22 +02:00
Joonas Rikkonen
5f4bf48449 Replaced instances where MapEntityPrefabs are searched for based on the name with a static Find method that takes the aliases of the prefabs into account. 2017-11-14 21:40:43 +02:00
Joonas Rikkonen
e26600d088 Added MP campaign setup to the dedicated server & some console commands for managing the campaign 2017-09-17 20:03:18 +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
6faf658ae0 Fixed SetClientCharacter & Revive 2017-07-26 17:19:35 +03:00
Joonas Rikkonen
aaea8bc709 Dedicated servers can use autorestart 2017-07-24 21:21:00 +03:00
Joonas Rikkonen
d694c7efdc Fixed teleport command not working on other characters than the controlled one 2017-07-18 19:41:18 +03:00
Joonas Rikkonen
9be44dc479 DebugConsole fix 2017-07-18 18:36:30 +03:00
Joonas Rikkonen
935b1ff837 Console fixes, logging launched turret projectile and the items contained inside it 2017-07-11 19:29:41 +03:00
Joonas Rikkonen
6ad5dd6c1e DebugConsole refactoring : available console commands are stored in a list of "Command" objects which contain the name, help text and the action that's invoked when the command is entered. Commands can also now be autocompleted in the client project by pressing tab (TODO: implement in the server project). + Now it should be easier to implement giving clients the permission to use specific console commands. 2017-07-10 21:10:54 +03:00
Joonas Rikkonen
d4b58e16b9 Fire & explosion decals 2017-07-08 18:30:07 +03:00
Joonas Rikkonen
64ad5e5003 Removed unnecessary using directives 2017-07-05 18:35:09 +03:00
Joonas Rikkonen
9b054ebd50 Added an artifact that attracts creatures, item max health can be changed & items can be made indestructible 2017-07-04 22:10:30 +03:00
Joonas Rikkonen
60a826f0cd Separate help commands for server and client 2017-07-03 20:55:22 +03:00
Joonas Rikkonen
8aa6ba71b6 Another attempt to fix the "Destination array was not long enough" errors in AddToGUIUpdateList:
The errors seem to be caused by adding messages to the debug console from another thread, which may happen if an OpenAL error occurs during sound streaming. Now the debug console queues the messages and creates the necessary UI elements in the main thread, which should(?) make it thread-safe. (TODO: figure out what's causing the OpenAL errors)
2017-07-03 19:08:52 +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