Commit Graph

119 Commits

Author SHA1 Message Date
Regalis
dc67eeebd4 Humans can be spawned through console in multiplayer 2016-08-23 14:19:50 +03:00
Regalis
ef0098d52a Anti-gamerfood measures:
- clients don't send server passwords as plaintext: the server sends a nonce which the client encrypt using the password as the key
- IPs are visible in netstats
- amount of client jobpreferences limited to 3 at the servers side
- sanitizing client names
2016-08-19 18:18:07 +03:00
Regalis
7e14ca6186 Possible to use the same sub as the main submarine and the respawn shuttle, fixed duplicate client names in netlobby if reconnecting before the server has disconnected the client, fixed "end round" button not appearing when joining mid-round 2016-08-14 20:13:40 +03:00
Regalis
fbe6c91d67 - previous networkevent of an item isn't overridden if the event is for a different itemcomponent
- batteries are restored to full capacity and all items repaired when resetting the respawn shuttle
- some respawnmanager refactoring (characters/items arent created in WriteNetworkEvent anymore)
- syncing respawnmanager state with clients who join mid-round
- LOS is turned back on when respawning
2016-08-13 18:42:55 +03:00
Regalis
7716b5e9d4 Fixed respawn shuttles with no nav terminal throwing an exception, removing focus from server log searchbar when the log window is closed, clients wait for ongoing file transfers to finish before starting a new one (instead of cancelling) 2016-08-10 19:18:50 +03:00
Regalis
d55926a352 Option to choose which submarine to use as the respawn shuttle, submarines can be given "tags" (atm just shuttle and HideInMenu), separate saving window in sub editor 2016-08-05 14:06:05 +03:00
Regalis
4252f4b9d0 - clients don't spawn character jobitems themselves (item data is written in the StartGame network message)
- after receiving a StartGame message, clients will wait until the game is loaded before reading new messages from the server
- the Item(prefab, position, submarine) constructor uses the position as the center of the item, not as top-left corner
2016-07-29 18:38:42 +03:00
Regalis
357a853342 A bunch of fixes to syncing clients who join mid-round:
- syncing items spawned/removed mid-round
- syncing characters spawned mid-round (through the console or by respawning)
- making sure that item IDs of the spawned characters match
- syncing wall damage
2016-07-25 18:48:48 +03:00
Regalis
8abea5c0c7 - gameServerSettings refactoring: using ObjectProperties for saving/loading instead of doing it manually
- tabs for different types of server settings
- moved banlist to server settings
- option to select autorestart delay
- character name is always the same as client name (less griefing potential)
2016-07-21 21:18:38 +03:00
Regalis
911846acff - submarines send position updates more frequently when they're moving faster
- small AICharacter syncing optimizations
- respawning can be disabled in server setting
- netstats show the total amount of bytes sent for each networkevent type
2016-07-20 17:20:27 +03:00
Regalis
03a3a156ba - fixed camera "twitching" when trying to move it above the upper limit of the level
- fixed duplicate hulls/gaps being placed at docking ports when saving and loading
- fixed linkedsubmarines moving when saving and reloading if the center of the wall vertices isn't he same as the center of the sub
- moving docked submarines along with the main sub when syncing the position
- characters are killed when the client controlling them disconnects (+ cause of death: disconnected)
- fixed the description box in server lobby
2016-07-15 19:21:10 +03:00
Regalis
c8dae18135 - syncing docking ports
- linkedsubmarine saving fixes, path can be changed and sub reloaded in editinghub
- lightsources don't constantly recheck convex hulls of another sub if subs are docked
- position update networkevents arent sent for subs that are docked to the main sub
2016-07-06 23:01:51 +03:00
Regalis
19915fc4e5 - server log and item lists in editor can be filtered
- changes to item highlighting logic (easier in cramped subs)
- sub name/description boxes and selected items are reset when leaving the editor
2016-07-06 18:10:22 +03:00
Regalis
cd3ecd36e8 Merge branch 'multisub'
Conflicts:
	.gitignore
	Subsurface/Source/Characters/Animation/HumanoidAnimController.cs
	Subsurface/Source/Items/Components/Holdable/RepairTool.cs
	Subsurface_Solution.v12.suo
