summaryrefslogtreecommitdiff
path: root/src/network/core/config.h
AgeCommit message (Collapse)Author
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-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-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-14Add: inform clients what game-script a server is running (#9441)Patric Stout
Co-authored-by: The Dude <thedude@novapolis.net>
2021-07-11Feature: join servers based on their invite codePatric 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-11Feature: raise the maximum NewGRF limit to 255Patric Stout
2021-07-10Feature: 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-10Remove: old server listing via Master ServerPatric 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-10Add: use Game Coordinator to annouce public serversPatric Stout
2021-06-10Codechange: [ContentInfo] Use std::string instead of string buffersrubidium42
2021-06-10Codechange: [ContentInfo] Use StringList for tags instead of custom allocationsrubidium42
2021-04-29Codechange: use NetworkAddress instead of two host/port variables where possiblePatric Stout
This also means we no longer need last_host/last_port, but can just use a single last_joined setting.
2021-04-25Change: use 32 KiB packets to transfer the savegameRubidium
2021-04-25Codechange: differentiate between UDP, TCP and compatibility MTU valuesRubidium
2021-04-20Remove: "language" field from server/clientPatric 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.
2019-11-10Cleanup: Removed SVN headersS. D. Cloudt
2019-02-03Change: Increase NETWORK_REVISION_LENGTH to 33 bytesNiels Martin Hansen
2017-01-14(svn r27729) -Codechange: Do not count static NewGRF when checking for the ↵frosch
maximum number of NewGRFs in a game. -Codechange: Remove LAST_GRF_SLOT and MAX_NEWGRFS. Now NETWORK_MAX_GRF_COUNT is the only constant to specify the maximum number of non-static NewGRF. -Codechange: Increase the number of file slots, effectively increasing the maximum number of static NewGRF and baseset GRFs.
2013-07-12(svn r25590) -Codechange: Align doxygen comments againplanetmaker
2013-07-12(svn r25589) -Fix [FS#5646]: Ensure that sent and received length of json ↵planetmaker
strings are the same (based on patch by Xaroth)
2011-12-19(svn r23623) -Add: allow bi-directional communication with the AdminPort and ↵truebrain
GameScript
2011-10-21(svn r23047) -Documentation: silly typo in commenttruebrain
2010-12-05(svn r21412) -Codechange: limit company name by amount of characters, not bytesrubidium
2010-10-17(svn r20963) -Add: stubs for a remote administration connectionrubidium
2010-05-13(svn r19809) -Codechange: make some unnamed network related enums/defines ↵rubidium
static const variables
2010-02-03(svn r18994) -Change: content mirroring support (based on work by TrueBrain).rubidium
2010-01-21(svn r18875) -Codechange: remove some unneeded bits from the network ↵rubidium
protocol and improve the naming of some variables
2009-08-21(svn r17248) -Fix: add GPL license notice where appropriaterubidium
2009-04-26(svn r16175) -Fix: Disable the join button in the multiplayer lobby for AI ↵yexo
companies, since joining an AI company is not possible.
2009-04-09(svn r16000) -Feature: IPv6 supportrubidium
2009-01-17(svn r15126) -Feature: downloading content from a central server ↵rubidium
(content.openttd.org) where authors can upload they NewGRFS/AI etc. This should make joining servers that use only NewGRFs that are distributed via this system easier as the players can download the NewGRFs from in the game. It should also make it easier to see whether there are updates for NewGRFs and make the necessary updates.
2008-09-30(svn r14421) -Codechange: rename all player variables/types to company *or* ↵rubidium
client so it is immediatelly clear which one you are working with.
2008-08-13(svn r14063) -Codechange: replace some "magic" constants with enumified ↵rubidium
constants.
2008-08-12(svn r14052) -Codechange: make the size of the chat message "box" ↵rubidium
configurable and increase the default size slightly so it can hold the longest chat messages.
2008-08-11(svn r14045) -Codechange: move the network's limitation to chat messages to ↵rubidium
a more logical location and give it a more consistent name.
2008-07-17(svn r13713) -Fix: possible crash on creating a network packet.rubidium
2008-07-17(svn r13712) -Fix: enforce the length restrictions of company and president ↵rubidium
name in the commands too.
2008-06-04(svn r13378) -Fix (r13375): compilation without network support was brokensmatz
2008-04-09(svn r12637) -Fix [FS#1913]: possible NULL pointer dereference when reading ↵rubidium
some NewGRF data.
2008-03-24(svn r12407) -Add [FS#1866]: more language flags for serversglx
2007-12-02(svn r11557) -Codechange: send and store the passwords a little more secure ↵rubidium
to/in the servers. Each server and game yield a (usually) different 'salt'. This salt is used by the clients to hash their passwords. This way the passwords are not sent in clear text and it is not trivial to use those hashes on other servers. NOTE: It is still NOT safe to use your trusted passwords and it will not stop people from being able to 'hijack' your password, it only makes it harder to do and certainly much less trivial than just dumping passwords from the memory.
2007-10-30(svn r11357) -Fix: NetworkUniqueID could be 80 chars, while the max size we ↵truelight
generate is 32. So reduce the size a bit. Pointed out by dihedral, so give him a big hug ;)
2007-06-01(svn r10017) -Add (FS#790): more languages flags for serversglx
2007-02-23(svn r8857) -Documentation: Added some doxygen @file tags, repaired others ↵celestar
(the @file tag MUST be found before any line of code, that includes preprocessor directives).
2007-02-08(svn r8631) -Add: added parameter -l ip[:port] to ./openttd, which redirects ↵truelight
DEBUG() to a remote connection over TCP For example, launch on 192.168.0.1 with, say, netcat a listener: netcat -l -p 3982 Launch OpenTTD on a remote host (say, PSP): ./openttd -l 192.168.0.1 -d9 And you get all debug information on 192.168.0.1. Very useful for debugging Portable systems.
2007-01-28(svn r8445) -Cleanup: remove some @params from comments as the parameters ↵rubidium
did not exist anymore and add comments to several variables/functions.
2007-01-23(svn r8372) -Fix (8361): NUM_LANDSCAPE comes (via some detour) from ↵rubidium
openttd.h, which does not exist in the masterserver/updater.
2007-01-06(svn r7932) -Fix (r7931): committed a few files too much :( (the ones I used ↵rubidium
to test the new masterserver)
2007-01-06(svn r7931) -Fix (r7759): multiple (different) -O flags made compilations ↵rubidium
with the wrong optimisations.