Age | Commit message (Collapse) | Author | |
---|---|---|---|
2021-07-18 | Feature: [Network] Optionally send NewGRF names with NewGRFs in GameInfo | rubidium42 | |
Before 8a2da49 the NewGRF names were synchronized using UDP packets, however those have been removed. With this a new version of the GameInfo packet is introduced that allows to specify the type of serialisation happens for NewGRFs. Either only the GRF ID and checksum, or those two plus the name of the NewGRF. On this request for local servers will send the NewGRFs names. The Game Coordinator will get the names on the first registration, and after that only the GRF ID and checksum. | |||
2021-07-18 | Fix c921f6d: [Network] Documentation of Game Info packet was not updated | rubidium42 | |
2021-07-18 | Remove: the concept of UnknownGRFs | rubidium42 | |
These were filled with "<Unknown>" (before 8a2da49) and later their name would get filled via UDP requests to the server. These UDP packets do not exist anymore, so they will always remain "<Unknown>". Remove that logic and just use the generic translated error GRF UNKNOWN string instead. | |||
2021-07-17 | Feature: Persistant rotation of numbered auto/netsave after restart (#9397) | Loïc Guilloux | |
It was always starting from 0 on openttd restart. Now the most recent auto/netsave number will be used as a base to generate the next filename. | |||
2021-07-16 | Doc: explain in a bit more detail how we implemented STUN | Patric Stout | |
2021-07-16 | Feature: allow the use of STUN to connect client and server together | Patric Stout | |
This method doesn't require port-forwarding to be used, and works for most common NAT routers in home setups. But, for sure it doesn't work for all setups, and not everyone will be able to use this. | |||
2021-07-16 | Codechange: allow Connect() to bind to a local address | Patric Stout | |
2021-07-14 | Add: inform clients what game-script a server is running (#9441) | Patric Stout | |
Co-authored-by: The Dude <thedude@novapolis.net> | |||
2021-07-11 | Fix: "Search LAN games" used the socket after it was closed (#9437) | Patric Stout | |
Every outgoing connection, either TCP or UDP, triggered NetworkInitialize(), which triggered NetworkUDPInitialize() which first closes all connections. Now the problem was that "Search LAN games" found a server, added it to the list, after which (over TCP) it queries the server. This closes all UDP sockets (as that makes sense, I guess?), while the UDP was still reading from it. Solve this by simply stop initializing UDP every time we make an outgoing TCP connection; instead only do it on start-up. | |||
2021-07-11 | Remove: includes to network/core/config.h from headers when only three cpp ↵ | Rubidium | |
files need it | |||
2021-07-11 | Add: allow setting your server visibility to "invite-only" (#9434) | Patric Stout | |
In this mode you do register to the Game Coordinator, but your server will not show up in the public server listing. You can give your friends the invite code of the server with which they can join. | |||
2021-07-11 | Feature: join servers based on their invite code | Patric Stout | |
This removes the need to know a server IP to join it. Invite codes are small (~7 characters) indentifiers for servers, which can be exchanged with other players to join the servers. | |||
2021-07-11 | Change: groundwork to allow ServerAddress to use invite codes | Patric Stout | |
Normally TCPConnecter will do a DNS resolving of the connection_string and connect to it. But for SERVER_ADDRESS_INVITE_CODE this is different: the Game Coordinator does the "resolving". This means we need to allow TCPConnecter to not setup a connection and allow it to be told when a connection has been setup by an external (to TCPConnecter) part of the code. We do this by telling the (active) socket for the connection. This means the rest of the code doesn't need to know the TCPConnecter is not doing a simple resolve+connect. The rest of the code only cares the connection is established; not how it was established. | |||
2021-07-11 | Codechange: track servers with a ServerAddress instead of a NetworkAddress | Patric Stout | |
This allows future extensions to have different ways of referencing a server, instead of forcing to use IP:port. | |||
2021-07-11 | Feature: raise the maximum NewGRF limit to 255 | Patric Stout | |
2021-07-10 | Feature: allow setting (game) coordinator and content server connection ↵ | Rubidium | |
strings using environment variables OTTD_COORDINATOR_CS for the game coordinator defaults to coordinator.openttd.org:3976 OTTD_CONTENT_SERVER_CS for the content server defaults to content.openttd.org:3978 OTTD_CONTENT_MIRROR_CS for the content mirror server defaults to binaries.openttd.org:80 | |||
2021-07-10 | Cleanup: remove unused optional ctor parameter for NetworkGameList | Patric Stout | |
2021-07-10 | Remove: unused UDP protocol parts | Patric Stout | |
2021-07-10 | Remove: old server listing via Master Server | Patric Stout | |
This removes all UDP from the game except for a local broadcast to find LAN games. So long Master Server, and tnx for all the fish! | |||
2021-07-10 | Remove: old server announcement to Master Server | Patric Stout | |
As we now use the Game Coordinator for announcements, there is no longer a need to use the Master Server for this. | |||
2021-07-10 | Add: use Game Coordinator to get latest public server listing | Patric Stout | |
2021-07-10 | Add: use Game Coordinator to annouce public servers | Patric Stout | |
2021-07-10 | Codechange: track version of network servers to prune once out-of-date | Patric Stout | |
2021-07-10 | Codechange: use UpdateNetworkGameWindow() over manually marking window dirty | Patric Stout | |
2021-07-09 | Add #9188: netsave now keeps multiple version around, similar to autosave ↵ | Stephan | |
(#9395) | |||
2021-07-08 | Fix 9e32c618: network revision was always empty (#9419) | Patric Stout | |
Shadowing the variable you intend to write in tends to do that ;) | |||
2021-06-29 | Fix f7e390bd: freeaddrinfo() is not guaranteed to handle a nullptr graceful ↵ | Patric Stout | |
(#9404) | |||
2021-06-28 | Add: Show the number of clients and companies in the online players window ↵ | TELK | |
(#9376) | |||
2021-06-26 | Codechange: [Network] Remove overload on NetworkValidateClientName | rubidium42 | |
Rename the zero-parameter NetworkValidateClientName to NetworkValidateOurClientName to make it clearer it is performed on our client name, and to make it a non-overloaded function to aid with the variant being added a few commits later | |||
2021-06-17 | Cleanup: use nullptr instead of 0 or NULL | Rubidium | |
2021-06-15 | Fix: you could join an AI company in multiplayer via the GUI (#9369) | SamuXarick | |
2021-06-15 | Codechange: [Network] Use std::string instead of char[] for the name of the ↵ | rubidium42 | |
file that is downloading | |||
2021-06-15 | Codechange: [Network] Use std::string for the client name in the network server | rubidium42 | |
2021-06-15 | Codechange: [Network] Use string_view for network compatability check | rubidium42 | |
2021-06-15 | Codechange: [Network] Simplify constructing the HTTP request with fmt | rubidium42 | |
2021-06-15 | Codechange: [Network] Let NetworkError return its std::string instead of a ↵ | rubidium42 | |
C-string | |||
2021-06-15 | Codechange: [Network] Make hostname/client IP return strings instead of a ↵ | rubidium42 | |
C-string | |||
2021-06-15 | Codechange: [Network] Let IsInNetmask use std::string | rubidium42 | |
2021-06-15 | Codechange: [Network] Simplify formatting of network addresses to string | rubidium42 | |
2021-06-14 | Fix: [Network] Determining GetNetworkRevisionString could overflow and ↵ | rubidium42 | |
underflow its buffer Tagged releases are not affected | |||
2021-06-13 | Codechange: replace IConsolePrintF with IConsolePrint and fmt formatting | rubidium42 | |
Also make some strings more consistent with the rest of the console strings. | |||
2021-06-13 | Change: improve some of the console messages related to networking (make ↵ | rubidium42 | |
them more uniform) and convert to fmt | |||
2021-06-13 | Codechange: convert printf DEBUG statements to fmt Debug statements | rubidium42 | |
2021-06-13 | Fix #9361, a2051ba: [Network] Off by one in CanWriteToPacket | rubidium42 | |
Previously it did not allow writing a byte to a packet that was of size limit - 1 anymore. | |||
2021-06-13 | Fix #9362: Hover in online players window was slightly too big (#9364) | TELK | |
This causes graphical glitches at the bottom of the window. | |||
2021-06-10 | Cleanup: [Network] Remove C-string Recv_string and its last use | rubidium42 | |
2021-06-10 | Codechange: [Network] Use std::string to get a NewGRF's name | rubidium42 | |
2021-06-10 | Cleanup: [ContentInfo] Remove some functions that are not needed anymore | rubidium42 | |
2021-06-10 | Codechange: [ContentInfo] Use std::string instead of string buffers | rubidium42 | |
2021-06-10 | Codechange: [ContentInfo] Use a vector for dependencies instead of custom ↵ | rubidium42 | |
allocation |