rubidium42
4d246cda73
Codechange: [Network] Let NetworkClientInfo use std::string
2021-05-16 10:07:51 +02:00
rubidium42
83679c0e57
Codechange: [Network] Use std::string to populate the client list for company stats
2021-05-16 10:07:51 +02:00
rubidium42
fab120ee83
Codechange: [Network] Let chat communication use std::string
2021-05-15 10:20:50 +02:00
rubidium42
ae85af98eb
Codechange: Use std::string GetString where convenient
2021-05-15 10:20:50 +02:00
rubidium42
e6703eac68
Codechange: [Network] Let NetworkTextMessage use std::string
2021-05-15 10:20:50 +02:00
rubidium42
44ca7d9377
Change: Use gender-neutral pronouns
2021-05-15 10:16:48 +02:00
rubidium42
ebe32ad912
Codechange: [Network] Use std::string for the internal handling of admin/rcon passwords
2021-05-14 23:22:04 +02:00
rubidium42
6db52d52d0
Codechange: [Network] Use std::string for the internal handling of server passwords
2021-05-14 23:22:04 +02:00
rubidium42
1de5cdeab8
Codechange: [Network] Use std::string for the internal handling of company passwords
2021-05-14 23:22:04 +02:00
rubidium42
98283116fa
Codechange: [Network] Make company state password std::string
2021-05-14 23:22:04 +02: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
02fdb5b210
Codechange: move server name/id in settings to std::string
2021-05-13 23:13:17 +02:00
rubidium42
c73d64adf9
Codechange: move passwords in settings to std::string
2021-05-13 23:13:17 +02:00
Patric Stout
b136e65cf9
Change: reworked the debug levels for network facility ( #9251 )
...
It now follows very simple rules:
0 - Fatal, user should know about this
1 - Error, but we are recovering
2 - Warning, wrong but okay if you don't know
3 - Info, information you might care about
4 -
5 - Debug #1 - High level debug messages
6 - Debug #2 - Low level debug messages
7 - Trace information
2021-05-12 16:34:02 +02:00
Patric Stout
36e22f3a7b
Fix: [Network] clients leaving because of broken connections was not broadcasted ( #9238 )
...
The code mixed up "client has quit but we already told everyone"
with "client lost connection, handle this".
Split up those two signals:
- CLIENT_QUIT means we told everyone and the connection is now dead
- CONNECTION_LIST means we should tell everyone we lost a client
2021-05-11 12:26:16 +02:00
William Davis
881e1da51d
Change: Use gender-neutral pronouns in console command messages (and comments) ( #9203 )
2021-05-08 11:02:30 +01:00
rubidium42
e7581fd42d
Change: [Network] Update server's NetworkServerGameInfo only when needed
...
Split the updating in a "static" version that only needs to be called when a new map is loaded or some settings are changed, and a "dynamic" version that updates everything that changes regularly such as the current game date or the number of spectators.
2021-05-05 21:01:23 +02:00
rubidium42
72bd62fd70
Codechange: [Network] Use a single NetworkServerGameInfo object at server side and serialize that for the clients
2021-05-05 21:01:23 +02:00
Patric Stout
b3003dd163
Add: ability to retrieve game info from server over TCP
2021-04-27 20:18:53 +02:00
Patric Stout
cb2ef1ea4b
Codechange: move all NetworkGameInfo related functions to a single file
...
It currently was a bit scattered over the place. Part of
NetworkGameInfo is also the GRF Identifiers that goes with it.
2021-04-27 20:18:53 +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
21f58ab437
Change: use 32 KiB packets to transfer the savegame
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
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
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
Rubidium
f71fb0f54a
Codechange: encapsulate reading the size of a Packet
2021-04-24 20:42:01 +02:00
Rubidium
6f161f6559
Codechange: encapsulate the logic about how many bytes can be sent from a buffer in to a Packet
2021-04-24 20:42:01 +02:00
rubidium42
e1cebe0ea0
Add: [Network] Validate the client name server side, so no clients with invalid names can actually join
2021-04-24 08:02:54 +02:00
rubidium42
b14f412117
Codechange: [Network] Introduce function to validate the client name
2021-04-24 08:02:54 +02:00
Jonathan G Rennison
0d262e4d9a
Send network client desync log messages to server
2021-04-24 01:15:05 +01:00
Patric Stout
05612d60ae
Remove: "language" field from server/client
...
The original idea was that people could find a server they could
talk in their native language on. This isn't really used in that
way. There are several reasons for removing this:
- the client also sends his "language" to the server, but nothing
is doing anything with this.
- flags are a bad way to represent languages, and over the years
we had several (rightfully) complaints about this.
- most servers have their language set to "All", and prefix the
servername with the language it is about. This is a much more
efficient way to do the same.
All in all, this feature should go back to the drawing board.
Maybe it could work in another form, but this form is not it.
2021-04-20 17:24:38 +02:00
Jonathan G Rennison
825867f2c5
Fix: [Network] State conditions for sending client info/quit packets ( #8959 )
...
Use status >= STATUS_AUTHORIZED as the state criteria for all cases
where updates about other clients are sent.
This avoids the case where a client is informed that another client
has joined but not informed when it later quits, resulting in
stale entries in the client list window.
2021-04-06 19:31:52 +01:00
Jonathan G Rennison
76624e6f58
Server: Fix client state conditions for sending client info/quit packets
2021-04-06 02:21:32 +01:00
Jonathan G Rennison
4361a6dbf4
Avoid undefined behaviour const_casting std::string c_str()
...
Use non-const data() instead
See: #224
2021-03-11 01:33:06 +00:00
Jonathan G Rennison
f4e29071be
Merge tag '1.11.0-beta2' into jgrpp
...
# Conflicts:
# .github/workflows/ci-build.yml
# .github/workflows/release.yml
# CMakeLists.txt
# src/blitter/32bpp_optimized.cpp
# src/debug.cpp
# src/gfx.cpp
# src/gfx_func.h
# src/lang/czech.txt
# src/lang/english.txt
# src/lang/italian.txt
# src/lang/swedish.txt
# src/lang/ukrainian.txt
# src/network/network_server.cpp
# src/os/windows/crashlog_win.cpp
# src/os/windows/win32.cpp
# src/pathfinder/follow_track.hpp
# src/screenshot.cpp
# src/settings_type.h
# src/spritecache.cpp
# src/vehicle_gui.cpp
# src/video/sdl2_v.cpp
# src/video/video_driver.cpp
# src/video/video_driver.hpp
# src/video/win32_v.cpp
2021-03-02 11:59:03 +00: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
d4f208d9c1
Codechange: [Network] replace _realtime_tick with std::chrono
...
(cherry picked from commit 53c28a8ec9
)
2021-03-01 17:54:15 +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
cfa1612766
Fix: [Network] also count the person downloading the map in the queue
...
Strictly seen, there are "N" people -waiting- in front of you
in the queue, but it is nicer to show "N + 1" for the person that
is currently downloading the map. Avoids it showing:
"0 clients in front of you". That just feels a bit off.
(cherry picked from commit 3677418225
)
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