summaryrefslogtreecommitdiff
path: root/src/network/network_admin.cpp
AgeCommit message (Collapse)Author
2021-09-19Add: [Network] external chat messages for remote admins (#9563)dP
2021-09-01Fix #9388: thread unsafe use of NetworkAdminConsole/IConsolePrintRubidium
2021-08-31Fix a2051bad: SendCmdNames only sent one name per packet (#9528)Patric Stout
2021-06-13Codechange: convert printf DEBUG statements to fmt Debug statementsrubidium42
2021-05-30Codechange: [Network] Let admin-console use std::string(_view)rubidium42
2021-05-30Codechange: [Network] Let admin-game script use std::stringrubidium42
2021-05-30Codechange: [Network] Make admin name and version std::stringrubidium42
2021-05-15Codechange: [Network] Let chat communication use std::stringrubidium42
2021-05-15Codechange: Use std::string GetString where convenientrubidium42
2021-05-14Codechange: [Network] Use std::string for the internal handling of ↵rubidium42
admin/rcon passwords
2021-05-13Codechange: move passwords in settings to std::stringrubidium42
2021-05-12Change: 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-04-27Codechange: move all NetworkGameInfo related functions to a single filePatric Stout
It currently was a bit scattered over the place. Part of NetworkGameInfo is also the GRF Identifiers that goes with it.
2021-04-25Codechange: differentiate between UDP, TCP and compatibility MTU valuesRubidium
2021-04-24Codechange: move logic whether there is enough space in a packet to write ↵Rubidium
data into the Packet
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.
2021-04-20Remove: "map_name" from server announcements / listingPatric Stout
The idea back in the days was nice, but it never resulted in anything useful. Most servers either read "(loaded game)" or "Random Map", neither being useful. It was meant for heightmaps, so you could find a server that was using a specific one .. but there are many things wrong with that idea. Mostly, servers tend to save and load savegames from time to time, after which the original heightmap used was lost. All in all, removing map_name all together is just better.
2021-02-27Codechange: [Network] replace _realtime_tick with std::chronoPatric Stout
2021-01-08Codechange: Remove min/max functions in favour of STL variants (#8502)Charles Pigott
2020-12-27Codechange: Replace assert_compile macro with static_assertCharles Pigott
2019-12-21Codechange: Replace network related FOR_ALL with range-based for loopsglx
2019-12-21Codechange: Replace FOR_ALL_COMPANIES with range-based for loopsglx
2019-11-10Cleanup: Removed SVN headersS. D. Cloudt
2019-04-10Codechange: Use null pointer literal instead of the NULL macroHenry Wilson
2019-03-20Remove: ENABLE_NETWORK switchPatric Stout
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-02-03Change: Make a shortened network revision string for use in server queriesNiels Martin Hansen
2014-04-23(svn r26482) -Codechange: add an include that allows us to undefine/redefine ↵rubidium
"unsafe" functions to prevent them from being used, and thus having to care about certain aspects of their return values
2013-10-12(svn r25845) -Add [FS#5756]: [Admin] Send info on bankruptcy quarters also ↵planetmaker
in ADMIN_PACKET_SERVER_COMPANY_INFO (zydeco)
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)
2013-07-11(svn r25588) -Feature [FS#5643]: PING and PONG packets for admin port (Xaroth)planetmaker
2013-07-11(svn r25587) -Add FS#5643: Conclude rcon output sent to admin clients with ↵planetmaker
an RCON_END packet (Xaroth)
2013-01-08(svn r24900) -Fix [FS#5389]: Comments with typos (most fixes supplied by ↵planetmaker
Eagle_rainbow)
2012-10-21(svn r24620) -Fix (r24619): Keep admin port API compatibility.frosch
2012-10-20(svn r24619) -Change: Check for bankruptcy on a monthly basis (ZxBioHazardZx)planetmaker
2012-01-20(svn r23826) -Fix [FS#4972]: the detailed performance rating window showed ↵rubidium
the cargo count of the current quarter instead of the last quarter like the tooltip says
2011-12-19(svn r23623) -Add: allow bi-directional communication with the AdminPort and ↵truebrain
GameScript
2011-11-04(svn r23115) -Fix [FS#4813]: allow accessing the server's client info as ↵rubidium
well in the admin network (dihedral)
2011-09-15(svn r22934) -Fix [FS#4771]: prevent authentication bypass for the admin ↵rubidium
port when a new game is started
2011-05-05(svn r22424) -Document: some more bitsrubidium
2011-05-04(svn r22423) -Document: some network stuffrubidium
2011-05-01(svn r22398) -Codechange: remove some defines from the tcp/admin code, so ↵rubidium
doxygen can create better documentation
2011-04-22(svn r22369) -Codechange: allocate ClientInfo when needed, i.e. don't ↵rubidium
allocate it for clients that are there to just get a list of companies. This means that these short lived clients won't be seen by the admin network in their client queries anymore
2011-04-22(svn r22368) -Codechange: move the IP address field from the ClientInfo to ↵rubidium
ClientSocket
2011-04-22(svn r22367) -Codechange: send ClientSockets instead of ClientInfos to the ↵rubidium
admin "core" as they send IP addresses to the admin "bots"
2011-04-22(svn r22362) -Codechange: NetworkFindClientInfoFromClientID -> ↵rubidium
NetworkClientInfo::GetByClientID
2011-02-15(svn r22085) -Fix: assert when connecting to the admin portsmatz
2011-01-22(svn r21890) -Cleanup: remove some unneeded includesrubidium
2011-01-08(svn r21741) -Fix (r21668): Some white space slipped past the commit hookplanetmaker
2011-01-03(svn r21701) -Codechange: ConsoleColour = TextColour, so make it that way ↵rubidium
and remove some unneeded casts
2010-12-30(svn r21668) -Feature: command logging using the admin interface (dihedral)rubidium