1
0
mirror of https://github.com/OpenRCT2/OpenRCT2 synced 2026-01-23 23:04:36 +01:00
Commit Graph

119 Commits

Author SHA1 Message Date
Alexander Overvoorde
9be47d11ed Fix #4747: Fix available land rights not being recounted when using sandbox tools
This commit fixes the game command set_land_ownership missing a land
rights recount call. This would cause problems when the user changes
land ownership with the sandbox mode tools.
2016-11-04 22:51:35 +01:00
Michał Janiszewski
18ff83fd6c Fix forward declaraction of ObjectRepositoryItem 2016-10-21 11:22:17 +02:00
Michał Janiszewski
8b5024a893 Update network version 2016-10-21 11:22:17 +02:00
Michał Janiszewski
194c9aed01 Refactor scenario_write_packed_objects and friends 2016-10-21 11:22:17 +02:00
Michał Janiszewski
65c6cd5412 Implement review suggestions 2016-10-21 11:22:17 +02:00
Michał Janiszewski
5ebc95e0b2 Mediate objects to send over from server 2016-10-21 11:22:17 +02:00
Michał Janiszewski
3a0e3c04e1 network send map refactor 2016-10-21 11:22:17 +02:00
zsilencer
d83df63acf Increment network version 2016-10-19 16:24:14 -06:00
zsilencer
d74efb23fe Add picking up peeps/staff as game command 2016-10-18 13:40:49 -06:00
zaxcav
d447223535 Increase network version for pathfinding updates. 2016-10-04 12:32:06 +02:00
Ted John
d73c2ba13c Wire up new advertiser class 2016-08-29 15:35:46 +01:00
Michael Steenbeek
5ff0db3caa Increment version number, (hopefully) fixes #4331 2016-08-24 17:26:11 +02:00
delebota
e806a88d71 #4193 Add a server greeting which is displayed to connecting user 2016-08-13 23:15:45 -05: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
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
f3786b3130 Fix #3899: Game crashes after hosting my server
Catch exceptions when loading groups.json.
2016-07-04 17:50:09 +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
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
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
c66a755ef7 request server gameinfo for window 2016-05-31 17:16:08 +01:00
Ted John
618d13a9a3 save chat logs 2016-05-30 16:25:06 +01:00
Ted John
00d4904ba9 make DISABLE_NETWORK compatible 2016-05-30 11:28:14 +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
3a1a474c7c refactor key map to User and UserManager classes 2016-05-27 20:28:35 +02:00
Michał Janiszewski
7a96856d01 Remove an unimplemented method that got in by mistake 2016-05-27 20:28:34 +02:00
Michał Janiszewski
80a90624b9 Add option to only allow known keys to login 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
Michał Janiszewski
165ec06690 Passwordless login permission 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
Michał Janiszewski
18d656e012 Ensure player names are unique
Do this by cheating a little: create a map with count of clients using
given username and increment it each time such a username is
encountered. This yields very similar results to actually counting users
holding given name, but saves all the error-prone string parsing.
2016-05-27 20:28:34 +02:00
Michał Janiszewski
4ffceafdbb Make sure the challenge token is random and handled properly
This change also fixes passworded servers not working properly, as
strlen() was getting called on something that was not guaranteed to be
null-terminated string when signing the token.
2016-05-27 20:28:33 +02:00
Michał Janiszewski
553e1bdf0f Minor fixes to authorisation system 2016-05-27 20:28:33 +02:00
Michał Janiszewski
715ba561b1 Initial version of key-based auth 2016-05-27 20:28:33 +02:00
Michał Janiszewski
1c459c8186 Add NetworkKey class 2016-05-27 20:28:33 +02:00
Michał Janiszewski
40253a7add Prevent SIGPIPE-ing on Linux when clients drop (#3755)
`send()` can only write to connected sockets [1]. In case where client
drops out, a socket may become closed by OS but we can still enqueue
packets for its connection and eventually call `send()`, which will
generate a SIGPIPE and shut the server down, because there was no
`MSG_NOSIGNAL` set.

This commit makes sure `MSG_NOSIGNAL` is used on Linux.

[1] http://linux.die.net/man/2/send
2016-05-27 17:44:23 +01:00
Michał Janiszewski
8066ed6ecc Format to break long lines in network.cpp
[ci skip]
2016-05-21 17:33:50 +02:00
Michał Janiszewski
bf24f5eef8 Use human-readable names for storing permissions 2016-05-21 16:23:20 +02:00
Michał Janiszewski
9d90a88461 Store groups as json 2016-05-21 14:54:00 +02:00
janisozaur
68bad6505c Add and correct licence headers to all sources (#3108) 2016-05-04 18:24:41 +01:00
Michał Janiszewski
1cd1144dd5 Janitorial fixes
Mostly style fixes, includes minor change to make sure spinner's down
button gets shown, update to string IDs, network version and making sure
correct string gets selected based on car count.
2016-05-02 22:35:08 +02:00
Gymnasiast
f2a3c21beb Check if peep is guest or staff, refactor 2016-04-28 21:26:58 +02:00
Nubbie
339f0aba10 Make renaming staff use staff permissions, fixes #3243 2016-04-28 19:33:50 +02:00
zsilencer
b257e431d9 Get rid of using user_strings for interface 2016-04-20 01:49:15 -06:00