Lukas Werling
85f5b3cb75
Fix local network discovery
2017-01-18 21:54:49 +01:00
Lukas Werling
5a09c1d4a5
Convert addresses from puncher to IPv4
...
Addresses from the puncher would show as [::ffff:1.2.3.4] and be a bit
confusing.
2017-01-18 21:54:49 +01:00
Lukas Werling
68d18bf872
Remove obsolete CompileFunc for in_addr
2017-01-18 21:54:49 +01:00
Lukas Werling
ef9be2e24e
Change (discovery) multicast to IPv6
...
We use ff02::1 as discovery multicast address.
This "all nodes" multicast address is good enough for discovery in the
local network as packets there are likely broadcasted over ethernet
anyways.
2017-01-18 21:54:35 +01:00
Lukas Werling
793207ce28
Fix connections to link-local IPv6 addresses
...
Link-local IPv6 addresses are valid on all interfaces and thus need an
interface specifier / scope id, e.g. fe80::1%eth0.
2017-01-18 21:54:02 +01:00
Lukas Werling
5d803d3be3
Improve "could not find connection" error message
2017-01-09 20:35:04 +01:00
Lukas Werling
1925f47440
Fix C4NETIO_DEBUG option
2017-01-09 20:35:04 +01:00
Lukas Werling
592ef85672
Fix local IPv6 address discovery
2017-01-09 20:35:04 +01:00
Nicolas Hake
102047f537
Implement IPv6 support to C4NetIO
2017-01-09 20:34:43 +01:00
Lukas Werling
8d9eedffe4
Reset C4NET2IO_DUMP_LEVEL to 1 ( #1869 )
2016-12-19 17:30:19 +01:00
Lukas Werling
4c51620dcf
Fix UPnP/Linux crash when there is no UPnP device
2016-12-10 22:07:37 +01:00
Sven Eberhardt
bf9c940aa6
Editor graph delegate: Add edge and vertex properties. Remove graph storage options.
...
The different storage options weren't really needed and would not work with edge and vertex delegates.
2016-11-10 21:43:43 -05:00
Julius Michaelis
7aeec3279c
Fix 75289da
and 55b6713
2016-11-03 13:09:54 +01:00
Sven Eberhardt
ebda8193ef
Replace NULL by nullptr in C++ sources
...
We don't support pre-C++0x any more, so nullptr should be fine everywhere (except in the plain C source files)
2016-11-02 19:58:02 -04:00
Julius Michaelis
55b6713185
Dedicated server: stop game when there are less than 2 clients
2016-10-30 21:36:29 +01:00
Julius Michaelis
e61dcbe4c3
Extend the netpuncher: clients can ask hosts for a connection initiation to circumvent port restricted NATs
2016-10-23 22:34:43 +02:00
Julius Michaelis
376ca5a9df
Prevent using USE_CONSOLE in lib{misc,c4script}
2016-10-22 17:42:23 +02:00
Julius Michaelis
8d2f2846b5
Fix mac build
...
Also move some stuff around once again…
2016-10-21 01:25:48 +02:00
Lukas Werling
bca0c76331
Lower minimum masterserver update interval to 1s
...
This interval is critical for the netpuncher. Clients have to wait for
the first masterserver update before they can join.
2016-10-03 00:05:23 +02:00
Lukas Werling
7177c261b3
Bring back and fix the netpuncher
...
As carrier-grade NATs are becoming common, many players cannot host
Clonk games at all. The simple STUN-like netpuncher from Clonk Rage
which was removed three years ago is already effective against some
DS-Lite NATs.
With some extensions, we should be able to make it work with more
restrictive NATs as well.
This reverts commit 72002cc366
.
2016-09-08 21:10:06 +02:00
Sven Eberhardt
b95d1387a4
Editor: Add "reset to saved scenario" command
2016-09-07 01:53:54 -04:00
Sven Eberhardt
4869eff787
Allow joining to editor games through startup network dialogue
2016-08-10 19:35:39 -04:00
Sven Eberhardt
769fa0fbdc
Do not auto-deactivate clients without players in editor
2016-08-06 22:05:25 -04:00
Sven Eberhardt
5bb204d69b
Qt editor: Fix net menu
...
It didn't work, had the wrong labels and crashed.
2016-08-06 21:12:04 -04:00
Sven Eberhardt
a7aa89f168
Merge branch 'master' into qteditor
...
Conflicts:
planet/Objects.ocd/Structures.ocd/StoneDoor.ocd/SpinWheel.ocd/Script.c
src/platform/C4WindowSDL.cpp
src/script/C4AulParse.cpp
src/script/C4Effect.cpp
2016-06-20 22:27:03 -04:00
Lukas Werling
6bd26b047f
Fix typo
2016-06-03 23:18:44 +02:00
Lukas Werling
4920ed743f
UPnP: Another try for Debian compatibility
2016-06-03 22:16:39 +02:00
Lukas Werling
91e2c137d9
UPnP: Fix compatibility with Debian's old versions
2016-06-03 21:58:19 +02:00
Lukas Werling
b1b72b003a
Do Linux UPnP mappings asynchronously
2016-05-31 18:23:41 +02:00
Lukas Werling
dbaaec268a
Change C4Network2UPnPP forward declaration to class
2016-05-29 23:39:10 +02:00
Lukas Werling
07e8c75bac
Replace libupnp with miniupnpc
...
- The new code works with my router while libupnp didn't. :)
- There are some unexplainable crashes in libupnp: #1640
- Using miniupnpc seems to be less complex than libupnp.
- Apparently, miniupnpc also works on Windows, so we may be able to use
it for all platforms.
Disadvantage: UPnP queries aren't asynchronous anymore, but they seem to
be pretty fast (< 1 s).
2016-05-29 23:38:12 +02:00
Lukas Werling
e33066a4f2
Rename SafeRandom() to UnsyncedRandom()
2016-04-25 17:32:23 +02:00
Lukas Werling
febc5f91bd
Replace rand() with SafeRandom()
2016-04-20 22:42:00 +02:00
Linus Heckemann
042161a627
Fix subsequent deallocation to use free too
2016-04-17 22:56:36 +01:00
Linus Heckemann
25fd930242
Fix some malloc/free mismatches
...
Discovered with valgrind. Previously, some memory that later gets freed using
free(...) (in StdBuf::Clear) was allocated with new char[...] rather than
malloc, in which case delete[] should be used to free them.
2016-04-17 20:13:33 +01:00
Sven Eberhardt
901399f5c2
MSVC compile warning fix
2016-04-16 22:05:37 -04:00
Nicolas Hake
eabca223f5
Update all copyright notices for 2016
2016-04-03 20:24:42 +02:00
Nicolas Hake
493c276126
Rewrite header inclusions to #include "path/to/file.h" style
2016-04-03 20:24:42 +02:00
Nicolas Hake
4fdafbc78a
Move StdColors.h ref from C4Surface.h to files that actually need it
...
C4Surface.h doesn't require anything from StdColors.h, so there's no
reason to reference the latter there.
2016-02-08 02:13:18 +01:00
Günther Brammer
e5f75c5a44
Remove a bunch of dead code, mostly player control related
2016-02-03 03:17:23 +01:00
Sven Eberhardt
6e251832b8
Fix league signup with usernames containing non-ascii characters
2016-01-31 12:26:07 -05:00
Sven Eberhardt
28e794654c
Add network option to disable UPnP.
...
Also add some more UPnP failure messages to log.
2016-01-24 00:11:14 -05:00
Sven Eberhardt
e94c0e38fc
Add scenario core field "Mode" (in [Game]) to allow setting game mode independent of goal objects.
...
To be used by the league so you can properly host race scenarios in the open melee league.
2016-01-23 21:19:22 -05:00
Nicolas Hake
3c625a00dd
C4Game: Turn some owned pointers into std::unique_ptr
...
Using std::unique_ptr instead of raw pointers makes ownership clear and
avoids leaks.
2015-12-28 11:43:37 +01:00
Sven Eberhardt
e0bcaf8d7d
Sound UI::Confirmed (instead of Objects::Connect)
2015-12-15 01:41:25 -05:00
David Dormagen
dcfb986e34
moved sounds into subfolders
...
This completes http://forum.openclonk.org/topic_show.pl?tid=3215
2015-12-13 22:14:55 +01:00
Nicolas Hake
72002cc366
Kill netpuncher
...
Another piece of code that hasn't been tested in ages, gone. The default
puncher address was still pointing to clonk.de, which I'm very certain
isn't providing UDP hole punching services anymore.
Instead of a bespoke hole punching implementation we should use a STUN
lib.
2015-12-13 16:11:08 +01:00
Sven Eberhardt
499959fa14
Fix team distribution of savegame resume and initial script players #1494
2015-12-12 14:09:42 -05:00
Sven Eberhardt
019cc0d583
Enable immediate tooltips on mouse-over-event for unlabeled icons in lobby and scenario selection ( #1132 ).
2015-12-06 21:03:54 -05:00
Sven Eberhardt
6e4c7a2c2d
Lobby ready button: Prevent message spam, improve icon updating and some small fixes.
...
* Show max one message per second per client
* Do not show ready message locally
* Fix observer flag reset by ready state change
* Reflect ready state change in client list immediately
2015-11-21 23:58:40 -05:00