rubidium42
3bd416bfdb
Change: [Console] Show help when passing invalid company number
3 years ago
rubidium42
a61696d6c5
Change: [Network] Encapsulate logic about the connection string to the network code ( #23 )
3 years ago
Patric Stout
be37a2cab8
Codechange: use NetworkAddress instead of two host/port variables where possible
...
This also means we no longer need last_host/last_port, but can
just use a single last_joined setting.
3 years ago
Patric Stout
cb2ef1ea4b
Codechange: move all NetworkGameInfo related functions to a single file
...
It currently was a bit scattered over the place. Part of
NetworkGameInfo is also the GRF Identifiers that goes with it.
3 years ago
rubidium42
cbad518bf3
Codechange: [Network] Do not leak os_abstraction.h via network_func
3 years ago
Jonathan G Rennison
253772e9af
Merge branch 'master' into jgrpp
...
# Conflicts:
# CMakeLists.txt
# COMPILING.md
# src/console.cpp
# src/console_cmds.cpp
# src/console_internal.h
# src/rev.cpp.in
3 years ago
Jonathan G Rennison
ba418f9d0d
Merge branch 'master' into jgrpp
...
# Conflicts:
# src/lang/simplified_chinese.txt
# src/network/core/tcp_content.cpp
# src/network/core/udp.cpp
# src/network/network_server.cpp
# src/saveload/linkgraph_sl.cpp
# src/table/gameopt_settings.ini
3 years ago
rubidium42
bfb0ab3e2f
Feature: [Network] Ensure players fill in a name instead of defaulting to "Player"
3 years ago
rubidium42
b14f412117
Codechange: [Network] Introduce function to validate the client name
3 years ago
Jonathan G Rennison
0d262e4d9a
Send network client desync log messages to server
3 years ago
Patric Stout
31897eaa7d
Codechange: split ParseConnectionString into two functions
...
One also looks for a company, the other doesn't. There were more
uses of the latter than the first, leaving very weird code all
over the place.
3 years ago
Jonathan G Rennison
babe98cdb1
Merge branch 'master' into jgrpp
...
# Conflicts:
# src/network/network_server.h
# src/pathfinder/yapf/yapf_road.cpp
# src/viewport.cpp
4 years ago
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.
4 years ago
Jonathan G Rennison
cbdd9f84d8
Merge branch 'master' into jgrpp
...
# Conflicts:
# src/console_gui.cpp
# src/lang/korean.txt
# src/video/sdl2_v.cpp
# src/video/sdl2_v.h
# src/window.cpp
# src/window_gui.h
5 years ago
S. D. Cloudt
13cc8a0cee
Cleanup: Removed SVN headers
5 years ago
Jonathan G Rennison
ec892879f4
Add passworded mechanism to change server game settings from client
5 years ago
Jonathan G Rennison
674732cd68
Merge: Codechange: Use null pointer literal instead of the NULL macro
5 years ago
Henry Wilson
7c8e7c6b6e
Codechange: Use null pointer literal instead of the NULL macro
5 years ago
Jonathan G Rennison
ba34ec7ade
Merge branch 'master' into jgrpp
...
Replace build and refit, and group collapse implementations
Fix template creation build and refit
# Conflicts:
# Makefile.bundle.in
# config.lib
# src/animated_tile.cpp
# src/blitter/32bpp_anim.hpp
# src/blitter/32bpp_base.hpp
# src/blitter/8bpp_base.hpp
# src/blitter/null.hpp
# src/build_vehicle_gui.cpp
# src/command.cpp
# src/command_func.h
# src/console_gui.cpp
# src/core/smallstack_type.hpp
# src/date.cpp
# src/debug.cpp
# src/genworld_gui.cpp
# src/ground_vehicle.hpp
# src/group_gui.cpp
# src/lang/korean.txt
# src/linkgraph/linkgraph_gui.h
# src/main_gui.cpp
# src/misc_gui.cpp
# src/network/core/game.h
# src/network/core/packet.cpp
# src/network/core/udp.cpp
# src/network/core/udp.h
# src/network/network_content.cpp
# src/network/network_type.h
# src/network/network_udp.cpp
# src/newgrf_house.h
# src/openttd.cpp
# src/order_cmd.cpp
# src/order_gui.cpp
# src/os/unix/crashlog_unix.cpp
# src/os/windows/crashlog_win.cpp
# src/osk_gui.cpp
# src/pathfinder/opf/opf_ship.cpp
# src/rail_cmd.cpp
# src/rail_gui.cpp
# src/saveload/saveload.cpp
# src/settings.cpp
# src/settings_gui.cpp
# src/smallmap_gui.h
# src/station_base.h
# src/station_cmd.cpp
# src/table/gameopt_settings.ini
# src/table/newgrf_debug_data.h
# src/table/settings.ini
# src/timetable_gui.cpp
# src/toolbar_gui.cpp
# src/train_gui.cpp
# src/vehicle.cpp
# src/vehicle_gui.cpp
# src/vehiclelist.cpp
# src/viewport.cpp
# src/widgets/dropdown.cpp
# src/window_gui.h
5 years ago
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.
5 years ago
Jonathan G Rennison
3001595916
Change chat arbitrary data field from an int64 to a struct.
7 years ago
rubidium
e8788019fa
(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
9 years ago
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
9 years ago
frosch
e00f4cac59
(svn r26788) -Add: Desync replay option to skip/replay failed commands
10 years ago
frosch
e2f5081f40
(svn r26788) -Add: Desync replay option to skip/replay failed commands
10 years ago
rubidium
492c6ed39b
(svn r26576) -Fix [FS#6003]: [Network] AIs would not reset certain network state information upon creation of their company
10 years ago
rubidium
4a52300838
(svn r26576) -Fix [FS#6003]: [Network] AIs would not reset certain network state information upon creation of their company
10 years ago
frosch
198b8897b8
(svn r26370) -Doc: Desync debugging and command replaying.
11 years ago
frosch
c6ce57e8a7
(svn r26370) -Doc: Desync debugging and command replaying.
11 years ago
rubidium
f8faaebaf0
(svn r23751) -Codechange: rename NetworkUDPGameLoop to a more descriptive name, and move the UDP specific bits to network_udp
13 years ago
rubidium
531e501b5a
(svn r23751) -Codechange: rename NetworkUDPGameLoop to a more descriptive name, and move the UDP specific bits to network_udp
13 years ago
frosch
30c413c399
(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.
13 years ago
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.
13 years ago
rubidium
7e151c1d51
(svn r22366) -Codechange: make GetClientIP a function of the server's ClientSocket, after all the Socket is the bit that's associated with the network
13 years ago
rubidium
c61abe0019
(svn r22366) -Codechange: make GetClientIP a function of the server's ClientSocket, after all the Socket is the bit that's associated with the network
13 years ago
rubidium
c4af57ad3b
(svn r22365) -Codechange: add overload of NetworkServerKickOrBanIP using the ClientID, which later resolves the IP address to ban. This to consolidate the knowledge about resolving IP addresses
13 years ago
rubidium
caf02450fb
(svn r22365) -Codechange: add overload of NetworkServerKickOrBanIP using the ClientID, which later resolves the IP address to ban. This to consolidate the knowledge about resolving IP addresses
13 years ago
rubidium
0a7dcc9781
(svn r22362) -Codechange: NetworkFindClientInfoFromClientID -> NetworkClientInfo::GetByClientID
13 years ago
rubidium
bc9a803ea9
(svn r22362) -Codechange: NetworkFindClientInfoFromClientID -> NetworkClientInfo::GetByClientID
13 years ago
rubidium
f1e42dc23b
(svn r21854) -Codechange: refactor the password setting methods to make it possible to change the password of other companies (on the server)
14 years ago
rubidium
795a528328
(svn r21854) -Codechange: refactor the password setting methods to make it possible to change the password of other companies (on the server)
14 years ago
rubidium
692e61d1dc
(svn r21701) -Codechange: ConsoleColour = TextColour, so make it that way and remove some unneeded casts
14 years ago
rubidium
b25cf57542
(svn r21701) -Codechange: ConsoleColour = TextColour, so make it that way and remove some unneeded casts
14 years ago
rubidium
2074b4ddce
(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
14 years ago
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
14 years ago
rubidium
28832b68f5
(svn r20973) -Add: chat sending and receiving support for remote admins (dihedral)
14 years ago
rubidium
d9602f4ef9
(svn r20973) -Add: chat sending and receiving support for remote admins (dihedral)
14 years ago
rubidium
72c85d1cdb
(svn r20967) -Add: infrastructure to send information to remote admins at specific intervals (dihedral)
14 years ago
rubidium
b4ce7fad7f
(svn r20967) -Add: infrastructure to send information to remote admins at specific intervals (dihedral)
14 years ago
rubidium
7d42a44556
(svn r20966) -Change: enable remote administration sockets (parts by Yexo and dihedral)
14 years ago
rubidium
7cc8a363d8
(svn r20966) -Change: enable remote administration sockets (parts by Yexo and dihedral)
14 years ago
alberth
2b4da1d345
(svn r20689) -Codechange: Make some global functions used in 1 .cpp file static in that file.
14 years ago
alberth
9f5a96ead2
(svn r20689) -Codechange: Make some global functions used in 1 .cpp file static in that file.
14 years ago
alberth
0439025e74
(svn r20678) -Codechange: Remove unused NetworkFindClientInfoFromIndex(), NetworkFindClientInfoFromIP().
14 years ago
alberth
fa6203fdc3
(svn r20678) -Codechange: Remove unused NetworkFindClientInfoFromIndex(), NetworkFindClientInfoFromIP().
14 years ago
alberth
e45a8f61cc
(svn r20674) -Codechange: Remove declared functions that do not exist (anymore) otherwise.
14 years ago
alberth
be59c90e86
(svn r20674) -Codechange: Remove declared functions that do not exist (anymore) otherwise.
14 years ago
smatz
09cb5fff3a
(svn r19818) -Fix [FS#3784](r16004): kicking clients by IP didn't work
14 years ago
smatz
80fd67a314
(svn r19818) -Fix [FS#3784](r16004): kicking clients by IP didn't work
14 years ago
smatz
abaf6b5b42
(svn r19651) -Fix [FS#3745]: when a company is sold, move connected clients to spectators
14 years ago
smatz
cd20724d20
(svn r19651) -Fix [FS#3745]: when a company is sold, move connected clients to spectators
14 years ago
smatz
c736bbb875
(svn r19075) -Codechange: unhackify NetworkChangeCompanyPassword()
15 years ago
smatz
73ed81b1c7
(svn r19075) -Codechange: unhackify NetworkChangeCompanyPassword()
15 years ago
rubidium
9467b7c6d6
(svn r18809) -Codechange/Cleanup: remove unneeded headers from some files, if a header require a header make it include that header
15 years ago
rubidium
82fc28f77f
(svn r18809) -Codechange/Cleanup: remove unneeded headers from some files, if a header require a header make it include that header
15 years ago
rubidium
a0840ee58b
(svn r18052) -Codechange/Fix: make the 'pause' chat message when actually executing the pause command. This to prevent showing paused and especially unpaused to be shown when the state doesn't change. Output now mentions whether pause changes keep the game paused and what reasons for pausing there 'currently' are.
15 years ago
rubidium
2a1cab4d46
(svn r18052) -Codechange/Fix: make the 'pause' chat message when actually executing the pause command. This to prevent showing paused and especially unpaused to be shown when the state doesn't change. Output now mentions whether pause changes keep the game paused and what reasons for pausing there 'currently' are.
15 years ago
rubidium
67a11a5776
(svn r17699) -Codechange: move #ifdef ENABLE_NETWORK till after the 'generic' includes so compilation without network support doesn't get broken as easily by changes in header files
15 years ago
rubidium
5ff6053326
(svn r17699) -Codechange: move #ifdef ENABLE_NETWORK till after the 'generic' includes so compilation without network support doesn't get broken as easily by changes in header files
15 years ago
rubidium
d9519fdf64
(svn r17562) -Fix [FS#2972]: the NewGRF settings of (remote) network games did not get properly updated when the NewGRFs were rescanned causing reading of freed data
15 years ago
rubidium
55c0109ee0
(svn r17562) -Fix [FS#2972]: the NewGRF settings of (remote) network games did not get properly updated when the NewGRFs were rescanned causing reading of freed data
15 years ago
rubidium
99d46e0ad7
(svn r17248) -Fix: add GPL license notice where appropriate
15 years ago
rubidium
7fbc33dae1
(svn r17248) -Fix: add GPL license notice where appropriate
15 years ago
smatz
7d4d3850cb
(svn r16555) -Feature [FS#570]: ability to enter server and company password via command line when joining a server (based on patch by Progman, Ammler and planetmaker)
15 years ago
smatz
35635c6248
(svn r16555) -Feature [FS#570]: ability to enter server and company password via command line when joining a server (based on patch by Progman, Ammler and planetmaker)
15 years ago
rubidium
789999ecf3
(svn r16360) -Codechange: don't use _network_playas as a 'second' _local_company, but only as a storage location for the company you want to join in MP.
15 years ago
rubidium
9f4d64bda0
(svn r16360) -Codechange: don't use _network_playas as a 'second' _local_company, but only as a storage location for the company you want to join in MP.
15 years ago
smatz
ce7dff4acc
(svn r16269) -Codechange: use gcc's ability to check parameters sent to printf-like functions
...
-Fix: wrong number of parameters or wrong parameter types sent to printf-like functions at several places
15 years ago
smatz
f5316c5cbd
(svn r16269) -Codechange: use gcc's ability to check parameters sent to printf-like functions
...
-Fix: wrong number of parameters or wrong parameter types sent to printf-like functions at several places
15 years ago
rubidium
a46de87b03
(svn r16022) -Fix (r15159): sometimes the unregister "query" thread could be delayed so much that the network stuff was already closed and the packet would never reach the master server causing the server to appear online longer than necessary.
15 years ago
rubidium
2663ad302f
(svn r16022) -Fix (r15159): sometimes the unregister "query" thread could be delayed so much that the network stuff was already closed and the packet would never reach the master server causing the server to appear online longer than necessary.
15 years ago
rubidium
8cd7def31c
(svn r16014) -Feature(-ish): allow binding to several IPs; [network]:server_bind_ip doesn't exist anymore. Add the IPs/hostnames to [server_bind_addresses]
15 years ago
rubidium
7d3db3ee91
(svn r16014) -Feature(-ish): allow binding to several IPs; [network]:server_bind_ip doesn't exist anymore. Add the IPs/hostnames to [server_bind_addresses]
15 years ago
rubidium
a76218eab9
(svn r15947) -Codechange: replace uint32 client_ip with NetworkAddress client_address.
15 years ago
rubidium
c9ebf14ba5
(svn r15947) -Codechange: replace uint32 client_ip with NetworkAddress client_address.
15 years ago
rubidium
bc7a870a61
(svn r15931) -Codechange: let the host and ban lists use of SmallVector.
15 years ago
rubidium
89d0eca6b7
(svn r15931) -Codechange: let the host and ban lists use of SmallVector.
15 years ago
rubidium
f524d39963
(svn r15773) -Fix [FS#2475]: number of active clients wasn't always properly
16 years ago
rubidium
ee4a660b0c
(svn r15773) -Fix [FS#2475]: number of active clients wasn't always properly
16 years ago
smatz
154b4da4cc
(svn r15628) -Fix [FS#2705]: kicking/banning a client from the Client list window crashed the server
16 years ago
smatz
f3ed8268b6
(svn r15628) -Fix [FS#2705]: kicking/banning a client from the Client list window crashed the server
16 years ago
rubidium
a7693c6059
(svn r15425) -Codechange: some color->colour changes and type safety.
16 years ago
rubidium
8dae160d0f
(svn r15425) -Codechange: some color->colour changes and type safety.
16 years ago
rubidium
2722cabcce
(svn r15242) -Feature: allow moving clients between companies/spectators by the server and the clients themselves (dihedral)
16 years ago
rubidium
04709f2798
(svn r15242) -Feature: allow moving clients between companies/spectators by the server and the clients themselves (dihedral)
16 years ago
rubidium
840217d717
(svn r15200) -Feature: give server admins a tool to combat profanity in nick names (based on patch by dihedral)
16 years ago
rubidium
f2777cd02d
(svn r15200) -Feature: give server admins a tool to combat profanity in nick names (based on patch by dihedral)
16 years ago
rubidium
206841ba5f
(svn r15163) -Change/Fix: use a non-blocking method to resolve the hostname and connect to game servers.
16 years ago
rubidium
28a641066e
(svn r15163) -Change/Fix: use a non-blocking method to resolve the hostname and connect to game servers.
16 years ago
rubidium
4aabc91c04
(svn r15157) -Codechange: wrap the hostname/ip and port into a single structure so we can pass either one of them and not convert an ip to a string and then back again.
16 years ago