Jonathan G Rennison
75dd135e8d
Merge tag '14.0-beta3' into jgrpp
...
# Conflicts:
# regression/regression/result.txt
# src/industrytype.h
# src/network/core/config.h
# src/network/core/network_game_info.cpp
# src/network/core/network_game_info.h
# src/network/core/packet.cpp
# src/network/core/packet.h
# src/network/core/tcp.cpp
# src/network/core/tcp.h
# src/network/core/tcp_admin.cpp
# src/network/core/tcp_content.cpp
# src/network/core/tcp_coordinator.cpp
# src/network/core/tcp_game.cpp
# src/network/core/tcp_game.h
# src/network/core/tcp_turn.cpp
# src/network/core/udp.cpp
# src/network/core/udp.h
# src/network/network_admin.cpp
# src/network/network_client.cpp
# src/network/network_client.h
# src/network/network_command.cpp
# src/network/network_content.cpp
# src/network/network_internal.h
# src/network/network_query.cpp
# src/network/network_query.h
# src/network/network_server.cpp
# src/network/network_server.h
# src/network/network_turn.cpp
# src/network/network_udp.cpp
# src/rail_gui.cpp
# src/road_gui.cpp
4 months ago
Jonathan G Rennison
8581808952
Merge tag '14.0-beta2' into jgrpp
...
# Conflicts:
# CMakeLists.txt
# src/cargotype.cpp
# src/console_cmds.cpp
# src/graph_gui.cpp
# src/industry_cmd.cpp
# src/industrytype.h
# src/misc_gui.cpp
# src/network/network_client.cpp
# src/newgrf.cpp
# src/newgrf_town.cpp
# src/object_cmd.cpp
# src/openttd.cpp
# src/pathfinder/water_regions.cpp
# src/saveload/saveload.cpp
# src/saveload/saveload.h
# src/table/build_industry.h
# src/table/engines.h
# src/vehicle.cpp
# src/vehicle_cmd.cpp
# src/vehicle_gui.cpp
4 months ago
Rubidium
3534214dfc
Codechange: use reference instead of pointer for CommandPacket
5 months ago
Rubidium
72a44b0df6
Codechange: use references for handling received TCP packets
5 months ago
Rubidium
4b372b6050
Codechange: use std::shared_ptr to manage saveload filters instead of manually trying to avoid double frees
5 months ago
Rubidium
eaae0bb5e7
Codechange: automatic adding of _t to (u)int types, and WChar to char32_t
...
for i in `find src -type f|grep -v 3rdparty/fmt|grep -v 3rdparty/catch2|grep -v 3rdparty/opengl|grep -v stdafx.h`; do sed 's/uint16& /uint16 \&/g;s/int8\([ >*),;[]\)/int8_t\1/g;s/int16\([ >*),;[]\)/int16_t\1/g;s/int32\([ >*),;[]\)/int32_t\1/g;s/int64\([ >*),;[]\)/int64_t\1/g;s/ uint32(/ uint32_t(/g;s/_uint8_t/_uint8/;s/Uint8_t/Uint8/;s/ft_int64_t/ft_int64/g;s/uint64$/uint64_t/;s/WChar/char32_t/g;s/char32_t char32_t/char32_t WChar/' -i $i; done
12 months ago
Jonathan G Rennison
3d2dc77aa2
Network: Change protocol for game/rcon/settings password auth
...
Instead of sending a hash, do a DH/X25519 key exchange
using the password.
This also allows authenticating the associated rcon payload and response.
1 year ago
Jonathan G Rennison
5e00d535bc
Debug: Detect which frame's state first diverged after a desync
2 years ago
Jonathan G Rennison
9e946d4c5d
Merge branch 'master' into jgrpp-beta
...
# Conflicts:
# src/command.cpp
# src/console_cmds.cpp
# src/group_gui.cpp
# src/lang/catalan.txt
# src/lang/czech.txt
# src/lang/danish.txt
# src/lang/greek.txt
# src/lang/hungarian.txt
# src/lang/irish.txt
# src/lang/japanese.txt
# src/lang/luxembourgish.txt
# src/lang/norwegian_bokmal.txt
# src/lang/romanian.txt
# src/lang/russian.txt
# src/lang/serbian.txt
# src/lang/simplified_chinese.txt
# src/lang/slovak.txt
# src/lang/spanish_MX.txt
# src/lang/swedish.txt
# src/lang/tamil.txt
# src/lang/traditional_chinese.txt
# src/lang/turkish.txt
# src/lang/ukrainian.txt
# src/lang/vietnamese.txt
# src/network/network.cpp
# src/network/network_client.cpp
# src/network/network_func.h
# src/network/network_internal.h
# src/network/network_server.cpp
# src/network/network_server.h
# src/saveload/afterload.cpp
# src/saveload/newgrf_sl.cpp
# src/saveload/saveload.h
# src/script/script_instance.cpp
# src/toolbar_gui.cpp
# src/toolbar_gui.h
# src/vehicle_gui.cpp
# src/widgets/rail_widget.h
# src/widgets/vehicle_widget.h
# src/window.cpp
3 years ago
Jonathan G Rennison
324e90e5ac
Merge branch 'master' into jgrpp-beta
...
# Conflicts:
# src/lang/arabic_egypt.txt
# src/lang/english.txt
# src/lang/greek.txt
# src/network/core/tcp_connect.cpp
# src/network/network_client.cpp
# src/network/network_client.h
# src/pathfinder/npf/npf.cpp
# src/pathfinder/yapf/yapf_ship.cpp
# src/rail_gui.cpp
# src/settings_table.cpp
# src/settings_type.h
# src/station_cmd.cpp
# src/table/settings/gui_settings.ini
# src/town_cmd.cpp
# src/widgets/rail_widget.h
3 years ago
Jonathan G Rennison
faf32200cf
Merge tag '12.0-beta1' into jgrpp-beta
...
# Conflicts:
# CMakeLists.txt
# bin/ai/CMakeLists.txt
# bin/game/CMakeLists.txt
# src/build_vehicle_gui.cpp
# src/console_cmds.cpp
# src/core/overflowsafe_type.hpp
# src/fios.cpp
# src/lang/english.txt
# src/lang/german.txt
# src/lang/korean.txt
# src/lang/polish.txt
# src/network/core/game_info.cpp
# src/network/core/game_info.h
# src/network/core/tcp_game.cpp
# src/network/core/tcp_game.h
# src/network/network.cpp
# src/network/network_client.cpp
# src/network/network_client.h
# src/network/network_coordinator.cpp
# src/network/network_gui.cpp
# src/network/network_server.cpp
# src/network/network_server.h
# src/newgrf_engine.cpp
# src/openttd.cpp
# src/rev.cpp.in
# src/settings_type.h
# src/train.h
# src/train_cmd.cpp
3 years ago
Jonathan G Rennison
544da99102
Merge branch 'master' into jgrpp-beta
...
# Conflicts:
# src/cargopacket.h
# src/lang/korean.txt
# src/linkgraph/linkgraph.h
# src/linkgraph/linkgraphjob.h
# src/linkgraph/linkgraphschedule.h
# src/network/network_admin.h
# src/network/network_func.h
# src/network/network_server.cpp
# src/network/network_server.h
# src/order_base.h
# src/rail_cmd.cpp
# src/saveload/company_sl.cpp
# src/saveload/depot_sl.cpp
# src/saveload/economy_sl.cpp
# src/saveload/linkgraph_sl.cpp
# src/saveload/map_sl.cpp
# src/saveload/newgrf_sl.cpp
# src/saveload/order_sl.cpp
# src/saveload/saveload.cpp
# src/saveload/saveload.h
# src/saveload/signs_sl.cpp
# src/saveload/station_sl.cpp
# src/saveload/subsidy_sl.cpp
# src/saveload/town_sl.cpp
# src/saveload/vehicle_sl.cpp
# src/script/api/script_object.cpp
# src/settings.cpp
# src/string.cpp
# src/string_func.h
# src/table/CMakeLists.txt
# src/table/settings/settings.ini
# src/viewport_sprite_sorter_sse4.cpp
3 years ago
Jonathan G Rennison
fd605e3cf3
Merge branch 'master' into jgrpp-beta
...
# Conflicts:
# .github/workflows/commit-checker.yml
# src/company_cmd.cpp
# src/console_cmds.cpp
# src/crashlog.cpp
# src/lang/english.txt
# src/lang/german.txt
# src/lang/indonesian.txt
# src/lang/japanese.txt
# src/lang/korean.txt
# src/lang/swedish.txt
# src/linkgraph/linkgraphjob.cpp
# src/linkgraph/mcf.cpp
# src/network/core/tcp.cpp
# src/network/core/tcp.h
# src/network/core/tcp_game.h
# src/network/core/udp.h
# src/network/network.cpp
# src/network/network_admin.cpp
# src/network/network_admin.h
# src/network/network_chat_gui.cpp
# src/network/network_client.cpp
# src/network/network_client.h
# src/network/network_func.h
# src/network/network_internal.h
# src/network/network_server.cpp
# src/network/network_server.h
# src/newgrf.cpp
# src/newgrf_station.cpp
# src/order_gui.cpp
# src/rail_cmd.cpp
# src/saveload/saveload.cpp
# src/settings.cpp
# src/settings_gui.cpp
# src/settings_internal.h
# src/settings_type.h
# src/station_cmd.cpp
# src/stdafx.h
# src/table/currency_settings.ini
# src/table/misc_settings.ini
# src/table/settings.h.preamble
# src/table/settings.ini
# src/terraform_cmd.cpp
# src/timetable_gui.cpp
# src/train_cmd.cpp
# src/tree_cmd.cpp
# src/water_cmd.cpp
3 years ago
dP
31cf9e888b
Add: [Network] external chat messages for remote admins ( #9563 )
3 years ago
Jonathan G Rennison
da1ac73c02
Merge commit 'f1dfa661a1898cde06a38ab4cb230c95912b245b' into jgrpp-beta
...
# Conflicts:
# src/lang/estonian.txt
# src/lang/hungarian.txt
# src/network/core/game_info.cpp
# src/network/core/game_info.h
# src/network/core/packet.h
# src/network/network.cpp
# src/network/network_client.cpp
# src/network/network_server.cpp
# src/network/network_udp.cpp
# src/openttd.cpp
# src/string_func.h
3 years ago
Jonathan G Rennison
2bd535e834
Merge branch 'master' into jgrpp-beta
...
# Conflicts:
# src/engine_base.h
# src/gfxinit.cpp
# src/graph_gui.cpp
# src/lang/brazilian_portuguese.txt
# src/lang/dutch.txt
# src/lang/french.txt
# src/lang/korean.txt
# src/lang/norwegian_bokmal.txt
# src/lang/portuguese.txt
# src/lang/russian.txt
# src/lang/spanish.txt
# src/lang/spanish_MX.txt
# src/network/core/address.cpp
# src/network/core/game_info.h
# src/network/core/os_abstraction.h
# src/network/core/udp.cpp
# src/network/network_client.cpp
# src/network/network_client.h
# src/network/network_internal.h
# src/newgrf_engine.cpp
# src/settings_gui.cpp
# src/station_cmd.cpp
# src/string_func.h
# src/town_gui.cpp
# src/video/video_driver.cpp
# src/widget_type.h
3 years ago
Jonathan G Rennison
7e39d3f24a
Support sending extended game info in response to PACKET_CLIENT_GAME_INFO
3 years ago
Jonathan G Rennison
8a0821c96e
Merge branch 'master' into jgrpp-beta
...
# Conflicts:
# src/network/core/game_info.h
# src/network/core/udp.cpp
# src/network/core/udp.h
# src/network/network.cpp
# src/network/network_client.cpp
# src/network/network_client.h
# src/network/network_internal.h
# src/network/network_udp.cpp
3 years ago
Patric Stout
b2f0491a90
Fix #9501 : [Network] crash when more than one game-info query was pending ( #9502 )
3 years ago
Patric Stout
1ef4d3cf19
Remove: COMPANY_INFO packets and related code ( #9475 )
3 years ago
rubidium42
806f78aa04
Codechange: [Network] Use std::string to send the client name and rcon commands
3 years ago
Jonathan G Rennison
6d58115458
Net: Log sent and received game packets with type and status names
3 years ago
rubidium42
fab120ee83
Codechange: [Network] Let chat communication use std::string
3 years ago
rubidium42
ebe32ad912
Codechange: [Network] Use std::string for the internal handling of admin/rcon passwords
3 years ago
rubidium42
6db52d52d0
Codechange: [Network] Use std::string for the internal handling of server passwords
3 years ago
rubidium42
1de5cdeab8
Codechange: [Network] Use std::string for the internal handling of company passwords
3 years ago
Jonathan G Rennison
f3e0507c54
Network: Include extra info in PACKET_CLIENT_ERROR packets
...
Log more details in server when PACKET_CLIENT_ERROR received
3 years ago
Jonathan G Rennison
e04218b528
Network: Log received packets at log level net=3
3 years ago
Patric Stout
f94fb93779
Codechange: use connection_string in favour of NetworkAddress ( #9197 )
...
We now resolve the connection_string to a NetworkAddress in a much
later state. This means there are fewer places constructing a NetworkAddress.
The main benefit of this is in later PRs that introduce different types
of NetworkAddresses. Storing this in things like NetworkGameList is
rather complex, especially as NetworkAddress has to be mutable at all
times.
Additionally, the NetworkAddress is a complex object to store simple
information: how to connect to this server.
3 years ago
rubidium42
05394d5216
Fix #6598 : Prevent invalid memory accesses when abandoning a join from within a network game
...
One could join a network game from within an already running network game. This would call a NetworkDisconnect, but keeps the UI alive. If, during that process the join is aborted, e.g. by cancelling on a password dialog, you would still be in your network game but also get shown the server list.
Solve all the underlying problems by falling back to the main UI when (re)connecting to a(nother) server.
3 years ago
rubidium42
83985fe26f
Codechange: Move join information into a single structure
3 years ago
Patric Stout
69118d063f
Change: use TCP for everything except for master-server and initial server scan ( #9130 )
...
This means that pressing Refresh button and adding servers manually
now uses TCP.
The master-server and initial scan are still UDP as they will be
replaced by Game Coordinator; no need to change this now.
If we query a server that is too old, show a proper warning to the
user informing him the server is too old.
3 years ago
Patric Stout
31f1db2d3a
Change: no longer use UDP when entering the lobby of a server
...
The lobby of a server requested some parts via UDP and some via
TCP. This is strictly seen fine, but for future extensions it
is a lot easier if just one protocol is used.
3 years ago
Jonathan G Rennison
0d262e4d9a
Send network client desync log messages to server
3 years ago
Jonathan G Rennison
cbdd9f84d8
Merge branch 'master' into jgrpp
...
# Conflicts:
# src/console_gui.cpp
# src/lang/korean.txt
# src/video/sdl2_v.cpp
# src/video/sdl2_v.h
# src/window.cpp
# src/window_gui.h
5 years ago
S. D. Cloudt
13cc8a0cee
Cleanup: Removed SVN headers
5 years ago
Jonathan G Rennison
2e4b1d73d8
Avoid performing emergency network save more than once
5 years ago
Jonathan G Rennison
6ce7f22fe6
Send server desync log to client
5 years ago
Jonathan G Rennison
ec892879f4
Add passworded mechanism to change server game settings from client
5 years ago
Jonathan G Rennison
97baff6fd8
Add client desync log to server desync log output
5 years ago
Jonathan G Rennison
ba34ec7ade
Merge branch 'master' into jgrpp
...
Replace build and refit, and group collapse implementations
Fix template creation build and refit
# Conflicts:
# Makefile.bundle.in
# config.lib
# src/animated_tile.cpp
# src/blitter/32bpp_anim.hpp
# src/blitter/32bpp_base.hpp
# src/blitter/8bpp_base.hpp
# src/blitter/null.hpp
# src/build_vehicle_gui.cpp
# src/command.cpp
# src/command_func.h
# src/console_gui.cpp
# src/core/smallstack_type.hpp
# src/date.cpp
# src/debug.cpp
# src/genworld_gui.cpp
# src/ground_vehicle.hpp
# src/group_gui.cpp
# src/lang/korean.txt
# src/linkgraph/linkgraph_gui.h
# src/main_gui.cpp
# src/misc_gui.cpp
# src/network/core/game.h
# src/network/core/packet.cpp
# src/network/core/udp.cpp
# src/network/core/udp.h
# src/network/network_content.cpp
# src/network/network_type.h
# src/network/network_udp.cpp
# src/newgrf_house.h
# src/openttd.cpp
# src/order_cmd.cpp
# src/order_gui.cpp
# src/os/unix/crashlog_unix.cpp
# src/os/windows/crashlog_win.cpp
# src/osk_gui.cpp
# src/pathfinder/opf/opf_ship.cpp
# src/rail_cmd.cpp
# src/rail_gui.cpp
# src/saveload/saveload.cpp
# src/settings.cpp
# src/settings_gui.cpp
# src/smallmap_gui.h
# src/station_base.h
# src/station_cmd.cpp
# src/table/gameopt_settings.ini
# src/table/newgrf_debug_data.h
# src/table/settings.ini
# src/timetable_gui.cpp
# src/toolbar_gui.cpp
# src/train_gui.cpp
# src/vehicle.cpp
# src/vehicle_gui.cpp
# src/vehiclelist.cpp
# src/viewport.cpp
# src/widgets/dropdown.cpp
# src/window_gui.h
5 years ago
peter1138
07de9d6c3f
Codechange: Use override keyword in networking classes.
5 years ago
Patric Stout
e3c639a09f
Remove: ENABLE_NETWORK switch
...
This switch has been a pain for years. Often disabling broke
compilation, as no developer compiles OpenTTD without, neither do
any of our official binaries.
Additionaly, it has grown so hugely in our codebase, that it
clearly shows that the current solution was a poor one. 350+
instances of "#ifdef ENABLE_NETWORK" were in the code, of which
only ~30 in the networking code itself. The rest were all around
the code to do the right thing, from GUI to NewGRF.
A more proper solution would be to stub all the functions, and
make sure the rest of the code can simply assume network is
available. This was also partially done, and most variables were
correct if networking was disabled. Despite that, often the #ifdefs
were still used.
With the recent removal of DOS, there is also no platform anymore
which we support where networking isn't working out-of-the-box.
All in all, it is time to remove the ENABLE_NETWORK switch. No
replacement is planned, but if you feel we really need this option,
we welcome any Pull Request which implements this in a way that
doesn't crawl through the code like this diff shows we used to.
5 years ago
Jonathan G Rennison
54494a0a7c
Merge branch 'send_money_company' into jgrpp
7 years ago
Jonathan G Rennison
3001595916
Change chat arbitrary data field from an int64 to a struct.
7 years ago
cirdan
80fd6a2783
Drop memory allocator from ClientNetworkGameSocketHandler
...
Have ClientNetworkGameSocketHandler initialise all of its members
on construction and not derive from ZeroedMemoryAllocator.
(cherry picked from commit dddda4f0b7ba0bd6f310f924d3b85cadbc81dc99)
8 years ago
planetmaker
f00d9976f9
(svn r24900) -Fix [FS#5389]: Comments with typos (most fixes supplied by Eagle_rainbow)
12 years ago
planetmaker
c24374f99c
(svn r24900) -Fix [FS#5389]: Comments with typos (most fixes supplied by Eagle_rainbow)
12 years ago
rubidium
3d605f6488
(svn r23595) -Codechange: add comma after last enum to get a more uniform coding style
13 years ago
rubidium
df16ebd730
(svn r23595) -Codechange: add comma after last enum to get a more uniform coding style
13 years ago