Age | Commit message (Collapse) | Author |
|
|
|
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.
|
|
|
|
|
|
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.
|
|
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()
|
|
and configurable
|
|
|
|
|
|
|
|
|
|
static const variables
|
|
if a header require a header make it include that header
|
|
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.
|
|
client aborting to join or actually joining
|
|
'generic' includes so compilation without network support doesn't get broken as easily by changes in header files
|
|
|
|
time, binary size and run time (with asserts disabled) should be improved
|
|
unlimited.
|
|
the server and the clients themselves (dihedral)
|
|
and connect to game servers.
|
|
structure so we can pass either one of them and not convert an ip to a string and then back again.
|
|
see.
NoAI is an API (a framework) to build your own AIs in. See:
http://wiki.openttd.org/wiki/index.php/AI:Main_Page
With many thanks to:
- glx and Rubidium for their syncing, feedback and hard work
- Yexo for his feedback, patches, and AIs which tested the system very deep
- Morloth for his feedback and patches
- TJIP for hosting a challenge which kept NoAI on track
- All AI authors for testing our AI API, and all other people who helped in one way or another
-Remove: all old AIs and their cheats/hacks
|
|
(not enough players)" fully translateable.
|
|
networkclientinfo structs to be in a contiguous piece of memory and put them in a pool.
-Note: 255 should really be enough for now... making it any more means network protocol bumps.
|
|
amount of slots in the array, but one less as a dedicated server takes a slot too.
|
|
#include dependencies.
|
|
network related company information.
|
|
identification ids and the indices into the clients/client info arrays.
|
|
|
|
client so it is immediatelly clear which one you are working with.
|
|
a more logical location and give it a more consistent name.
|
|
name in the commands too.
|
|
headers so that nothing from the network directory needs to include basically all network headers.
|