Regalis
c2d918073e
Serverlog message types (which atm only determine the color of the message)
2017-05-09 19:56:12 +03:00
Regalis
7dad837733
Server limits chatmessage length and the number of chatmessages written in one packet
2017-05-08 19:06:05 +03:00
Regalis
511f24cc47
Merge branch 'master' into new-netcode
...
Conflicts:
Subsurface/Source/GameMain.cs
Subsurface/Source/Networking/ChatMessage.cs
Subsurface/Source/Networking/NetworkMember.cs
Subsurface/Source/Screens/NetLobbyScreen.cs
2017-05-01 19:25:07 +03:00
Regalis
f92c2df9f7
TextBoxes align text to the right and hide any overflowing text at the left if the width of the box is exceeded
2017-04-30 18:14:25 +03:00
Regalis
df7daa5925
Fixed incorrectly positioned character info boxes in the info menu
2017-04-24 19:08:25 +03:00
Regalis
31f7eca717
Merge branch 'master' into new-netcode
...
Conflicts:
Subsurface/Source/GUI/GUIButton.cs
Subsurface/Source/GameSession/CrewManager.cs
Subsurface/Source/GameSession/GameSession.cs
Subsurface/Source/Items/Item.cs
Subsurface/Source/Networking/GameServer.cs
Subsurface/Source/Screens/MainMenuScreen.cs
Subsurface/Source/Screens/ServerListScreen.cs
2017-04-23 21:40:11 +03:00
Regalis
3844dd9dac
GUIStyle logic changes: instead of having a predetermined GUIComponentStyle for each type of GUIComponent, any GUIComponent can use any style. The GUIComponent constructors take the name of the style as a parameter, and if no style is specified, the default style for the GUIComponent in question will be used.
2017-04-08 16:46:53 +03:00
juanjp600
e1d5d63dbd
Sync monster spawn settings
2017-04-06 16:50:11 -03:00
Regalis
1a3c18c727
EntitySpawner sends spawn/removal messages to clients using EntityEvents.
...
EntityEvents and EntitySpawner used to work independently of each other, with separate IDs, and there was no guarantee that spawning and events would happen in the correct order. For example, a client could fail to read events during midround syncing because the entity has been removed, or read an event for an incorrect entity because the entity has been removed and the ID taken by some other entity.
2017-03-27 21:05:32 +03:00
Regalis
fe4a8b419d
Chatmessage GUITextBlock height matches the height of the message (-> multi-line messages don't overlap), fixed the name of the server being added to server chatmessages if there are no recipients
2017-03-20 20:52:10 +02:00
Regalis
5450ff498a
Progress on file transfers (class for receiving files, FileSender can transfer multiple files to the same recipient simultaneously)
2017-03-07 20:03:40 +02:00
Regalis
cf859eee7c
WIP file transfer logic
2017-03-06 20:31:24 +02:00
Regalis
3fcaff0288
Merge branch 'master' into new-netcode
...
Conflicts:
Subsurface/Properties/AssemblyInfo.cs
2017-02-22 23:33:14 +02:00
juanjp600
6f821874a1
Fixed Scorpion + Fixed chat when controlling monsters + Shameless plug ;)
2017-02-21 13:58:30 -03:00
Regalis
6c8f5b8999
The server maintains a list of unique EntityEvents created during the round and sends them to clients who join mid-round
2017-02-18 15:09:13 +02:00
Regalis
b98ebe6e21
Readded client permissions
2017-02-06 21:07:24 +02:00
Regalis
df59f0d089
Fixed speech bubbles, server sends the ID of a speaking character instead of the name
2017-01-10 18:40:12 +02:00
Regalis
402c745fc3
Reimplemented chat range & radio messages. Each client now has their own chatMsgQueue, so all chat messages don't have to be sent to all clients.
2017-01-07 19:22:48 +02:00
Regalis
5d83a33876
Notifying clients when the round ends
2017-01-06 19:06:11 +02:00
Regalis
adde3461ea
Merge branch 'master' into new-netcode
...
Conflicts:
Subsurface/Properties/AssemblyInfo.cs
Subsurface/Source/Characters/Animation/HumanoidAnimController.cs
Subsurface/Source/Characters/Character.cs
Subsurface/Source/Items/Components/Door.cs
Subsurface/Source/Items/Components/Power/PowerContainer.cs
Subsurface/Source/Items/Components/Signal/Wire.cs
Subsurface/Source/Items/Item.cs
Subsurface/Source/Networking/ChatMessage.cs
Subsurface/Source/Networking/GameClient.cs
Subsurface/Source/Networking/GameServer.cs
Subsurface/Source/Networking/GameServerLogin.cs
Subsurface/Source/Networking/GameServerSettings.cs
Subsurface/Source/Networking/NetworkMember.cs
2016-11-24 19:52:40 +02:00
juanjp600
ba7fcad8f2
Readded special client permissions
...
Also added a command that requires a password to gain the permissions.
I think they were never vulnerable in the first place, gamerfood was just trying to intimidate us.
2016-11-20 22:01:37 -03:00
Regalis
1c206e1730
Adding CrewManager to GUIUpdateList in single player mode
2016-11-16 21:40:13 +02:00
juanjp600
d2c17274fe
GUI elements now respect render order + some minor distance comparison optimization
2016-11-15 22:26:36 -03:00
Regalis
3d234aef73
Sending NetEntityEvents from client to server, ItemComponent class doesn't implement the INetSerializable interfaces (only the derived classes do), reactor syncing
2016-11-13 19:34:23 +02:00
Regalis
c314b37029
Some classes for syncing entity state changes. Similar to the NetworkEvents in the old netcode, but the logic is split into separate classes which prevent the server from reading updates for entities that aren't IClientSerializable.
...
todo: add NetEntityEventManagers to server & client, some logic to prevent sending events that don't need to be sent (e.g. duplicate event state updates)
2016-11-12 20:56:06 +02:00
Regalis
6f9160e4a7
Removing & spawning entities in the same order as the server, EntitySpawner does both removing and spawning
2016-10-26 16:44:59 +03:00
Regalis
df9f89e383
Submarine position syncing
2016-10-25 20:50:47 +03:00
Regalis
170e1a0da8
ItemRemover -> EntityRemover, clients reset spawner & remover when starting a new round
2016-10-12 20:46:47 +03:00
Regalis
60b36e020c
Changed ItemSpawner to EntitySpawner, used for syncing both item and character spawning
2016-10-12 19:25:01 +03:00
Regalis
ac3539da63
Item spawn syncing
2016-10-12 18:29:44 +03:00
juanjp600
72033a581e
Merge remote-tracking branch 'refs/remotes/barotrauma/master'
...
Conflicts:
Subsurface/Properties/AssemblyInfo.cs
Subsurface/Source/Characters/Character.cs
Subsurface/Source/GUI/GUI.cs
Subsurface/Source/GameMain.cs
Subsurface/Source/GameSettings.cs
Subsurface/Source/Items/CharacterInventory.cs
Subsurface/Source/Items/Components/ItemComponent.cs
Subsurface/Source/Items/Components/Machines/Pump.cs
Subsurface/Source/Items/Components/Machines/Radar.cs
Subsurface/Source/Items/Components/Machines/Steering.cs
Subsurface/Source/Items/Components/Power/PowerContainer.cs
Subsurface/Source/Items/Inventory.cs
Subsurface/Source/Items/Item.cs
Subsurface/Source/Items/ItemSpawner.cs
Subsurface/Source/Map/Levels/WaterRenderer.cs
Subsurface/Source/Map/LinkedSubmarine.cs
Subsurface/Source/Map/Map/Map.cs
Subsurface/Source/Map/Structure.cs
Subsurface/Source/Map/Submarine.cs
Subsurface/Source/Map/WayPoint.cs
Subsurface/Source/Networking/GameClient.cs
Subsurface/Source/Networking/GameServer.cs
Subsurface/Source/Physics/PhysicsBody.cs
Subsurface/Source/Screens/GameScreen.cs
2016-10-11 20:19:25 -03:00
Regalis
1b66e51970
Additional cargo isn't spawned in shuttles, fixed exception if trying to spawn additional cargo in a sub with no cargo spawnpoint, netlobby chatMsgBox stays selected after sending a chat message
2016-10-08 18:02:25 +03:00
juanjp600
44e12ffed2
Basic player input syncing
...
There's currently a bug where the inputs might be read out of order or more than once, which leads to desync. I'll feel really dumb when I find what's going on here.
Also, I'm using placeholder player spawning because CharacterInfo doesn't seem to be fully functional yet.
2016-09-22 21:20:46 -03:00
Regalis
4fbb83e2e7
The server can start the game
2016-09-09 19:49:13 +03:00
juanjp600
6f25bee9e1
Merge remote-tracking branch 'refs/remotes/barotrauma/master'
...
Conflicts:
.vs/Subsurface_Solution/v14/.suo
Subsurface/Barotrauma.csproj
Subsurface/Properties/AssemblyInfo.cs
Subsurface/Source/Items/ItemSpawner.cs
Subsurface/Source/Networking/GameClient.cs
Subsurface/Source/Networking/GameServer.cs
Subsurface/Source/Networking/GameServerLogin.cs
2016-09-03 17:54:33 -03:00
juanjp600
ef2b0d8721
Whitelist + conflict resolve
2016-09-03 14:57:36 -03:00
juanjp600
e3433c725e
Server name, message and submarine list syncing
2016-09-02 22:24:14 -03:00
juanjp600
028c3a8bc1
Added lobby chat syncing
2016-09-01 20:45:43 -03:00
juanjp600
b9a246ca68
New login process + a little bit of cleanup
...
No reliability required :) Will get to the client soon
2016-08-31 18:26:17 -03:00
juanjp600
9416eb64d7
Completely destroyed game
...
Looks like a lot more than just netcode is getting rewritten. Removing coroutines because there are better ways of handling asynchronous tasks, removing filestream because that's to be reimplemented later
2016-08-30 19:59:14 -03:00
juanjp600
9c116fc268
Merged branch master into master
2016-08-30 17:36:11 -03:00
juanjp600
52270e3a35
Hacked clients can't send chat messages from other characters anymore
...
Also added sendername as userdata in chat messages, for now it's not used for anything but we'll probably find something where this is useful
2016-08-30 17:35:58 -03:00
Regalis
2e2043bf7f
Chat messages are added to the server log even if the host's character is out of range, message senders are shown in the server log, fixed multi-line log entries overlapping
2016-08-30 19:06:15 +03:00
Regalis
e2885a912d
Husk infections, manually attacking when controlling a creature
2016-08-28 16:16:02 +03:00
Regalis
712953cc9e
WIP client special permissions (kick, ban, end round)
2016-08-24 11:47:46 +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
26b6847bca
Fixed NullReferenceExceptions if in the netlobby when a round ends, fixed chatmsgbox staying disabled after being stunned
2016-08-16 20:18:19 +03:00
Regalis
d5cd6f83ae
Shuttle-tag is visible in menus, some menu layout tweaking
2016-08-11 21:54:05 +03:00
Regalis
70dd90f0f8
Respawn shuttle transport duration can be adjusted or set to unlimited (= shuttle won't leave after spawning), subs with the HideInMenus tag aren't shown in menus, respawn info msgs are shown to all players
2016-08-08 23:37:11 +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