Rubidium
1c8f4bfaef
Fix #9388 : thread unsafe use of NetworkAdminConsole/IConsolePrint
...
(cherry picked from commit d7a0e80fc18b689455eaca09883fccbcc722d7e3)
# Conflicts:
# src/debug.cpp
# src/debug.h
# src/table/settings/gui_settings.ini
See: https://github.com/OpenTTD/OpenTTD/pull/9456
2021-07-26 17:55:19 +01:00
Jonathan G Rennison
63d8f3bdd7
Revert "Fix thread safety issues in network admin socket console logging"
...
This reverts commit ad15d4fd8f
.
2021-07-26 14:35:46 +01:00
Jonathan G Rennison
d23720cc60
Fix server crash when client joined during threaded (auto)save
2021-07-13 02:09:35 +01:00
Jonathan G Rennison
cb421294bb
Network: Log sent packets at net=5
2021-07-12 18:24:31 +01:00
Andreas Schmitt
e1214a6d8b
Fix some type conversion warnings
2021-06-21 09:10:40 +02:00
Jonathan G Rennison
ad15d4fd8f
Fix thread safety issues in network admin socket console logging
...
See: https://github.com/OpenTTD/OpenTTD/issues/9388
2021-06-20 10:04:01 +01:00
Jonathan G Rennison
ad0e085ec7
Fix off by one error in Packet::CanWriteToPacket
2021-06-12 22:47:29 +01:00
Jonathan G Rennison
1002c6d9d2
Fix various compiler warnings
...
See: #267
2021-06-11 22:54:27 +01:00
Jonathan G Rennison
97d5982cb5
Fix various compiler warnings
...
See: #267
2021-06-11 00:39:24 +01:00
Rubidium
e227bbaff0
Cleanup: remove the old FIO slot functions
...
(cherry picked from commit fa6abe1646
)
2021-05-30 22:02:14 +01:00
Rubidium
2606f5409a
Fix: leaking file descriptors
...
(cherry picked from commit 495d73a67f
)
2021-05-30 07:52:55 +01:00
rubidium42
62e3bfd684
Fix #9243 : [Network] For a dedicated server use a fallback client and server name
...
Also warn when the client or server name has not been set and provide pointers on how to set them
(cherry picked from commit 0968d009c8
)
2021-05-30 06:45:44 +01:00
Jonathan G Rennison
66289bbda4
Log packet size parse failures in NetworkTCPSocketHandler
2021-05-21 01:42:31 +01: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
Jonathan G Rennison
7677d2d01a
Fix mishandling of PACKET_SERVER_MAP_BEGIN queuing at server
...
This could result in broken packet framing in the TCP stream
2021-05-21 00:58:24 +01:00
Milek7
7ab6ab7400
Fix: missing <limits> include in network/core/packet.h ( #9123 )
...
(cherry picked from commit a341852cd5
)
2021-05-19 18:19:59 +01:00
Jonathan G Rennison
f3e0507c54
Network: Include extra info in PACKET_CLIENT_ERROR packets
...
Log more details in server when PACKET_CLIENT_ERROR received
2021-05-14 20:31:31 +01: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
rubidium42
59a817f21f
Fix: [Network] Reading beyond the length of the server's ID when hashing password
...
Under normal circumstances the server's ID is 32 characters excluding '\0', however this can be changed at the server. This ID is sent to the server for company name hashing. The client reads it into a statically allocated buffer of 33 bytes, but fills only the bytes it received from the server. However, the hash assumes all 33 bytes are set, thus potentially reading uninitialized data, or a part of the server ID of a previous game in the hashing routine.
It is still reading from memory assigned to the server ID, so nothing bad happens, except that company passwords might not work correctly.
(cherry picked from commit 56aa6d0edd
)
2021-05-06 20:52:00 +01:00
Peter Nelson
a469b4f395
Fix: Recalculate padding and minimum sizes when GUI or Font zoom is changed.
...
(cherry picked from commit 4791ff2862
)
2021-05-06 20:11:55 +01:00
Loïc Guilloux
88bc7bd235
Fix: [MinGW] Set minimum OS version to Windows XP ( #9135 )
...
(cherry picked from commit 356bbbb90a
)
2021-05-06 18:25:28 +01:00
Jonathan G Rennison
a9515456cb
Merge branch 'master' into jgrpp
...
# Conflicts:
# src/network/core/os_abstraction.h
# src/network/core/tcp_content.h
# src/network/core/udp.cpp
# src/table/currency_settings.ini
# src/table/settings.h.preamble
2021-05-03 21:59:49 +01:00
Patric Stout
8fa53f543a
Change: [Network] lower TCP connect() timeout to 3s ( #9112 )
...
Currently we use default OS timeout for TCP connections, which
is around 30s. 99% of the users will never notice this, but there
are a few cases where this is an issue:
- If you have a broken IPv6 connection, using Content Service is
first tried over IPv6. Only after 30s it times out and tries
IPv4. Nobody is waiting for that 30s.
- Upcoming STUN support has several methods of establishing a
connection between client and server. This requires feedback
from connect() to know if any method worked (they have to be
tried one by one). With 30s, this would take a very long time.
What is good to mention, is that there is no good value here. Any
value will have edge-cases where the experience is suboptimal. But
with 3s we support most of the stable connections, and if it fails,
the user can just retry. On the other side of the spectrum, with 30s,
it means the user has no possibility to use the service. So worst case
we annoy a few users with them having the retry vs annoying a few
users which have no means of resolving the situation.
2021-04-27 20:18:43 +02:00
rubidium42
015e3b412e
Cleanup: remove #ifdefs for compiling the old content server
2021-04-27 19:58:03 +02:00
rubidium42
84985c1223
Codechange: [Network] Do not leak os_abstraction.h via fios.h
2021-04-27 18:17:34 +01:00
rubidium42
cbad518bf3
Codechange: [Network] Do not leak os_abstraction.h via network_func
2021-04-27 18:17:34 +01:00
rubidium42
cf8c1aa860
Change: [Network] Use string error messages instead of numeric error numbers that need to be looked up
2021-04-27 18:17:34 +01:00
rubidium42
65c5a64719
Fix: [Network] errno and strerror do not handle network errors on Windows
2021-04-27 18:17:34 +01:00
Charles Pigott
43b6f6915b
Fix 8a95fee4: Missing initialiser in Packet constructor
2021-04-26 06:45:37 +02:00
Jonathan G Rennison
8eb27e1ac7
Merge branch 'master' into jgrpp
...
# Conflicts:
# src/company_cmd.cpp
# src/lang/japanese.txt
# src/network/core/config.h
# src/network/core/packet.cpp
# src/network/core/tcp.cpp
# src/network/network_content.cpp
# src/network/network_server.cpp
# src/network/network_udp.cpp
# src/toolbar_gui.cpp
# src/vehicle_gui_base.h
2021-04-25 22:14:59 +01: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
rubidium42
5afb090082
Change: [Network] Remove now defunct savegame transfer packet limiter
2021-04-25 21:29:23 +02:00
Rubidium
a3c9eca722
Change: use 32 KiB packets to send requests to the content server
2021-04-25 21:27:54 +02:00
Rubidium
21f58ab437
Change: use 32 KiB packets to transfer the savegame
2021-04-25 21:27:54 +02:00
Rubidium
d6000c2ec5
Codechange: differentiate between UDP, TCP and compatibility MTU values
2021-04-25 21:27:54 +02:00
Rubidium
8b302761d4
Codechange: allow different limits in packet sizes
2021-04-25 21:27:54 +02:00
rubidium42
65818db1f4
Fix: [Network] Prevent stalling save game transfer when compression is slow
2021-04-25 19:54:21 +02:00
Jonathan G Rennison
253772e9af
Merge branch 'master' into jgrpp
...
# Conflicts:
# CMakeLists.txt
# COMPILING.md
# src/console.cpp
# src/console_cmds.cpp
# src/console_internal.h
# src/rev.cpp.in
2021-04-25 02:14:58 +01:00
Jonathan G Rennison
ba418f9d0d
Merge branch 'master' into jgrpp
...
# Conflicts:
# src/lang/simplified_chinese.txt
# src/network/core/tcp_content.cpp
# src/network/core/udp.cpp
# src/network/network_server.cpp
# src/saveload/linkgraph_sl.cpp
# src/table/gameopt_settings.ini
2021-04-25 01:23:52 +01:00
Jonathan G Rennison
1e4161ff56
Merge branch 'master' into jgrpp
...
# Conflicts:
# src/group_gui.cpp
2021-04-25 00:30:03 +01:00
Patric Stout
fda1a590f6
Change: use icons to indicate you/host in Online Players GUI
2021-04-24 21:43:58 +02:00
Patric Stout
a924b2ff81
Add: move "New Company" inside the Online Players GUI
2021-04-24 21:43:58 +02:00
Patric Stout
c2e116a3d3
Change: track hover position on Online Players GUI
...
Especially if there are many players online, trying to chat with
the right one can be a visual challenge. This can be solved by
highlighting the row you are on. This visual cue is often enough
for humans to find the right row.
2021-04-24 21:43:58 +02:00
Patric Stout
54f69deb0c
Add: ask for confirmation on admin actions in network games
2021-04-24 21:43:58 +02:00
Patric Stout
ff708c2c65
Add: admin menu for companies in multiplayer games
...
You can now easily do:
- a password reset (unlock)
- remove an empty company (reset company)
2021-04-24 21:43:58 +02:00
Patric Stout
5266359424
Feature: rework in-game Online Players GUI
...
The GUI now more clearly shows some basic information about the
server you joined, your client name (and the ability to change it),
and what players are in which company.
It also contains useful buttons to press to join companies, chat
with other people, and for admins to kick/ban people.
Additionally, renamed "advertised" to "visibility"; this has to
do with future additions, but also because it is more clear in
wording.
2021-04-24 21:43:58 +02:00
Rubidium
75386873b7
Codechange: use std::vector instead of a fixed size array for Packets
2021-04-24 20:42:01 +02:00
Rubidium
450178d780
Codechange: add accessor for the packet type to Packet and make the internal state of Packet private
2021-04-24 20:42:01 +02:00
Rubidium
3abefdf561
Codechange: remove public access to the next pointer in Packet
2021-04-24 20:42:01 +02:00