Guild icon
Teeworlds
discord.gg/teeworlds / general
Teeworlds Discord Server.
Between 2020-08-11 00:00:00Z and 2020-08-12 00:00:00Z
Avatar
Trafalgar Law 2020-08-11 04:53:13Z
Now yea
Avatar
well, I could not find your server, was sad, thought the final day had come.
05:04
but at some point it could be found again.
Avatar
Trafalgar Law 2020-08-11 11:44:09Z
Final day is 16.10.20
Avatar
Why is there an expiry date to your server?
Avatar
i think he is tired of dealing with ddos shit
Avatar
master 1-3 cant be spoofed, as they're also located at ovh as your server
why don't we just use signing with SSL to confirm that messages were originated from the right server?
(edited)
14:39
@Mr_Anderson
Avatar
like the tw servers, the masterservers use a custom udp protocol without any ssl/tls stuff
Avatar
why don't we incorporate SSL signing into a protocol then? (edited)
Avatar
the masterserver should just be based on https
Avatar
it's just a matter of calling OpenSSL function to sign a packet and adding a signature field to a packet
14:44
that could be even better, right (edited)
14:45
but seems that adding a https transport for master server stalled right?
Avatar
@heinrich5991 : HTTPS (definitely with S) for the master server list, preferably with all the server infos already (would also make the refresh faster) #1395
14:45
so far nobody implemented it
14:46
several people started i think, but none finished it
Avatar
Are master server sources opensourced too?
Avatar
reimplement in rust or go :0 if it's the master servers
14:46
they are in the tw source
Avatar
so theoretically I can start my own teeworld network with my own master servers as a playground right?
14:47
with just teeworlds souces
Avatar
yes, I think persians are doing that?
Avatar
nice. Why rust and go?
14:48
I though that all sources in tw are plain C++?
Avatar
easier, I'd bet
14:48
they are.
14:50
well, client would need that as well, so I guess there should be some shared source code in c++ for that anyway :'/
Avatar
are there any design docs on how master servers work? or everything are just in sources?
14:50
yeah, client could do usual REST API call
14:51
why is master 4 so special? is it located in other datacenter for reliability sake? (edited)
14:52
ah... game servers not hosted where 1-3 are vulnerable to master server spoofing too hm
14:52
nevermind
Avatar
"design docs" xD
14:54
the source code are the design docs
Avatar
ah right
14:54
I've just came from another world it seems 😄
Avatar
from a better world maybe ;D
Avatar
yeah, where knowledge sharing is one of vital elements of develplent
14:55
and also (some) planning is
14:56
?
Avatar
dunno, I don't think it matter honestly
14:56
even plain JSON could be ok
14:58
from my perspective game servers <-> master servers interchange are not time sensitive and do not produce a lot of traffic
Avatar
that's why a lot of stuff should be redone starting with some concept document
14:59
people want the master servers to also hold the server information like current playercount
15:00
so you do not ask the masters for a list of IPs only, but also all that info you'd fetch from the individual servers
Avatar
what master servers currently do? are they just a directory of game servers which store a basic server info and state like name, game type, current player count, slots, version, restrictions?
Avatar
that would require a rather high update rate =\
Avatar
they give you a list of ips
Avatar
that would require a rather high update rate =\
how high? once a sec? it's not a highload
Avatar
the servers need to report their current status to the master
Avatar
and could be done via websocket instead of rest
Avatar
every 10 secs or so
Avatar
yeah 10 sec would be max
Avatar
i think that's the server heartbeat
Avatar
they could just open websocket connection and leave it opened and use it as a message bus
15:02
bidirectional one
Avatar
c++ implementation :D
Avatar
just requires additional libs on server side
15:02
which is overkill for resavmi though
Avatar
switch to rust?
15:03
better package management :D
Avatar
one in 10 sec is doable with REST API though it will have some neglectable overhead
Avatar
or rather dependency management
Avatar
we don't need websocket much, it was just an idea (edited)
Avatar
problem: realtime player count
15:05
instead of periodically exchanging info, the masters would prederrably request that just in time.
Avatar
is realtime player count already in udp proto? (edited)
Avatar
yes, you request that from the infividual server yourself, tho
15:05
individual
Avatar
are you serious?
Avatar
u mean that a client fetches from master servers a lot of info but not client count?
Avatar
right now it only fetches the ips
Avatar
you fetch the IP list from master and ask every server for playercount etc (edited)
Avatar
oh
Avatar
everything you see in the severbrowser comes from the servers itself
Avatar
so master servers don't even search?
Avatar
they just like giving a list of ips?
Avatar
ok
Avatar
well, you need to fetch from every master server, as each holds like 75 IPs and all of those IPs are not shared between the masters
Avatar
oh
Avatar
kind of balancing
Avatar
ok
15:08
I thought master servers are for redundancy
15:08
but they're more like sharding
Avatar
so disrupting any server immediately affects the whole system?
Avatar
redundancy would be cool if the masters were located all over the globe
15:09
not really
15:10
it just affects the one masterserver if you meant masterserver (edited)
Avatar
yeah I got that
15:10
so technicaly we don't have any redundancy now?
15:11
not that I know of, other might know way more than I do.
Avatar
who was the latest person trying to implement a secondary protocol?
15:11
and was it in 2018 too?
Avatar
Inthink there might be some prototypes for different master server approaches
Avatar
I could implement serverside in ruby in like 3 days.
15:12
but that's ruby, I just know it well
15:12
it's slow compared to go
Avatar
Oh Yeah! Go is awesome xD
15:13
and fun! (edited)
Avatar
it is. Just I know ruby much better
Avatar
for the masterserver people already did prototypes in python, go and probably some other languages =\
Avatar
@redix don't you remember someone who did it?
Avatar
ryozuki did a go version, iirc
15:15
heinrich in rust? or am I mistaken?
15:16
I mean go does http out of the box and with some package also https via let's encrypt
Avatar
the problematic thing isn't the server side, it's the client side
15:17
and the game server side
Avatar
but i think they all missed dual stack support (glue ipv4 and ipv6 addresses together via a token) and backward compatibility for the old udp stuff
Avatar
the master server side was like a 100 line python script
15:18
@redix the game servers would probably continuously update their info with the master servers
Avatar
master can be an ez peaz language, server and client will have to be c++
Avatar
so that those always have up-to-date info
Avatar
how often?
Avatar
via the heartbeat
15:18
15s, or on change, ratelimited to 1s
15:18
is what I thought
Avatar
yeah that might be okay
Avatar
interesting questions: how are favorites handled? how are LAN requests handled?
Avatar
ehm, concept paper?
15:20
for people to add their mustard (hehe)
Avatar
Ok, I've started to organize info. Behold the first teeworlds docs on master servers https://www.notion.so/influck/teeworlds-master-servers-ffd3a83022e345e6a0eb8303accba440
Avatar
as long as we dont want another compatibility break the server needs to support the old info requests anyway
👍 1
Avatar
having multiple masters is a redundancy way (edited)
Avatar
0.8 be protocol rework
Avatar
why break compatibility if you don't have to?
Avatar
I feel like 0.7 protocol had quite some issues, that were(?) resolved. like the snap issue with lots of players being online?
15:24
making it look broken from the get go in 0.7
Avatar
@redix I'd want to have favorites use the https masters, too: they load instantly and don't need to pinged one-by-one
Avatar
about having the server info on the master... this moves away from the decentralized character of the game. i would be okay with that but would Oy? 😄
Avatar
it would make the server list load instantly
15:26
it's a bit bad that we still have only one person allowed to accept code
15:26
(btw, sorry, offtopic)
Avatar
hot to get server info without master
15:26
how
Avatar
ping each server individually, with the list you got from the masters
Avatar
why ping
15:27
but it is almost the current state of things isn't it?
Avatar
how to get info WITHOUT masters xD?
Avatar
you don't
Avatar
lan broken
Avatar
it's the bootstrap problem of peer to peer networks
15:28
all solutions are bandaid
15:28
lan is broadcast
Avatar
hosting a server depends on having an internet connection and a connection to the masters
15:28
single point of failure
15:28
masters
15:28
down
15:28
all servers down
Avatar
anyone can still just connect to any IP from a client right?
Avatar
if all masters are down, then yes
Avatar
and fav it even if that's a lan IP address
15:29
I mean intranet one
Avatar
cannot handle favorites
Avatar
just one note: the 0.7 masterserver protocol uses tokens to prevent spoofing
Avatar
as they deoend in master servers
15:29
well, the uodates do, my bad
15:30
uodates
15:30
rip
Avatar
@jxsl13 I'm not sure what you're doing. yes, we need a solution for servers not registered with the masters, that's obvious
15:30
is it just you trying to point that out?
Avatar
@redix still it's udp
Avatar
or is it something different?
Avatar
some hosts like ovh would filter tcp attacks way before it reaches the server @redix
Avatar
it's that for the most part
Avatar
quic from google is udp aswell 😄
Avatar
we've started this discussion trying to solve spoofing problem right?
Avatar
did quic make having that whole let's encrypt certification stuff obsolete?
Avatar
@jxsl13 no
15:32
@Deleted User that's already solved in 0.7
Avatar
there is no spoofing problem?
15:32
hm k
Avatar
really?
Avatar
yes
Avatar
oh
Avatar
but a lot of people still use 0.6, which does have that problem
Avatar
EastByte 2k15 zCatch patch, never forget.
Avatar
0.6 state feelspepoman
15:34
omg what is using 200 Mbps of incoming bandwidth?
15:34
teeworlds DoS
Avatar
you got 500 concurrent players?
Avatar
vali is back, but no lags
15:35
:v
Avatar
@Deleted User what is that program?
Avatar
nload
Avatar
EastByte was the first one to add the token stuff, never forget! :D
Avatar
master4 is for 0.6 only?
15:37
@Deleted User status.tw
Avatar
Summary Prevents ip spoofing of (hopefully) any kind: master server attack (see mailinglist) server flood attack session hijacking faking server info Protocol change The new network protocol head...
Avatar
lol wut
15:37
15:37
master4 having issues?
15:38
so... it's not the fokkonaut's server is DoS'ed but master servers 😄
Avatar
oof, my life is a lie
Avatar
fokkonaut's server registers on 0.6 masters
15:39
that's where his problems are
Avatar
man, I remember, weren't 0.6 masters like vulnerable to DoS?
Avatar
yes, trivially
Avatar
@fokkonaut is that it?
Avatar
backwards compatibility ftw :0
Avatar
I also sure he also have DoS on his server too
15:40
I've wanted to implement some system to mitigate that on serverside today
Avatar
how would one do that :0?
15:41
mind explaining?
Avatar
you won't be able to do that much on 0.6 side
Avatar
the mitigation that is
Avatar
I was going to make a separate web auth system which pushes authed user ip to a db linux server on which game server is hosted could fetch that ip to temporaly whitelist it repeat the process of fetching ips in cronjob -> iptables -> profit (edited)
Avatar
that would probably work, but wouldn't really be compatible
15:43
in that system, it's hard to discover your server
Avatar
oh
15:44
client still needed to fetch a info from the game server right?
15:44
before authenticating
15:44
right
Avatar
and new clients need to be able to connect
Avatar
true. or they wouldn't be able to know what they're missing and how to connect
15:44
but that info could be in server description
15:45
but still server should answer to user fetch server request you're right
15:45
thanks a lot, I've missed that
Avatar
would be interessierng to use the server password instead a web UI for that, but that would be on game server level, not on the linux iptables level. one confirmation per 24h
Avatar
several hosts also provide firewalls on their network level. if you update these rules depending on the established connections that would be even better. but no new clients then
Avatar
rei the 200mbits doesnt look like much
15:46
but when u consider that were getting half a million packets every second
Avatar
well still better than what others receive :v
Avatar
that kinda puts it into perspective
15:47
the funny part is that it doesnt lag atall xd
Avatar
receives player traffic only
Avatar
xD
Avatar
isnt it spoofed connection/info requests
Avatar
both
Avatar
still i'm not sure about inforeq, wouldn't it have outgoing traffic?
15:48
didn't check the in traff
Avatar
rx: 216.44 Mbit/s 450569 p/s tx: 4.17 Mbit/s 4925 p/s
15:48
yea i guess not info
Avatar
4.17 is normal
Avatar
info requests use tokens?
Avatar
not sure on ddnet side
Avatar
its a tiny bit higher than normal
15:48
but not much
Avatar
in 0.7 yes
Avatar
0.6 ddnet?
Avatar
bombay is 0.6 server
Avatar
we're vanilla based but with ddnet based netcode
Avatar
i fixed it last night lol
Avatar
now you are ddnet based?
Avatar
the netcode is
Avatar
some part yes xD
15:49
I mean, it's still vanilla source, noby only took some code from ddnet
Avatar
I mean niby sneakily replacing everything with ddnet code
15:49
niby
15:50
onbgy is easier to write
Avatar
@noby is your server dual protocol like fokkonaut's? (edited)
Avatar
my server started out as 10.8.6 ddnet (so .6) and i patched in 0.7 support mostly from timakros code on unique race server
Avatar
or is it 0.6 with some DDNet countermeasures like token?
Avatar
and fng code ofc
Avatar
@Deleted User bombay = 0.6 only and supports 256p
Avatar
no it IS ddnet
15:50
that i turned back into fng (edited)
Avatar
(splitted into multiple maps)
Avatar
wat, that many :o
Avatar
dunno what bombay is
Avatar
0.7 when?
Avatar
yep, we have multimap, 64p per map, and 256p max
15:51
@Deleted User the big v3 server on 0.6
Avatar
bombay is reis server
15:51
ye blmap v3 royal map
Avatar
is it located in bombay?
Avatar
yes everyone has 500 ping
Avatar
no lmao
Avatar
wasted potential
Avatar
bombay = ovh strasbourg
🤢 1
Avatar
false advertising
Avatar
no u
Avatar
i only know a few tw players from india
Avatar
look at the avatars
Avatar
meanwhile theres like a million from germany
Avatar
wait, there are tw players from india?
Avatar
not many but ye
Avatar
huh. interesting
Avatar
that has a reason
15:53
dating back to like 2009
Avatar
tw is everywehere
15:53
there were a couple ppl from nigeria playing yday on my server lol
Avatar
would be great if tw was everywhere with sizeable player amounts
Avatar
I've seen from people nigeria too (edited)
15:55
too bad we will not see ppl from Belarus for some time
Avatar
is on fire there?
Avatar
they shutdown the inet
Avatar
cus corrupt and trying to fuck over the election or something
15:55
i think
Avatar
they're almost shutted down, there is like civil war
Avatar
might be exactly that
Avatar
police and army is there just hitting and shooting innocent civilians on the streets (edited)
15:56
today I think they will shut down internet completely cause civilians are coordinating trough it)
Avatar
I think nowadays getting cut off from the internet is one of few reason for people to riot.
Avatar
no, it was the opposite way this time
Avatar
it will only get worse if they are cut off from the internet
Avatar
yes, it's scary
15:58
to have a dictator fighting his own ppl with army is one thiung
Avatar
as more people will fo outside
15:58
go
Avatar
and no internet to tell anybody about is worse
Avatar
worst of all
16:00
no teeworlds for them
Avatar
they have infection mod on streets though
16:03
or a TDM one... (edited)
Avatar
where one side has control over the map, shotguns, guns and the other only hammers
Avatar
has anyone here ever checked the issues with the version server? it does not even send a token back =\
Avatar
oh... if a master servers don't have info about player count, how status.tw knows it? (edited)
16:22
does it have a separate service to fetch info from servers @jxsl13 ? (edited)
Avatar
protocol problems, classic.
16:31
status.tw periodically, like every 5 minutes, fetches server data from the whole serverlist (edited)
16:32
if many ppl do that that's bad. (edited)
16:32
getting a ton of traffic
Avatar
someone probably reported this but half the U.S players can't see U.S servers and can't load the DDnet website
16:37
but I could do both these things when I changed my IP to a german IP
Avatar
lol, aren't there like US based ddnet servers
Avatar
mhm but half the players that play on those U.S servers only see the IP and 999 ping
16:39
and can't connect
16:39
when you refresh it stops at 72%
Avatar
udp problems, classic
16:40
would ask heinrich
Avatar
😮 ok thx
Avatar
meaning: ask @heinrich5991 xD, np
Avatar
Trafalgar Law 2020-08-11 18:12:43Z
Why is there an expiry date to your server?
@Learath2 Noby said it, i'm done with dealing ddos attacks and have not enough motivation/time to host servers
Avatar
meh, multimap is down, @Trafalgar Law :'c
Avatar
Trafalgar Law 2020-08-11 19:31:31Z
Nah just the mastersrvs are under ddos @jxsl13
19:31
laws-server.de:8310
Avatar
0.7 masters?
19:35
did you open your server for 0.6 crap?
19:35
rip
Avatar
Trafalgar Law 2020-08-11 19:42:11Z
Its 0.6 + 0.7 yea
19:42
Bridge to 0.7
Avatar
so they have 0.6 vulnerabilities
Avatar
but does loosing 0.6 master mean loosing 0.7 as well?
19:45
why
19:45
whyyyyyyyy
Avatar
server being ddosed meh
20:05
whyyyyyyyyyy
Avatar
playing teeworlds with 20% packet loss is fun, fuck vodafone
Avatar
tried non-chillerdragon servers?
Avatar
Trafalgar Law 2020-08-11 20:28:04Z
xd
Avatar
i measured my package loss with "ping 8.8.8.8 -n 999"
20:29
if I can't reach google, I don't believe it's googles fault (ever)
Exported 367 message(s)