summaryrefslogtreecommitdiff
path: root/network.h
AgeCommit message (Collapse)Author
2006-10-12(svn r6754) -Codechange: Remove some #idef ENABLE_NETWORK specific defines. ↵Darkvater
With networking disabled hardcode _networking/_network_available to zero and let the compiler handle all optimizations.
2006-10-12(svn r6753) -Codechange: Move some function declerations from functions.h ↵Darkvater
into network.h and let NetworkDisconnect handle all shutdown related operations.
2006-10-03(svn r6628) - Feature: Add the ability to pause a server if not enough ↵peter1138
players are connected. The setting for this is 'min_players' and can be set in the config and via the console. If the number of players drops below this number, the server will pause the game.
2006-08-22(svn r6045) -Cleanup: align all table-like structures using spaces, i.e. ↵rubidium
whitespace fixes only except for a few comments to make them uniform for the whole enum/struct.
2006-08-20(svn r5999) -Feature: change the original date format to a 32 bits format ↵rubidium
based at the year 0. The game date subsystem now allows someone to start in the year 0 and continue up to the year 5 000 000. However, you currently cannot build anything before 1920 as there is no newgrf support for dates before 1920 or after 2090 yet.
2006-08-16(svn r5926) -Codechange: make _cur_year contain the full year, instead of ↵rubidium
the offset since 1920 -Codechange: store all year related variables that are _not_ stored in a savegame/transported over the network in the same format as _cur_year
2006-08-15(svn r5919) -Cleanup: use the type Date when the variable really is a daterubidium
2006-08-15(svn r5915) -Cleanup: some variables were named *_date while they were only ↵rubidium
holding years; rename these variables to match this.
2006-06-17(svn r5298) Hide function declarations and remove function stubs which ↵tron
aren't needed in the !ENABLE_NETWORK case
2006-06-17(svn r5293) -Fix: Not all network interfaces are capable of broadcasting. ↵tron
Don't record those which aren't -Fix: Not all networks are /24. Generate proper broadcast addresses for non-/24 nets
2006-06-09(svn r5197) - Use svn info to automatically find the last modified revision ↵peter1138
number and get branch information and place it in the revision string. Increase NETWORK_REVISION_LENGTH to accommodate the branch tag.
2006-05-11(svn r4828) -Feature (FS#150) Add a new console command "players" that lists ↵celestar
current players along with basic stats (ledow)
2006-04-29(svn r4623) - Codechange: s/byte/PlayerID/Darkvater
2006-04-22(svn r4521) - Fix: be consistent about the size of the player-name in MP. ↵Darkvater
This hopefully fixes a crash on lesser OS's (eg Win98). Use ttd_strlcpy() to just copy over strings and properly terminate them because different implementations of snprintf() behave differently. Courtesy of TrueLight
2006-03-09(svn r3805) - [FS#62] Fix doxygen comments to refer to the correct ↵peter1138
parameter. (sulai)
2006-03-06(svn r3775) Fix loading of server_port from config file, introduced in ↵peter1138
Darkvater's unified configuration changes (r3719+)
2006-02-20(svn r3621) - Codechange: Only define the server and bans list if network is ↵Darkvater
enabled. Preparatory work for saving patches/settings to savegame.
2006-01-31(svn r3500) - Workaround the inaccurate count of spectators/companies that ↵Darkvater
can happen in certain border-cases. For now just dynamically get this value when requested so it is always right. To do properly all player/client creation/destruction needs a hook for networking.
2006-01-25(svn r3429) - Feature (Followup): Change the gamelist window to accomodate ↵Darkvater
for the new information.
2006-01-25(svn r3427) - Feature: Allow seeing and setting the maximum amount of ↵Darkvater
companies and spectators for a server. This can be changed/viewed during runtime as well in the console.
2006-01-19(svn r3409) - Change the server advertisement interval to use the frame ↵peter1138
counter instead of game days. This allows a paused server to continue to advertise itself. This also fixes advertising for games that start before 1922.
2005-09-02(svn r2906) Fix some threaded saving problems. Now the thread only ↵Darkvater
interfaces with the main program through a sort of mutex. Communication uses the function OTTD_SendThreadMessage() with the approiate message which is handled in ProcessSentMessage() during the main loop.
2005-07-24(svn r2701) Insert Id tags into all source filestron
2005-07-21(svn r2663) Include variables.h only in these files which need it, not ↵tron
globally via openttd.h
2005-07-16(svn r2589) Fix: [network] Fixed static variable that wasn't initialized. ↵ludde
Would stop the sync checking from working in some cases.
2005-07-15(svn r2581) Fix: Behave a bit safer if central server sends bogus ↵ludde
information about clients. Change: Made code a little bit more readable by putting _selected_item in a local var with a shorter name.
2005-05-14(svn r2316) - Fix: [ 1154454 ] Fix BeOS build on Trunk (myob)Darkvater
2005-05-14(svn r2308) - Fix: enforce server-only and/or offline commands by giving ↵Darkvater
them flags in the process table. This also fixes bug "[ 1190944 ] Many commands not checked for security" - CodeChange: move ValParamRailtype() to check rail type from command.h to vehicle.h where it is better suited.
2005-05-02(svn r2243) -Fix: Rework of console. Use 'help command|variable' to get help ↵Darkvater
about it. You can assign variables with =, ++, --, or just new value. Console parser is now lenient towards typed spaces, and more robust in general (at least readable). Removed the 'set' command, instead implemented all such variables as 'variables'. - Some variables are really special and cannot be assigned normally, use their callback procedure for assignment/querying. This commit also obsoletes "[1172804] Console set command cleanup"
2005-03-29(svn r2106) -Fix: improved the network-join algoritm, it is now a bit more ↵truelight
stable -Add: added 'pause_on_join' and 'max_join_time' for MP games, where you can auto-pause the game when a client wants to join the game. This to avoid connection losses because of big maps (200+ trains). (with tnx to #openttdcoop for the ideas and testing)
2005-03-06(svn r1945) - CodeChange: re-commit of rev 1835: "Reduce the visibility of ↵darkvater
network_core.h (Tron)". - VS6/.NET: moved ENABLE_NETWORK to the project file setting (same place as WITH_SDL, WITH_ZLIB) and removed it from network_core.h
2005-02-07(svn r1845) - Revert r1835 since it totally screws network compilingdarkvater
- Fix: fix some VS.NET warnings - Add missing file to VS.NET project file
2005-02-07(svn r1835) Reduce the visibility of network_core.htron
2005-02-06(svn r1833) byte -> char transition: the resttron
2005-01-22(svn r1594) Convert all undefined parameter lists to (void) and add the ↵tron
appropriate warning flags in the Makefile
2005-01-15(svn r1527) -Add: RCon (Remote Connection). A server can set:truelight
'set rcon_pw <password>' Which enables rcon. A client can now do: 'rcon <password> "<command>"' The command will be executed on the server. (guru3) -Fix: 'kick 1' did crash dedicated servers -Fix: server password is now correctly saved !!Warning!!: do not give your rcon password to people you do not thrust!
2005-01-14(svn r1510) -Add: Improved Network Lobby GUI: (bociusz)truelight
- Added green dot if company income is positive (else red dot) - Added lock icon if company is password protected
2005-01-02(svn r1322) -Add: banning system (mostly tnx to guru3)truelight
A server can ban people via ClientList Both server and dedicated can do it via console: 'ban', 'unban', 'banlist'.
2004-12-23(svn r1263) -Fix: [Network] Client-names are limited (serverside) to 25 charstruelight
-Fix: You can enter some more chars in the chatbox
2004-12-23(svn r1252) -Add: [Network] With 'set restart_game_date' you can set the ↵truelight
date for in which year the server must restart hisself. (0 = disabled, default value)
2004-12-23(svn r1240) -Fix: OpenTTD once again compiles if ENABLE_NETWORK is disabled.darkvater
-Fix: removed some warnings -Enabled ENABLE_NETWORK on windows again which I accidentally commented out.
2004-12-22(svn r1239) -Feature: Added gui option of setting company password. It can ↵darkvater
be found in the 'company information' window -Spiced up 'set company_pw' a bit, where if no pw is typed, it shows the current one. -Added a space between company name and player; looks better
2004-12-22(svn r1227) -Add: Ingame Server-list (select Internet, then Find Servers)truelight
-Fix: UDPListener was launched wrongly -Fix: Not all sockets have broadcast enabled anymore -Fix: Server-advertise retries 3 times before giving up
2004-12-20(svn r1194) Feature: You can now add and remove servers from the server ↵dominik
list. Those will be remembered until you delete them by pressing the Delete key.
2004-12-19(svn r1168) -Cleanup: [Network] Cleaned the network code a bit. Added 'const' truelight
and 'void' where needed, prefixed all functions, typedefs and global vars with 'Network' and organized all externals nicely.
2004-12-18(svn r1162) The server list can now be automatically filled from the config ↵dominik
file. Add a section [servers] with the addresses each in a new line. Those will be checked upon OpenTTD startup.
2004-12-16(svn r1131) -Add: [Network] Autoclean_companies (set it with 'set ↵truelight
autoclean_companies on/off'). When enabled, empty companies (companies with no active clients) with no password are declared bankrupt after 1 year of emptyness. For empty companies with password, the password is removed after 3 years of emptyness. The delay of removing company/password can be configured via: - 'set autoclean_protected <months>' - 'set autoclean_unprotected <months>'
2004-12-15(svn r1108) -Fix: [Network] Fixed problem around slow clients:truelight
They joined, they got the map, but it took some time before the new player was created. In this time a player could do stuff, causing a player-id-mismatch, and the player was kicked out. Now a player get's a nice GUI which says: registering.. When that is gone, the player is joined and can play safely. Tnx to Moriarty for bugging me with this bug ;)
2004-12-15(svn r1106) -Add: [Network] Added master-server protocol and advertise to truelight
master-server option. No GUI yet, and disabled by default (it still is WIP)
2004-12-15(svn r1098) -Fix: server without revision build doesn't care about the ↵darkvater
client's version. Also moved all revision things where it belongs (network.c)