2016-07-04 17:42:31 +03:00
Regalis
296c5a14ed - host can respawn
- respawn info texts
- camera clamped to the the upper edge of the level
- fixed submarinebody being generated from all walls (and not just the ones belonging to that specific sub)
2016-06-23 18:23:20 +03:00
Regalis
325332c0af Fixed "queue empty" exception in GameServer.WaitForPlayersReady 2016-06-20 18:31:43 +03:00
Regalis
dc7956274c - camera follows the closest sub
- WIP "respawn shuttle"
- submarine size affects its mass
- electricity fixes
2016-06-18 14:46:40 +03:00
Regalis
cf822cfae6 Submarine saving fixes, impact damage in sub-sub collisions, submarine ambient sounds 2016-06-12 14:23:08 +03:00
Regalis
7349cdd310 Progress (compiles now) 2016-06-09 22:15:50 +03:00
Regalis
8f8f1ed7dc - fixed submarine selection resetting when switching to netlobbyscreen
- fixed EntityGrid IndexOutOfRangeException
- fixed AssignJobs() ignoring the highest job preference
2016-06-07 16:57:58 +03:00
Regalis
0e24eab5e3 Re-enabled vote kicking, with some improvements: chat messages notifying about votes, kick button is disabled for the host's character or if already voted 2016-06-03 15:00:36 +03:00
Regalis
b512a7ec18 - fixed clients failing to load submarines if they're not in the root Submarine folder
- some refactoring
- temporarily disabled kicking by voting
2016-05-30 18:32:36 +03:00
Regalis
c71a935de6 v0.4.1.3:
- fixed debug message height not being set correctly
- fixed submarine list not being updated if host has enabled "play yourself"
- fixed "queue empty" error when attempting to download a sub from the server
- maximum number of iterations when carving a path for a cave
2016-05-27 14:41:34 +03:00
Regalis
310e85fd8c WIP kicking by voting 2016-05-26 16:05:45 +03:00
Regalis
52f28f98a7 - server asks the clients whether they're ready to start a round, giving some time to load the selected sub before the round starts
- fixed joining clients not being informed about vote status or voting being enabled
2016-05-24 19:10:11 +03:00
Regalis
e6b073f872 - clients see the submarines that the host has instead of their own subs in server lobby
- possible to vote for subs the client doesn't have
- fixed the "votes required" slider moving when re-opening the server settings
- WIP method for sending missing subs to clients before the round starts (atm the clients won't have time to request a sub file that was chosen by voting)
2016-05-22 01:39:10 +03:00
Regalis
e7a06a6171 Option to choose mission type in mp 2016-05-10 18:42:50 +03:00
Regalis
d3ab7946a8 Using ToLowerInvariant instead of ToLower (the game works for Turkish players now!)
http://www.moserware.com/2008/02/does-your-code-pass-turkey-test.html
2016-04-27 17:14:09 +03:00
Regalis
8c19adeb5e Some more randomness in level generation, info message about the radio command in mp 2016-04-23 17:32:52 +03:00
Regalis
e33f30dad1 Mid-round chat messages have a limited range, headset item which can be used to communicate with players further away, new inventory slot for items like masks and headsets 2016-04-20 17:19:38 +03:00
Regalis
31a04c7bc1 Cargo missions, a menu that shows the mission description mid-round 2016-04-16 15:36:01 +03:00
Regalis
c7545d5816 - StartCoroutine returns a handle which can be used to stop a coroutine, and coroutines and be given a name to make accessing them easier
- StatusEffect coroutines are stopped when the round ends
- Fixed GameServer keeping a reference to the TraitorManager after a round ends (causing traitor messages to appear even if traitors aren't on anymore)
- Option to spawn characters near/inside/outside the sub using the spawn command
2016-04-06 18:36:26 +03:00
Regalis
7f40071565 - fixed ReliableChannel going crazy if a client disconnects and reconnects immediately after: the client created a new ReliableChannel but the server was still using the old one, causing the client to rerequest a ton of messages (now the server resets the channel when a client rejoins and reliablechannel resets itself if the message IDs are too far apart)
- syncing statuseffects caused by using an item on self
2016-03-27 20:20:34 +03:00
Regalis
2f7295eaad Option to set a duration for a status effect 2016-03-26 23:20:02 +02:00
Regalis
d1580328ed Some cleanup using ReSharper (mostly removing redundancies) 2016-03-12 15:32:34 +02:00
Regalis
436bdb1448 v0.3.4.2: fixed section bodies not being restored after repairing a wall/window, fixed servers letting all clients in despite a wrong password, game version or content package 2016-03-05 12:50:22 +02:00
Regalis
02825782e5 - Edited item densities to make more sense
- Characters spawned through the console are synced with clients
2016-03-04 18:29:41 +02:00
Regalis
40714c1102 - converting NetworkEvent sending time to local time before doing any comparisons
- using mersenne twister for random number generation due to differences in Mono and .NET implementations of the Random library
- password prompt for password-protected private servers
- fixed deconstructor, fabricator and railgun connection panels closing immediately after opening
- fixed editor saving newly created subs to the root folder instead of the Submarines folder
- keeping items in the same inventory slots between clients instead of just syncing which items are in the inventory
- fixed crashing when swapping items between different limbslots
2016-03-03 21:11:54 +02:00
Regalis
00c1edad09 - Changes in UpdateNetPlayerPosition
- Holdable items don't try to change the pose if hand anim is disabled (e.g. when dragging someone or using a railgun controller)
- Indicator which shows the position of the sub when spectating
- Bugfix in controller selection logic
- Saving attributes on separate lines in serversettings.xml
- Safer validation of received sub files
2016-02-28 14:33:03 +02:00
Regalis
cc4ada952f - File transfer improvements (switching the sub selection during transfer works, max transfer duration, waiting for transfers to finish before starting the round)
- Firesource changes (more particles with shorter lifetimes, combining bugfix)
- StatusEffects can target hulls and always be active
- Cyrillic character support
- Saving server settings
- Swapping items in inventory by dropping an item to a non-free slot
2016-02-27 21:01:10 +02:00
Regalis
7309201b11 File sharing fixes: canceling transfers, displaying transfers & progress server-side, invalid sub files aren't selected or sent 2016-02-27 00:25:13 +02:00
Regalis
9f8f4e290e Fixed propulsion applying force to _every limb except_ the ones it's supposed to, fixed pressure building up in enclosed rooms that are full of water, fixed netlobby displaying multiple votes for clients, progress on file transfer 2016-02-26 22:21:00 +02:00
Regalis
77d3d22810 Camera twitching fixes, fixed crashing when loading a sub with no hull, fixed server lobby player count only working for 0-15 players, progress on downloading subs from the server 2016-02-25 22:54:10 +02:00
Regalis11
6f51c6fb33 Extension method for reading/writing enums in netbuffers, (untested) classes for sending files 2016-02-24 15:45:45 +02:00
Regalis
308ae7a8b0 v0.3.3 2016-02-20 21:52:05 +02:00
Regalis
619390ab72 Water dustparticle fixes, random variation in background color, submarine is automatically moved to origo when loading, configuring a fabricable item with no material requirements doesn't throw an error, AI characters can't open doors if in handcuffs, engines can be picked through doors 2016-02-20 18:24:38 +02:00
Regalis
058a269ecb More easily readable netstats (B/kB/MB instead of just B), scrollable netstats client list, possible to wear multiple items in same limb, handcuffs 2016-02-20 13:00:05 +02:00
Regalis
cd4e3a3d2a Fixed password box not working, connecting powered items with multiple parallel wires works, velocity/depth indicators on nav, stuff 2016-02-18 21:09:10 +02:00
Regalis
4ad8105cd6 Characters with no CharacterInfo can't be selected, fixed broken tickboxes in server settings, inventory log tweaking, one gap sound per hull, chat message "commands" changed from /d to d; 2016-02-17 20:43:42 +02:00
Regalis
f3112e29b4 Fixed spectators joining messing up the game, textboxes are deselected when switching the screen, nerfed engineer construction level, tickboxes or textboxes cannot be selected through other ui elements 2016-02-16 20:52:39 +02:00