Michał Janiszewski
e930a09f0b
Free compressed map when failed to connect client
2016-08-03 07:39:55 +02:00
zsilencer
5d04e5e03e
Multiplayer desync stuff
2016-08-01 20:47:21 +02:00
Michał Janiszewski
155bc054df
Fix #4172 : Expose ride-type changing capability in UI
...
This also allows changing ride type in multiplayer games. Very crashy.
2016-08-01 20:30:08 +02:00
Michał Janiszewski
84137738e3
Disconnect client in case map sending fails
2016-07-30 10:13:08 +02:00
Michał Janiszewski
64c0c594dc
Check if memory was allocated successfully for server map
...
Somehow, there are cases where server thinks a map is around 2GiB in
size. Such allocation will most likely fail on 32-bit system and crash
the server. This provides *some* safety check and at least prevents
server from crashing in such cases.
2016-07-30 10:13:08 +02:00
Michał Janiszewski
04fb336d1f
Fix typo in comment
2016-07-27 15:09:30 +02:00
Michał Janiszewski
1fe5fc56c0
Checksum sprites occasionally in multiplayer
...
This creates a checksum (SHA1) every so often on server and sends this
value together with PRNG seed for client to check it has still not
desynced.
It's useful to detect a desync early on, as PRNG seeds may remain
unchanged for some more time, while damage may have already been caused.
2016-07-27 15:54:02 +02:00
Michał Janiszewski
82d52b63e6
Verify NetworkActions access
2016-07-26 15:07:33 +01:00
Yaroslav Tretyakov
3116ec3e76
Fix issue in ReceiveData
2016-07-24 21:01:14 +01:00
Ted John
e5722e1d9a
Fix #4139 : Windows first time firewall launch
...
std::string can not handle nullptr as argument. Create and use helper method instead.
2016-07-19 21:53:18 +01:00
Michał Janiszewski
836450cab4
Fix declarations of network-less builds
2016-07-14 14:11:50 +02:00
Michał Janiszewski
a6d0e6916e
Fix function definitions to match their declarations
...
This makes sure every function is properly declared, which includes
proper `extern` wrappers.
2016-07-14 14:11:49 +02:00
Marijn van der Werf
5204fb0ce9
Clean up string and sprite ID's ( #3977 )
2016-07-14 14:07:49 +02:00
Michał Janiszewski
f3786b3130
Fix #3899 : Game crashes after hosting my server
...
Catch exceptions when loading groups.json.
2016-07-04 17:50:09 +01:00
Michał Janiszewski
9041551b97
Guard server against null signature
2016-06-23 20:09:56 +01:00
Michał Janiszewski
644a36a310
Fixes to -Wall compilation
...
By default, not all warnings are enabled. This change makes sure that
the project compiles correctly with following options turned on:
-Wall -Wno-unused-but-set-variable -Wno-missing-braces \
-Wno-unknown-pragmas -Wno-unused-function
2016-06-20 13:46:27 +01:00
Marijn van der Werf
42ee299f65
Replace references to OS X
2016-06-13 19:49:06 +02:00
Yaroslav Tretyakov
379b85f94c
send fix #3836 ( #3850 )
2016-06-09 23:04:02 +01:00
Ted John
1761907f57
handle bad map data and close connection
2016-06-09 18:37:12 +01:00
dVoCex
27b3c71588
Send the correct map size to the master server ( #3821 )
...
Signed-off-by: dVoCex <dVoCex@users.noreply.github.com>
2016-06-09 12:32:25 +01:00
Alexander Overvoorde
ca1590c086
Add parameter to utf8_remove_formatting to allow colour codes ( fixes #3638 ) ( #3831 )
2016-06-09 12:30:32 +01:00
Michał Janiszewski
4b152bac88
Make sure data sent out over wire is advanced properly ( #3844 )
2016-06-09 12:29:44 +01:00
X123M3-256
706b3db99e
Chain lift cheat ( #3818 )
...
* Fix conflict with disable plant aging cheat
* Allow chain lift on any piece
* Keep chain toggled while building
* Ignore current chain lift state when cheat enabled
* Update string ids to one not already used
* Implement command for toggling cheat
* Allow chain on steep tracks when cheat is enabled
* Add checkbox for chain cheat
* Fix spacing
* Send cheat over network
* Change label for checkbox
* Replaced tabs with spaces
2016-06-07 22:08:38 +01:00
Michał Janiszewski
e5cd157edc
Fix memory leak in TcpSocket ( #3815 )
2016-06-03 23:29:25 +01:00
Michał Janiszewski
628e263094
Fix #3804 : use-after-free in TcpSocket ( #3810 )
2016-06-03 14:30:00 +01:00
Ted John
82dd7601eb
Merge pull request #3782 from janisozaur/desyncs
...
synchronise reset_0x69EBE4 over network
2016-06-03 10:47:01 +01:00
Michał Janiszewski
60630b9ad7
Drop `PACKED` attribute
2016-06-03 10:55:21 +02:00
Michał Janiszewski
3907fcd9d2
Explicitly pack structs
2016-06-03 10:55:21 +02:00
Michał Janiszewski
4955279b7b
Synchronise reset_0x69EBE4 over network
...
Clients calling reset_0x69EBE4 not in sync is a major cause of desyncs,
this change tries to force sync across clients
2016-06-03 00:33:15 +02:00
Ted John
a153d07637
handle exceptions when setting up the TCP listener
2016-06-02 18:51:29 +01:00
Michał Janiszewski
e3d04ff96d
Fix TcpSocket for Linux compilers ( #13 )
2016-06-02 09:13:25 +01:00
Ted John
8dfbabbd07
refactor network, create ITcpSocket
...
Abstracts all socket code into a new class TcpSocket which is only exposed by a light interface, ITcpSocket. This now means that platform specific headers like winsock2.h and sys/socket.h do not have to be included in OpenRCT2 header files reducing include load and other issues.
2016-06-01 23:01:20 +01:00
Ted John
27d846c2f4
fix #3786 : Wrong server provider information
2016-05-31 19:24:07 +01:00
Ted John
c66a755ef7
request server gameinfo for window
2016-05-31 17:16:08 +01:00
Ted John
2264027afa
change directory name to 'chatlogs'
2016-05-30 18:03:31 +01:00
Ted John
feb65ea93c
add option to log chat history
2016-05-30 18:01:17 +01:00
Ted John
618d13a9a3
save chat logs
2016-05-30 16:25:06 +01:00
Ted John
8cf4a1f03f
add default case to fix clang error
2016-05-30 11:28:41 +01:00
Ted John
00d4904ba9
make DISABLE_NETWORK compatible
2016-05-30 11:28:14 +01:00
Michał Janiszewski
3a697609a5
Fixes to network refactoring ( #11 )
2016-05-30 11:28:13 +01:00
Ted John
d69ca7f479
conform to name convention
2016-05-30 11:28:09 +01:00
Ted John
623318a35d
refactor NetworkPlayer
2016-05-30 11:18:07 +01:00
Ted John
3591026078
refactor NetworkAction
2016-05-30 11:18:07 +01:00
Ted John
31ac6e7fdf
refactor NetworkConnection and NetworkPacket
2016-05-30 11:18:07 +01:00
Ted John
46ecd53a99
refactor NetworkAddress
2016-05-30 11:18:07 +01:00
Ted John
91b7db31d1
fix #3771 : Crash when kicking player
...
The game did not check if the user hash existed in the map before trying to remove it.
2016-05-29 10:56:36 +01:00
CraigCraig
c946d2fb06
Various Spelling Fixes - 5/29/16 ( #3770 )
2016-05-29 10:00:38 +01:00
Michał Janiszewski
d29af84886
Make sure to hold string alive when using c_str() ( #3760 )
2016-05-27 22:32:11 +01:00
Michał Janiszewski
8e26f2c0d1
Only check for PASSWORDLESS permission if successfully verified
2016-05-27 23:00:31 +02:00
Michał Janiszewski
4699635086
Don't allow null keys
2016-05-27 22:56:23 +02:00