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
2024-02-19 17:57:05 +00:00
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
2024-02-19 03:23:19 +00:00
Jonathan G Rennison
86a6f63e2f
Merge branch 'master' into jgrpp
...
# Conflicts:
# .github/workflows/ci-build.yml
# .github/workflows/codeql.yml
# .github/workflows/commit-checker.yml
# .github/workflows/release-linux-legacy.yml
# .github/workflows/release-linux.yml
# .github/workflows/release-macos.yml
# .github/workflows/release-windows-store.yml
# .github/workflows/release-windows.yml
# .github/workflows/upload-cdn.yml
# .github/workflows/upload-gog.yml
# .github/workflows/upload-steam.yml
# src/console_cmds.cpp
# src/core/math_func.hpp
# src/fios.cpp
# src/fios.h
# src/intro_gui.cpp
# src/network/network_server.cpp
# src/openttd.cpp
# src/settings.cpp
# src/settings_gui.cpp
# src/settings_internal.h
# src/settings_table.cpp
# src/settings_type.h
# src/table/settings.h.preamble
# src/table/settings/company_settings.ini
# src/table/settings/currency_settings.ini
# src/table/settings/difficulty_settings.ini
# src/table/settings/economy_settings.ini
# src/table/settings/game_settings.ini
# src/table/settings/gui_settings.ini
# src/table/settings/linkgraph_settings.ini
# src/table/settings/locale_settings.ini
# src/table/settings/misc_settings.ini
# src/table/settings/multimedia_settings.ini
# src/table/settings/network_private_settings.ini
# src/table/settings/network_settings.ini
# src/table/settings/news_display_settings.ini
# src/table/settings/old_gameopt_settings.ini
# src/table/settings/pathfinding_settings.ini
# src/table/settings/script_settings.ini
# src/table/settings/win32_settings.ini
# src/table/settings/window_settings.ini
# src/table/settings/world_settings.ini
# src/viewport.cpp
# src/viewport_func.h
# src/window.cpp
2024-02-15 23:49:11 +00:00
Rubidium
3534214dfc
Codechange: use reference instead of pointer for CommandPacket
2024-02-05 18:57:58 +01:00
Rubidium
cb588d8d3f
Codechange: use std::vector for the incoming command queue
2024-02-05 18:57:58 +01:00
Rubidium
b3aa8a9c35
Codechange: use std::vector for the outgoing command "queues"
2024-02-05 18:57:58 +01:00
Rubidium
72a44b0df6
Codechange: use references for handling received TCP packets
2024-02-05 16:30:49 +01:00
Rubidium
c77a45ed86
Codechange: use std::unique_ptr for receiving network packets
2024-02-05 16:30:49 +01:00
Rubidium
4b372b6050
Codechange: use std::shared_ptr to manage saveload filters instead of manually trying to avoid double frees
2024-02-03 21:38:33 +01:00
Tyler Trahan
28716548d2
Feature: Setting to automatically restart server based on hours played ( #11142 )
2024-01-26 10:25:25 -05:00
Jonathan G Rennison
97e6f3062e
Adding of _t to (u)int types, and WChar to char32_t
...
See: eaae0bb5e
2024-01-07 17:20:41 +00:00
Jonathan G Rennison
0d4d4a9cac
Merge branch 'master' into jgrpp
...
# Conflicts:
# cmake/CompileFlags.cmake
# src/3rdparty/squirrel/squirrel/sqclosure.h
# src/3rdparty/squirrel/squirrel/sqobject.h
# src/3rdparty/squirrel/squirrel/sqvm.h
# src/aircraft.h
# src/airport_gui.cpp
# src/blitter/32bpp_sse_func.hpp
# src/blitter/null.hpp
# src/bridge_gui.cpp
# src/build_vehicle_gui.cpp
# src/cargotype.h
# src/cheat_gui.cpp
# src/command.cpp
# src/command_func.h
# src/company_gui.cpp
# src/console_gui.cpp
# src/date_gui.cpp
# src/depot_gui.cpp
# src/dock_gui.cpp
# src/economy.cpp
# src/error_gui.cpp
# src/fileio.cpp
# src/fios.cpp
# src/fios_gui.cpp
# src/fontcache/spritefontcache.h
# src/framerate_gui.cpp
# src/game/game_text.cpp
# src/gamelog.cpp
# src/genworld_gui.cpp
# src/gfx_layout_fallback.cpp
# src/group_gui.cpp
# src/highscore_gui.cpp
# src/hotkeys.cpp
# src/industry_cmd.cpp
# src/industry_gui.cpp
# src/landscape.cpp
# src/main_gui.cpp
# src/misc_cmd.cpp
# src/misc_gui.cpp
# src/network/core/tcp_game.cpp
# src/network/core/udp.cpp
# src/network/network_chat_gui.cpp
# src/network/network_content_gui.cpp
# src/network/network_gui.cpp
# src/network/network_server.cpp
# src/network/network_server.h
# src/newgrf_airport.cpp
# src/newgrf_airport.h
# src/newgrf_airporttiles.cpp
# src/newgrf_airporttiles.h
# src/newgrf_animation_base.h
# src/newgrf_canal.cpp
# src/newgrf_commons.h
# src/newgrf_config.cpp
# src/newgrf_debug_gui.cpp
# src/newgrf_engine.cpp
# src/newgrf_engine.h
# src/newgrf_generic.cpp
# src/newgrf_gui.cpp
# src/newgrf_house.cpp
# src/newgrf_house.h
# src/newgrf_industries.cpp
# src/newgrf_industries.h
# src/newgrf_industrytiles.cpp
# src/newgrf_industrytiles.h
# src/newgrf_object.cpp
# src/newgrf_object.h
# src/newgrf_railtype.cpp
# src/newgrf_railtype.h
# src/newgrf_roadstop.cpp
# src/newgrf_roadstop.h
# src/newgrf_roadtype.cpp
# src/newgrf_roadtype.h
# src/newgrf_spritegroup.cpp
# src/newgrf_spritegroup.h
# src/newgrf_station.cpp
# src/newgrf_station.h
# src/newgrf_town.cpp
# src/newgrf_town.h
# src/news_gui.cpp
# src/object_gui.cpp
# src/order_gui.cpp
# src/os/macosx/crashlog_osx.cpp
# src/os/unix/crashlog_unix.cpp
# src/os/windows/crashlog_win.cpp
# src/os/windows/win32.cpp
# src/os/windows/win32_main.cpp
# src/pathfinder/npf/npf.cpp
# src/pathfinder/npf/queue.cpp
# src/rail_cmd.cpp
# src/rail_gui.cpp
# src/road_gui.cpp
# src/roadveh.h
# src/saveload/saveload.cpp
# src/screenshot.cpp
# src/script/api/script_text.hpp
# src/settings.cpp
# src/settings_gui.cpp
# src/settings_internal.h
# src/settings_table.cpp
# src/signs_cmd.cpp
# src/signs_gui.cpp
# src/smallmap_gui.cpp
# src/smallmap_gui.h
# src/spriteloader/grf.hpp
# src/station_cmd.cpp
# src/station_gui.cpp
# src/station_map.h
# src/statusbar_gui.cpp
# src/stdafx.h
# src/strgen/strgen.cpp
# src/table/newgrf_debug_data.h
# src/terraform_gui.cpp
# src/timer/timer_game_calendar.cpp
# src/timer/timer_window.cpp
# src/town.h
# src/town_cmd.cpp
# src/town_gui.cpp
# src/train_gui.cpp
# src/transparency_gui.cpp
# src/vehicle_gui.cpp
# src/water_cmd.cpp
# src/waypoint_cmd.cpp
# src/widget.cpp
# src/widget_type.h
# src/widgets/dropdown.cpp
# src/widgets/rail_widget.h
# src/widgets/terraform_widget.h
# src/window.cpp
# src/window_gui.h
2023-11-20 22:27:05 +00:00
Peter Nelson
49dae08a3b
Codechange: Add missing override specifiers.
2023-09-25 21:27:45 +01:00
Jonathan G Rennison
cdf1ff8d5a
Network: Extend post-desync frame sync history
...
Record sync state at various points throughout each frame
2023-08-28 19:58:17 +01:00
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
2023-07-19 19:30:14 +02:00
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.
2023-06-15 21:33:41 +01:00
Jonathan G Rennison
b18d3c9603
Network: Auto-kick clients after too many failed rcon/settings attempts
2023-06-14 21:58:35 +01:00
Jonathan G Rennison
c285413853
Network: Change hash function for non-company passwords
...
Increase size of per-connection salts, simplify management
Cache per-connection hashes at server end
Send hashes as binary rather than bothering to stringify them
2023-06-13 00:57:05 +01:00
Jonathan G Rennison
5e00d535bc
Debug: Detect which frame's state first diverged after a desync
2022-11-13 01:08:39 +00:00
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
2021-11-03 00:45:12 +00:00
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
2021-11-02 17:51:38 +00:00
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
2021-10-18 18:01:27 +01:00
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
2021-09-27 22:47:23 +01:00
dP
31cf9e888b
Add: [Network] external chat messages for remote admins ( #9563 )
2021-09-19 23:09:06 +02:00
Jonathan G Rennison
7e39d3f24a
Support sending extended game info in response to PACKET_CLIENT_GAME_INFO
2021-09-17 23:44:59 +01:00
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
2021-09-17 23:14:35 +01:00
Patric Stout
1ef4d3cf19
Remove: COMPANY_INFO packets and related code ( #9475 )
2021-08-14 23:24:02 +02:00
rubidium42
981cd0197a
Codechange: [Network] Use std::string for the client name in the network server
2021-06-15 06:13:00 +02:00
rubidium42
667301e3ec
Codechange: [Network] Make hostname/client IP return strings instead of a C-string
2021-06-15 06:13:00 +02:00
rubidium42
fd95736bac
Codechange: [Network] Use std::string for server side logic of kicking and banning clients
2021-05-30 00:01:49 +02:00
rubidium42
f0e1cd0129
Codechange: [Network] Let server rcon result use std::string
2021-05-30 00:01:49 +02:00
Jonathan G Rennison
6d58115458
Net: Log sent and received game packets with type and status names
2021-05-21 01:40:00 +01:00
rubidium42
fab120ee83
Codechange: [Network] Let chat communication use std::string
2021-05-15 10:20:50 +02:00
rubidium42
1de5cdeab8
Codechange: [Network] Use std::string for the internal handling of company passwords
2021-05-14 23:22:04 +02:00
Jonathan G Rennison
e04218b528
Network: Log received packets at log level net=3
2021-05-14 19:34:15 +01:00
William Davis
879de9781b
Change: Use gender-neutral pronouns in console command messages (and comments) ( #9203 )
...
(cherry picked from commit 881e1da51d )
2021-05-14 18:15:00 +01:00
William Davis
881e1da51d
Change: Use gender-neutral pronouns in console command messages (and comments) ( #9203 )
2021-05-08 11:02:30 +01:00
Patric Stout
b3003dd163
Add: ability to retrieve game info from server over TCP
2021-04-27 20:18:53 +02:00
Jonathan G Rennison
66fda55ec4
Merge branch 'master' into jgrpp
...
# Conflicts:
# src/company_cmd.cpp
# src/network/core/packet.cpp
# src/network/core/packet.h
# src/network/core/tcp.cpp
# src/network/core/udp.cpp
# src/network/network_server.cpp
# src/network/network_server.h
# src/toolbar_gui.cpp
# src/vehicle_gui_base.h
2021-04-25 20:56:16 +01:00
Rubidium
f71fb0f54a
Codechange: encapsulate reading the size of a Packet
2021-04-24 20:42:01 +02:00
Jonathan G Rennison
0d262e4d9a
Send network client desync log messages to server
2021-04-24 01:15:05 +01:00
Jonathan G Rennison
c2ae7580e0
Zstd: Use zstd for network joins if supported at both ends
...
See also: https://github.com/OpenTTD/OpenTTD/pull/8773
2021-03-01 18:59:03 +00:00
Patric Stout
c13c201f72
Fix: [Network] don't show "server doesn't respond" while in queue
...
Send all clients in the queue every game-day a packet that they
are still in the queue.
(cherry picked from commit 13889b6554 )
# Conflicts:
# src/network/network_server.cpp
2021-03-01 17:54:15 +00:00
Patric Stout
7da90af2f4
Fix: [Network] send map to next client if current client disconnects
...
Also terminate creating of the savegame, as the client is gone,
there really is no need for that anymore.
(cherry picked from commit 8d199b1bbc )
2021-03-01 17:49:03 +00:00
Patric Stout
13889b6554
Fix: [Network] don't show "server doesn't respond" while in queue
...
Send all clients in the queue every game-day a packet that they
are still in the queue.
2021-02-28 12:27:04 +01:00
Patric Stout
8d199b1bbc
Fix: [Network] send map to next client if current client disconnects
...
Also terminate creating of the savegame, as the client is gone,
there really is no need for that anymore.
2021-02-28 12:27:04 +01:00
Jonathan G Rennison
a1d85b812b
Network: Use unique_ptr for packets, use deque for packet queues
2020-05-07 20:53:50 +01:00
Jonathan G Rennison
babe98cdb1
Merge branch 'master' into jgrpp
...
# Conflicts:
# src/network/network_server.h
# src/pathfinder/yapf/yapf_road.cpp
# src/viewport.cpp
2020-02-09 15:43:47 +00:00
Bjarni Thor
5880f1479f
Feature #7756 : Allow server to supply a reason to kicked/banned clients
...
This commit adds the missing feature of allowing the server owner to
provide a reason for kicking/banning a client, which the client sees in
a pop-up window after being kicked. The implementation extends the
network protocol by adding a new network action called
NETWORK_ACTION_KICKED that is capable of having an error string, unlike
the other network error packages. Additionally, the kick function
broadcasts a message to all clients about the kicked client and the
reason for the kick.
2020-02-04 22:17:39 +00:00
Jonathan G Rennison
7960db35f2
Merge branch 'master' into jgrpp
...
# Conflicts:
# config.lib
# projects/openttd_vs140.vcxproj
# projects/openttd_vs140.vcxproj.filters
# projects/openttd_vs141.vcxproj
# projects/openttd_vs141.vcxproj.filters
# projects/openttd_vs142.vcxproj
# projects/openttd_vs142.vcxproj.filters
# src/aircraft_cmd.cpp
# src/base_station_base.h
# src/core/pool_type.hpp
# src/disaster_vehicle.cpp
# src/economy.cpp
# src/engine.cpp
# src/group.h
# src/group_cmd.cpp
# src/group_gui.cpp
# src/lang/english.txt
# src/lang/german.txt
# src/linkgraph/linkgraph_gui.cpp
# src/network/network_command.cpp
# src/network/network_server.cpp
# src/openttd.cpp
# src/order_cmd.cpp
# src/road_cmd.cpp
# src/saveload/afterload.cpp
# src/saveload/cargopacket_sl.cpp
# src/saveload/linkgraph_sl.cpp
# src/saveload/order_sl.cpp
# src/saveload/station_sl.cpp
# src/saveload/town_sl.cpp
# src/saveload/vehicle_sl.cpp
# src/screenshot.cpp
# src/screenshot.h
# src/settings_gui.cpp
# src/settings_type.h
# src/smallmap_gui.cpp
# src/station.cpp
# src/station_cmd.cpp
# src/table/settings.ini
# src/toolbar_gui.cpp
# src/town_cmd.cpp
# src/train.h
# src/train_cmd.cpp
# src/train_gui.cpp
# src/vehicle.cpp
# src/vehicle_base.h
# src/vehiclelist.cpp
# src/window_type.h
2020-01-06 18:45:51 +00:00