Rémi Verschelde
c31ad71f10
enet: Split enet thirdparty files and allow unbundling
...
Building against shared libraries only implemented for Linux X11 so far.
TODO: Document Godot's modifications of upstream enet.
2016-10-15 11:50:39 +02:00
Rémi Verschelde
20773733ca
Merge pull request #6741 from Faless/network_no_spoof
...
Better checks for Multiplayer API, prevent packet source spoofing.
2016-10-09 14:52:35 +02:00
Rémi Verschelde
c16c621c97
Merge pull request #6657 from Faless/multi_channel_rpc
...
Use 2 different ENet channels for reliable/unreliable packets
2016-10-09 14:05:40 +02:00
Fabio Alessandrelli
b80d72e662
Better checks for Multiplayer API, prevent packet source spoofing.
...
Fixes the following problems.
A malicious client was able to contact another peer faking its identity
(even looking like he was the server).
A malicious client was able to force other client disconnections by sending
bogus system packets to the server.
2016-10-07 16:48:55 +02:00
Fabio Alessandrelli
c1dc71baee
Fix possible buffer overflow in NetworkedMultiplayerENet
...
NetworkedMultiplayerENet::get_packet was reporting the wrong size for the packet buffer exposing a potential buffer overflow in case of malformed/malicious packets
2016-09-30 03:51:46 +02:00
Fabio Alessandrelli
8b9e5453a5
Use 2 different ENet channels for reliable/unreliable packets
...
This avoids stalling other sequenced but unreliable packets
(i.e. UNRELIABLE_ORDERED) when sending RELIABLE packets.
2016-09-30 02:48:25 +02:00
George Marques
5f5db46e8d
Patch thirdy-party libraries to build for WinRT
...
- Patch enet code.
- Patch OpenSSL code and add shims for unavailable API.
- Add extra definition header for Freetype.
2016-09-03 19:46:26 -03:00
Hubert Jarosz
8a4e636df6
add NetworkedMultiplayerENet::set_bind_ip
...
which allows ENet to bind on custom IP.
2016-08-27 13:41:34 +02:00
Rémi Verschelde
2cf781d3c6
enet: Fix build on android and iphone platforms
...
Fixes #6156 .
2016-08-22 12:59:06 +02:00
Juan Linietsky
cbbcf72703
-High Level protocol optimization (should be smaller)
...
-Ability to set compression to ENet packets (check API)
-Fixed small bug in StringDB that lead to duplicate empty strings
-Added a new class, StreamPeerBuffer, useful to create your own tightly packed data
2016-08-22 01:19:24 -03:00
Juan Linietsky
2b7aa98d2d
Changed API to use sequenced packets for UDP (drop old)
2016-08-19 22:54:53 -03:00
Juan Linietsky
38338e90c0
ENet windows compilation fixes.
...
For reference, when you include a Windows header (be it directly windows.h or something that includes it)
put it at the end of the includes. it seems I forgot.
2016-08-20 01:05:57 -03:00
Juan Linietsky
2fa693273c
Many fixes to networking, demo should work now
2016-08-19 18:44:09 -03:00
Juan Linietsky
1add52b55e
Brand new networked multiplayer
2016-08-19 16:48:41 -03:00
Juan Linietsky
3db36684b1
Added high level networked multiplayer to Godot.
...
It's complete, but absolutely and completely untested, undocumented and NSFW.
Have fun :-)
2016-08-14 18:49:50 -03:00
Juan Linietsky
01bdfe1ff6
Missing some bits, and added connection status.
2016-08-14 14:07:23 -03:00
Juan Linietsky
c21aae65b6
-Added an ENet implementation for NetworkedMultiplayerPeer for "a bit higher level" networking.
2016-08-14 14:07:23 -03:00