summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2021-08-02Fix #9440: negative cargo payments not being handled rightRubidium
Cargo payments were stored as unsigned integer, but cast to int64 during application of inflation. However, then being multiplied with a uint64 making the result uint64. So in the end the payment that should have been negative becomes hugely positive.
2021-08-01Fix: Use of unstable sort when distributing cargo production can cause desyncsdP
2021-07-31Update: Translations from eintstranslators
portuguese (brazilian): 6 changes by Vimerum
2021-07-30Update: Translations from eintstranslators
dutch: 13 changes by Afoklala
2021-07-29Update: Translations from eintstranslators
slovak: 39 changes by ApplePie420
2021-07-28Update: Translations from eintstranslators
finnish: 14 changes by hpiirai
2021-07-27Update: Translations from eintstranslators
german: 10 changes by Wuzzy2
2021-07-26Update: Translations from eintstranslators
german: 4 changes by danidoedel romanian: 23 changes by ALEX11BR portuguese (brazilian): 6 changes by jpsl00
2021-07-25Update: Translations from eintstranslators
romanian: 17 changes by ALEX11BR
2021-07-24Update: Translations from eintstranslators
swedish: 9 changes by joeax910 russian: 1 change by Ln-Wolf
2021-07-23Update: Translations from eintstranslators
russian: 9 changes by Ln-Wolf catalan: 25 changes by J0anJosep
2021-07-22Update: Translations from eintstranslators
spanish (mexican): 13 changes by absay
2021-07-21Cleanup: remove some references to the old master-serverRubidium
2021-07-21Fix: crash when joining a server again after a TCP disconnect (#9453)Patric Stout
"my_client" wasn't always free'd when a game ended. "my_client" keeps a reference inside the PT_NCLIENT pool. The rest of the code assumes that when you are not in a game, it can freely reset this pool. In result: several ways to trigger a use-after-free.
2021-07-21Update: Translations from eintstranslators
english (us): 15 changes by 2TallTyler korean: 12 changes by telk5093 russian: 3 changes by Ln-Wolf portuguese: 12 changes by azulcosta polish: 98 changes by pAter-exe
2021-07-21Fix #8335: Race condition in music mixer (#9450)HEADmasterCharles Pigott
2021-07-20Update: Translations from eintstranslators
swedish: 1 change by joeax910 romanian: 36 changes by ALEX11BR
2021-07-20Feature: allow the use of TURN to connect client and server togetherPatric Stout
TURN is a last resort, used only if all other methods failed. TURN is a relay approach to connect client and server together, where openttd.org (by default) is the middleman. It is very unlikely either the client or server cannot connect to the STUN server, as they are both already connected to the Game Coordinator. But in the odd case it does fail, estabilishing the connection fails without any further possibility to recover.
2021-07-20Fix: [Network] rework when to close connections and inform Game Coordinator ↵Patric Stout
if needed
2021-07-20Codechange: Make OverflowSafeInt constexprCharles Pigott
2021-07-20Codechange: Remove (unused) ability to specify min/max of OverflowSafeIntCharles Pigott
2021-07-20Codechange: Use GCC/clang builtins for overflow safety when supportedCharles Pigott
2021-07-20Fix: OverflowSafeInt could underflowCharles Pigott
Notably, a company with an extremely negative amount of money would suddenly become very rich
2021-07-20Fix: OverflowSafeInt negation not handling INT64_MINCharles Pigott
INT64_MIN negated is above INT64_MAX, and would overflow. Instead, when negating INT64_MIN make it INT64_MAX. This does mean that -(-(INT64_MIN)) != INT64_MIN.
2021-07-19Fix 57734fd: Don't enable rename button for network clients in build vehicle ↵Loïc Guilloux
window (#9452)
2021-07-19Update: Translations from eintstranslators
german: 1 change by danidoedel
2021-07-19Fix: [Fluidsynth] Crash when debug output enabled (#9446)Charles Pigott
2021-07-18Update: Translations from eintstranslators
estonian: 1 change by siimsoni russian: 20 changes by Ln-Wolf
2021-07-18Feature: [Game Coordinator] Send NewGRF names to the clientRubidium
2021-07-18Feature: [Network] Optionally send NewGRF names with NewGRFs in GameInforubidium42
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-18Fix c921f6d: [Network] Documentation of Game Info packet was not updatedrubidium42
2021-07-18Remove: the concept of UnknownGRFsrubidium42
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-17Update: Translations from eintstranslators
korean: 2 changes by telk5093 catalan: 3 changes by J0anJosep french: 17 changes by glx22 portuguese: 1 change by azulcosta portuguese (brazilian): 15 changes by Vimerum
2021-07-17Fix 75b6051b: removing items from the ini could leave the group in a bad ↵Patric Stout
state (#9445)
2021-07-17Feature: 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-16Change: [Win32] Set the console codepage to UTF-8glx22
2021-07-16Fix 433f74e: GetString() requires a language packglx22
2021-07-16Update: Translations from eintstranslators
spanish (mexican): 1 change by absay dutch: 15 changes by Afoklala portuguese: 1 change by azulcosta
2021-07-16Doc: explain in a bit more detail how we implemented STUNPatric Stout
2021-07-16Feature: allow the use of STUN to connect client and server togetherPatric 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-16Codechange: allow Connect() to bind to a local addressPatric Stout
2021-07-15Update: Translations from eintstranslators
swedish: 14 changes by joeax910
2021-07-14Add: inform clients what game-script a server is running (#9441)Patric Stout
Co-authored-by: The Dude <thedude@novapolis.net>
2021-07-14Update: Translations from eintstranslators
spanish (mexican): 1 change by absay finnish: 14 changes by hpiirai
2021-07-13Update: Translations from eintstranslators
korean: 1 change by telk5093 portuguese: 1 change by azulcosta
2021-07-12Update: Translations from eintstranslators
spanish (mexican): 4 changes by absay english (us): 13 changes by 2TallTyler korean: 5 changes by telk5093 german: 13 changes by Wuzzy2 portuguese: 4 changes by azulcosta hindi: 6 changes by ritwikraghav14
2021-07-11Feature: parse the console settings the same way as config settingsRubidium
Now you can use things like `set server_game_type public` instead of having to guess the number, which would not be written into the configuration file nor would it be shown when doing `set server_game_type`.
2021-07-11Fix: "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-11Remove: includes to network/core/config.h from headers when only three cpp ↵Rubidium
files need it
2021-07-11Add: 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.