Age | Commit message (Collapse) | Author | |
---|---|---|---|
2021-06-10 | Cleanup: [Network] Remove C-string Recv_string and its last use | rubidium42 | |
2021-06-03 | Fix ef991b17: server was trying to free() a packet created with "new ↵ | Patric Stout | |
CommandPacket()" (#9334) | |||
2021-05-30 | Codechange: [Network] Use std::string to determine an unique name for clients | rubidium42 | |
2021-05-30 | Codechange: [Network] Use std::string for server side logic of kicking and ↵ | rubidium42 | |
banning clients | |||
2021-05-30 | Codechange: [Network] Let server rcon result use std::string | rubidium42 | |
2021-05-30 | Codechange: [Network] Let server changing a client name use std::string | rubidium42 | |
2021-05-29 | Codechange: [Network] Use std::string in CommandPacket | rubidium42 | |
2021-05-16 | Codechange: [Network] Let NetworkClientInfo use std::string | rubidium42 | |
2021-05-16 | Codechange: [Network] Use std::string to populate the client list for ↵ | rubidium42 | |
company stats | |||
2021-05-15 | Codechange: [Network] Let chat communication use std::string | rubidium42 | |
2021-05-15 | Codechange: Use std::string GetString where convenient | rubidium42 | |
2021-05-15 | Codechange: [Network] Let NetworkTextMessage use std::string | rubidium42 | |
2021-05-15 | Change: Use gender-neutral pronouns | rubidium42 | |
2021-05-14 | Codechange: [Network] Use std::string for the internal handling of ↵ | rubidium42 | |
admin/rcon passwords | |||
2021-05-14 | Codechange: [Network] Use std::string for the internal handling of server ↵ | rubidium42 | |
passwords | |||
2021-05-14 | Codechange: [Network] Use std::string for the internal handling of company ↵ | rubidium42 | |
passwords | |||
2021-05-14 | Codechange: [Network] Make company state password std::string | rubidium42 | |
2021-05-13 | Codechange: move server name/id in settings to std::string | rubidium42 | |
2021-05-13 | Codechange: move passwords in settings to std::string | rubidium42 | |
2021-05-12 | Change: reworked the debug levels for network facility (#9251) | Patric Stout | |
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-11 | Fix: [Network] clients leaving because of broken connections was not ↵ | Patric Stout | |
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-08 | Change: Use gender-neutral pronouns in console command messages (and ↵ | William Davis | |
comments) (#9203) | |||
2021-05-05 | Change: [Network] Update server's NetworkServerGameInfo only when needed | rubidium42 | |
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 | Codechange: [Network] Use a single NetworkServerGameInfo object at server ↵ | rubidium42 | |
side and serialize that for the clients | |||
2021-04-27 | Add: ability to retrieve game info from server over TCP | Patric Stout | |
2021-04-27 | Codechange: move all NetworkGameInfo related functions to a single file | Patric Stout | |
It currently was a bit scattered over the place. Part of NetworkGameInfo is also the GRF Identifiers that goes with it. | |||
2021-04-25 | Change: [Network] Remove now defunct savegame transfer packet limiter | rubidium42 | |
2021-04-25 | Change: use 32 KiB packets to transfer the savegame | Rubidium | |
2021-04-25 | Fix: [Network] Prevent stalling save game transfer when compression is slow | rubidium42 | |
2021-04-24 | Add: admin menu for companies in multiplayer games | Patric Stout | |
You can now easily do: - a password reset (unlock) - remove an empty company (reset company) | |||
2021-04-24 | Feature: rework in-game Online Players GUI | Patric Stout | |
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 | Codechange: add accessor for the packet type to Packet and make the internal ↵ | Rubidium | |
state of Packet private | |||
2021-04-24 | Codechange: remove public access to the next pointer in Packet | Rubidium | |
2021-04-24 | Codechange: encapsulate reading the size of a Packet | Rubidium | |
2021-04-24 | Codechange: encapsulate the logic about how many bytes can be sent from a ↵ | Rubidium | |
buffer in to a Packet | |||
2021-04-24 | Add: [Network] Validate the client name server side, so no clients with ↵ | rubidium42 | |
invalid names can actually join | |||
2021-04-24 | Codechange: [Network] Introduce function to validate the client name | rubidium42 | |
2021-04-20 | Remove: "language" field from server/client | Patric Stout | |
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-06 | Fix: [Network] State conditions for sending client info/quit packets (#8959) | Jonathan G Rennison | |
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-02-28 | Fix: [Network] don't show "server doesn't respond" while in queue | Patric Stout | |
Send all clients in the queue every game-day a packet that they are still in the queue. | |||
2021-02-28 | Fix: [Network] send map to next client if current client disconnects | Patric Stout | |
Also terminate creating of the savegame, as the client is gone, there really is no need for that anymore. | |||
2021-02-28 | Fix: [Network] also count the person downloading the map in the queue | Patric Stout | |
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. | |||
2021-02-27 | Change: Improve console warnings on invalid network commands (#8753) | Pavel Stupnikov | |
2021-02-27 | Codechange: [Network] replace _realtime_tick with std::chrono | Patric Stout | |
2021-02-27 | Fix bddfcaef: don't tell twice that a client left because of a timeout etc ↵ | Patric Stout | |
(#8746) SendError() notifies all clients of the disconnect. This calls CloseConnection() at the end, which also notified the clients of the disconnect. Really no need to do it twice. The status NETWORK_RECV_STATUS_SERVER_ERROR is only set by SendError(), so in case that is the status, don't let ClientConnection() send another notification. | |||
2021-01-08 | Codechange: Remove min/max functions in favour of STL variants (#8502) | Charles Pigott | |
2021-01-05 | Change: move "give money" from client-list to company window | Patric Stout | |
This is a much better location for this button, as you send money from one company to another company, not from player to player. This is based on work done by JGRPP in: https://github.com/JGRennison/OpenTTD-patches/commit/f82054339124cc6b89c5f4f9dac2d9da62f0108b and surrounding commits, which took the work from estys: https://www.tt-forums.net/viewtopic.php?p=1183311#p1183311 We did modify it to fix several bugs and clean up the code while here anyway. The callback was removed, as it meant a modified client could prevent anyone from seeing money was transfered. The message is now generated in the command itself, making that impossible. | |||
2020-12-27 | Codechange: Replace assert_compile macro with static_assert | Charles Pigott | |
2020-07-09 | Fix: Thread unsafe use of SendPacket for PACKET_SERVER_MAP_SIZE | Jonathan G Rennison | |
NetworkTCPSocketHandler::SendPacket is not thread safe and may not be used concurrently from multiple threads without suitable locking | |||
2020-02-08 | Fix #7976: Don't kick the client doing the rcon | glx | |