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
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
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
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
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
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
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
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
Ted John
ebb8eb749c
Merge pull request #3758 from janisozaur/fixes
...
Fixes
2016-05-27 20:57:14 +01:00
Michał Janiszewski
4ba1c17b0d
Don't let null password cause a crash on initial launch
2016-05-27 21:43:52 +02:00
Ted John
1b3331f584
remove user from users.json when kicked ( #11 )
2016-05-27 20:28:35 +02:00
Ted John
3a1a474c7c
refactor key map to User and UserManager classes
2016-05-27 20:28:35 +02:00
Michał Janiszewski
80a90624b9
Add option to only allow known keys to login
2016-05-27 20:28:34 +02:00
Michał Janiszewski
b8661fb389
When removing group, reset all users assigned to it
2016-05-27 20:28:34 +02:00
Ted John
fe057c4470
handle null group ids
2016-05-27 20:28:34 +02:00
Ted John
ac17cdf955
improve unique name handling
2016-05-27 20:28:34 +02:00
Ted John
daaa1b3ed2
add helper method for getting the keymap path
2016-05-27 20:28:34 +02:00
Ted John
f7ee22048f
save keys in a sub directory
2016-05-27 20:28:34 +02:00
Ted John
d62c94f14a
use Console::WriteLine instead of log_info
2016-05-27 20:28:34 +02:00
Michał Janiszewski
2d3d889a08
Formatting, style fixes
2016-05-27 20:28:34 +02:00
Michał Janiszewski
165ec06690
Passwordless login permission
2016-05-27 20:28:34 +02:00
Michał Janiszewski
9b4d385ab5
Allow out-of-process edits to keymappings.json
...
Reloads keymappings.json on each client join. This allows for manual edits,
so host can add keys without having to restart server for them to go live.
2016-05-27 20:28:34 +02:00
Michał Janiszewski
65a1d0c70d
Use UpdateKeyMappings to modify JSON in-place
...
This allows for non-destructive saving of group assigments, so user can
store their own entries.
2016-05-27 20:28:34 +02:00