Patric Stout
d15dc9f40f
Add: support for emscripten (play-OpenTTD-in-the-browser)
...
Emscripten compiles to WASM, which can be loaded via
HTML / JavaScript. This allows you to play OpenTTD inside a
browser.
Co-authored-by: milek7 <me@milek7.pl>
2020-12-15 15:46:39 +01:00
Quipyowert2
d1b7eb2de1
Codechange: Limit field width to avoid sscanf crash
2020-02-23 19:04:34 +00:00
Bjarni Thor
5880f1479f
Feature #7756 : Allow server to supply a reason to kicked/banned clients
...
This commit adds the missing feature of allowing the server owner to
provide a reason for kicking/banning a client, which the client sees in
a pop-up window after being kicked. The implementation extends the
network protocol by adding a new network action called
NETWORK_ACTION_KICKED that is capable of having an error string, unlike
the other network error packages. Additionally, the kick function
broadcasts a message to all clients about the kicked client and the
reason for the kick.
2020-02-04 22:17:39 +00:00
glx
e3c75a30ba
Fix: unused variable warnings
2019-12-21 20:13:03 +01:00
glx
41232f18c1
Codechange: Replace network related FOR_ALL with range-based for loops
2019-12-21 20:13:03 +01:00
S. D. Cloudt
13cc8a0cee
Cleanup: Removed SVN headers
2019-11-10 17:59:20 +00:00
Henry Wilson
7c8e7c6b6e
Codechange: Use null pointer literal instead of the NULL macro
2019-04-10 23:22:20 +02:00
Michael Lutz
e804173595
Codechange: If something is a vector of strings, use a vector of strings instead of an AutoFreeSmallVector.
2019-04-09 22:45:15 +02:00
Henry Wilson
ab711e6942
Codechange: Replaced SmallVector::[Begin|End]() with std alternatives
2019-03-26 20:15:57 +00:00
Henry Wilson
a0f36a50e6
Codechange: Replaced SmallVector::Append() with std::vector::[push|emplace]_back()
2019-03-26 20:15:57 +00:00
Henry Wilson
a690936ed7
Codechange: Replace SmallVector::Length() with std::vector::size()
2019-03-26 20:15:57 +00:00
peter1138
07de9d6c3f
Codechange: Use override keyword in networking classes.
2019-03-24 17:38:42 +00:00
Patric Stout
e3c639a09f
Remove: ENABLE_NETWORK switch
...
This switch has been a pain for years. Often disabling broke
compilation, as no developer compiles OpenTTD without, neither do
any of our official binaries.
Additionaly, it has grown so hugely in our codebase, that it
clearly shows that the current solution was a poor one. 350+
instances of "#ifdef ENABLE_NETWORK" were in the code, of which
only ~30 in the networking code itself. The rest were all around
the code to do the right thing, from GUI to NewGRF.
A more proper solution would be to stub all the functions, and
make sure the rest of the code can simply assume network is
available. This was also partially done, and most variables were
correct if networking was disabled. Despite that, often the #ifdefs
were still used.
With the recent removal of DOS, there is also no platform anymore
which we support where networking isn't working out-of-the-box.
All in all, it is time to remove the ENABLE_NETWORK switch. No
replacement is planned, but if you feel we really need this option,
we welcome any Pull Request which implements this in a way that
doesn't crawl through the code like this diff shows we used to.
2019-03-20 19:24:55 +01:00
Niels Martin Hansen
830ed6be61
Fix: Do not mangle tagged revision strings for network revision strings
2019-02-12 21:32:43 +00:00
Niels Martin Hansen
5f8354f358
Change: Make a shortened network revision string for use in server queries
2019-02-03 18:00:16 +01:00
rubidium
ff5c05c1b4
(svn r27400) -Fix [FS#6368] (r26449): when a dedicated server was paused with no clients the tick length was increased significantly, making any assumptions about the tick length used further down in the code are not true anymore. One of such assumptions was that one should readvertise every 15 minutes worth of original ticks, but due to the lengthening this timeframe would be more like 45-60 minutes. Now we'll take the operating system's millisecond counter instead
2015-09-19 16:49:46 +00:00
frosch
e2f5081f40
(svn r26788) -Add: Desync replay option to skip/replay failed commands
2014-09-07 14:21:16 +00:00
frosch
937265d6d6
(svn r26786) -Fix: Also replay failed commands.
2014-09-07 13:36:18 +00:00
rubidium
e64249446d
(svn r26577) -Fix [FS#6001]: [Network] Client of non-dedicated server was not correctly put into the first company for all state variables
2014-05-11 13:07:36 +00:00
rubidium
9ed12b0f07
(svn r26509) -Codechange: replace strdup with stredup (the latter ensures the return is not NULL)
2014-04-25 15:40:32 +00:00
rubidium
5b82822c12
(svn r26486) -Codechange: replace a number of snprintfs with seprintf
2014-04-23 21:12:09 +00:00
rubidium
0463dbdc9e
(svn r26482) -Codechange: add an include that allows us to undefine/redefine "unsafe" functions to prevent them from being used, and thus having to care about certain aspects of their return values
2014-04-23 20:13:33 +00:00
planetmaker
3e9c10f9e1
(svn r26449) -Add: Allow more sound sleep for dedicated servers when there's nothing to do and nobody paying attention
2014-04-08 20:19:41 +00:00
rubidium
c40f281545
(svn r25997) -Codechange: make it slightly more clear what ports are coming from where in the debug output when listening
2013-11-14 19:31:10 +00:00
planetmaker
c24374f99c
(svn r24900) -Fix [FS#5389]: Comments with typos (most fixes supplied by Eagle_rainbow)
2013-01-08 22:46:42 +00:00
truebrain
6c7c02eb14
(svn r23780) -Fix [FS#4963] (r23764): also name the two new errors server-side. As extra, split up one of the errors in 3 errors, to be more specific what goes wrong. As cherry on top, make sure on all sides we can never again forget to add such entries on both sides, by introducing an assert_compile()
2012-01-09 21:22:48 +00:00
rubidium
531e501b5a
(svn r23751) -Codechange: rename NetworkUDPGameLoop to a more descriptive name, and move the UDP specific bits to network_udp
2012-01-04 22:08:43 +00:00
rubidium
6d6be50ae0
(svn r23740) -Codechange: remove some 300 unneeded includes from the .cpp files
2012-01-03 21:32:51 +00:00
truebrain
55de5d336c
(svn r23618) -Add: ScriptGame::Pause, ScriptGame::Unpause, and ScriptGame::GetLandscape (GameScript only)
2011-12-19 20:58:59 +00:00
truebrain
561b25d031
(svn r23601) -Fix: fix the conflict in window number
2011-12-19 20:50:21 +00:00
rubidium
2bf0fc3c5c
(svn r23476) -Codechange: use the error queue to replace switch mode error strings, again making it possible to return multiple errors
2011-12-10 15:16:58 +00:00
rubidium
998bbde49e
(svn r22934) -Fix [FS#4771]: prevent authentication bypass for the admin port when a new game is started
2011-09-15 18:28:39 +00:00
frosch
6bb33acc0d
(svn r22738) -Fix [FS#4722] (r21854): Setting company passwords via the GUI on servers (including starting a company with the default password) failed, so no client could join.
2011-08-13 08:32:55 +00:00
rubidium
36e887591b
(svn r22696) -Fix: don't requery the servers when the server list window isn't opened
2011-07-30 10:44:58 +00:00
rubidium
c4aa943aaa
(svn r22424) -Document: some more bits
2011-05-05 16:24:48 +00:00
rubidium
944a5cb7aa
(svn r22423) -Document: some network stuff
2011-05-04 20:24:23 +00:00
rubidium
2cae0cd54c
(svn r22368) -Codechange: move the IP address field from the ClientInfo to ClientSocket
2011-04-22 16:03:48 +00:00
rubidium
f1d0c1a746
(svn r22363) -Codechange: NetworkFindClientStateFromClientID -> NetworkClientSocket::GetByClientID
2011-04-22 15:54:42 +00:00
rubidium
bc9a803ea9
(svn r22362) -Codechange: NetworkFindClientInfoFromClientID -> NetworkClientInfo::GetByClientID
2011-04-22 15:54:16 +00:00
smatz
756cc6cf65
(svn r22116) -Codechange: use PoolBase::Clean() at more places
2011-02-19 23:05:47 +00:00
rubidium
05a846a574
(svn r22032) -Codechange: add some asserts to verify we don't allocate too many NetworkClientSockets/Infos
2011-02-08 21:47:10 +00:00
rubidium
795a528328
(svn r21854) -Codechange: refactor the password setting methods to make it possible to change the password of other companies (on the server)
2011-01-19 16:47:40 +00:00
rubidium
e54a1f6721
(svn r21853) -Codechange: HashCurrentCompanyPassword is only used by servers, so move it to network_server.* (dihedral)
2011-01-19 16:37:06 +00:00
rubidium
e95718bf43
(svn r21852) -Codechange: generalise GenerateCompanyPasswordHash (dihedral)
2011-01-19 16:35:11 +00:00
rubidium
c9609bbbc2
(svn r21851) -Codechange: rename NetworkClientSetPassword to NetworkClientSetCompanyPassword (dihedral)
2011-01-19 16:32:23 +00:00
rubidium
a82118f360
(svn r21850) -Codechange: move password hashing to a more general location (dihedral)
2011-01-19 16:30:09 +00:00
rubidium
b25cf57542
(svn r21701) -Codechange: ConsoleColour = TextColour, so make it that way and remove some unneeded casts
2011-01-03 12:01:41 +00:00
rubidium
b149fcd127
(svn r21513) -Feature [FS#532]: make the chat message timeout user configurable
2010-12-14 15:00:43 +00:00
rubidium
e68efb9e71
(svn r21512) -Change/Feature: make the delay of the chat messages timing out unrelated to the number of passed game days, i.e. don't stop aging chat messages when the server is paused
2010-12-14 14:57:51 +00:00
rubidium
cf61c2f11f
(svn r21412) -Codechange: limit company name by amount of characters, not bytes
2010-12-05 22:24:50 +00:00