Guild icon
DDraceNetwork
Development / developer
Development discussion. Logged to https://ddnet.tw/irclogs/ Connected with DDNet's IRC channel, Matrix room and GitHub repositories — IRC: #ddnet on Quakenet | Matrix: #ddnet-developer:matrix.org GitHub: https://github.com/ddnet
Between 2017-12-04 00:00:00Z and 2017-12-05 00:00:00Z
Avatar
<nemo2> you guys have DOSing jackasses too?
Avatar
<fstd> haven't ddos jackasses been an ongoing issue in ddnet for like years?
Avatar
ChillerDragon 2017-12-04 09:01:28Z
not just ddnet
09:01
teewoods is ddos game num1
09:03
lol fstd? aren't u dis super oldschool teewods dude with the picture of a tee with ❤ emotes and a shotgun i guess. I used it for my yt video which got claimed for copyright reasons because i was scammed xd
Avatar
<fstd> aw :s
09:05
<fstd> yeah that's me
09:06
09:06
<deen> nemo2, fstd: yeah, lots of hosters threw us out following 10-100 gbit/s ddos attacks. still getting attacks now, but doesn't look so bad anymore, at least we're not taking down their entire data centers anymore
09:07
<deen> fstd: looks like fun, what are you doing?
09:07
<fstd> that pic is way old back in the blocker days; i was testing how far the player limit can be pushed
Avatar
ChillerDragon 2017-12-04 09:08:00Z
yo guiis does some1 know how to use boost -.- ?
09:08
im too knoop to include boost asio.hpp
Avatar
<fstd> IIRC 256 was okay but with 512 the collosion code really started showing its O(n^2)
09:08
<deen> fstd: heh, I think I also tested up to 256 and it worked ok-ish, at least 1 core was not at 100% cpu yet
09:09
<deen> or maybe it was only 128
Avatar
ChillerDragon 2017-12-04 09:09:15Z
i think it was 128
09:09
i tried it too but ddnet clients didnt like it -.- was only working with vanilla clients
Avatar
<deen> you have to link against the lib as well
09:10
<deen> not just include it
Avatar
ChillerDragon 2017-12-04 09:10:51Z
uhm
09:11
g++ -I %boost_path% src/*.cpp -c
09:11
thats my linker
09:11
it works with other boost files
Avatar
<deen> some might be header only
Avatar
ChillerDragon 2017-12-04 09:11:34Z
boost/array.hpp works
Avatar
<deen> but if the boost lib is not header-only, then you need to link as well
Avatar
ChillerDragon 2017-12-04 09:11:46Z
ah k
09:11
how? xd
Avatar
ChillerDragon 2017-12-04 09:12:01Z
ty
Avatar
<deen> any reason for using boost?
Avatar
ChillerDragon 2017-12-04 09:12:31Z
i was suggested to use it
09:12
im trying to create a 2d multiplayer cross platform game
09:12
without graphics
Avatar
<deen> I'd recommend just C++14 without boost
Avatar
ChillerDragon 2017-12-04 09:13:10Z
my plan was to use no libs or frameworks or engines or stuff
09:13
sounds great
09:13
but i failed xd and also ppl told me doing everything from scratch is hilariously over complicated
Avatar
<deen> sure, but you learn a lot
Avatar
ChillerDragon 2017-12-04 09:13:55Z
sounds great
09:14
but how do i start i rly suck
Avatar
<deen> have some data structure for the world with tiles, players, implement moving the player and interacting with these tiles (bumping, standing, jumping), make a way to display this into graphics/terminal output, think about what data to send over the network to synchronize states
Avatar
ChillerDragon 2017-12-04 09:17:32Z
the problem is i have no idea how to send data over the network and i cant find a cross platform solution
09:18
the web only told me non crossplatform and or stuff i didnt undertsand or was abel to compile
09:19
i had the plan just to send the position of the players as a first test. But idk how to start ._.
09:22
as far as i understood there is no c++ crossplatfrom networking stuff because unix and winsockets are different. And i have to work with #ifdefs i guess but do u know a nice place to learn this networking stuff?
Avatar
<deen> work with ifdefs or use a networking lib
09:22
<deen> or wait for c++30 or something
Avatar
ChillerDragon 2017-12-04 09:23:38Z
xd
09:23
i thought boost is a networking lib
09:25
you recommended using plain c++ c: that sounds great beacause it was my plan. Well i keep trying to search sumsing in the web ...
Avatar
<deen> ah, so that's why you wanted to use boost. yeah, they probably include networking
Avatar
ChillerDragon 2017-12-04 09:46:28Z
do u still recommand doing it with plain c++? (edited)
09:46
i just compiled my first networking code idk what it does but it compiled xd
Avatar
use tw's system.c 😛 it includes networking
Avatar
ChillerDragon 2017-12-04 09:50:14Z
ikr
09:50
but i dont want to steal lal
Avatar
@Savander how do you feel about codeigniter?
Avatar
ChillerDragon 2017-12-04 09:50:29Z
i already stole the str_format func
09:50
xd
09:50
and tw networking is very twish i guess and its hard to understand ._.
09:51
but as i said i just did my helloworld networking so all fine i guess. going well so far
Avatar
@ChillerDragon the stuff in system.c is not really twish, it's just C
Avatar
ChillerDragon 2017-12-04 09:54:12Z
ok maybe ill have a look at it agian if i failed my current code
Avatar
what that group @Deleted User ?
Avatar
deutsche gaming gruppe
Avatar
german gaming group
Avatar
1o1??
Avatar
<nemo2> deen: yeah I really don't get the point of ddosing a volunteer free game
14:03
<nemo2> deen: some idiot did that to us, even boasted of buying the ddos
14:03
<nemo2> we were like. hell. pay us, we'll take our server down ourselves
14:04
<nemo2> it'll be more reliable
Avatar
ok
14:04
iwer deutscher hier drin
Avatar
i cant play tw...
Avatar
@ZimE iwann 1o1 alive-fng??
Avatar
alive are noobs
14:05
RRT in hear ♥
14:05
t
Avatar
neeee das spiel ich nich
Avatar
ok dann iwann mal ddrace oder so
Avatar
#developer is now #german feelsamazingman
feelsamazingman 2
Avatar
ganau
Avatar
ChillerDragon 2017-12-04 15:23:12Z
xd
Avatar
ChillerDragon 2017-12-04 15:30:24Z
@nemo2 there Is a ddos Motivation for teeworlds Server hosters who want more players on their Server ----> ddos all Other servers Or for trolls who think its funny. But i don't understand who is ddosing servers for days. Its clearly not for fun. But i can't find the ddosers Server that fills up. As far as i know the most played block Servers are ddnet and rei and i dont think that ddnet ddoses rei and rei ddoses ddnet lul. So i have no clue what the morivation these days is
Avatar
<nemo2> could be a power trip I guess
15:32
<nemo2> no way they could impact a large company
15:32
<nemo2> so they attack what they can
15:33
<nemo2> I guess if you have a few thousand fairly tech savvy individuals accessing your server there's bound to be a few assholes who react that way to some minor slight
Avatar
ChillerDragon 2017-12-04 15:33:42Z
._.
Avatar
<nemo2> the dude who attacked us last time was annoyed that we kicked him off the server because he was deliberately sending messages that were screwing up the Qt frontend.
15:34
<nemo2> he was quite proud of his discovery and felt he should be allowed to randomly kill the lobby visitors at will
15:34
<nemo2> and tried to use threat of DDoS to force us to allow him onto the server
Avatar
ChillerDragon 2017-12-04 15:34:58Z
What Server ?
Avatar
<nemo2> oh... the hedgewars one. sorry. that's where my experience is
15:35
<nemo2> he was using a ton of VPNs so for a while we had to restrict server to registered accounts ☹
15:35
<nemo2> he did in fact succeed in taking server down a couple of times, but I guess he got tired of paying for DDoSes
Avatar
ChillerDragon 2017-12-04 15:37:03Z
Hmmm
15:37
Lyfe Is struggle
Avatar
come to the rust side, we got networking primitives in the std 👀
Avatar
<nemo2> oh. did you guys see kyren's awesome post on Chucklefish's new game ?
17:37
<nemo2> It's really a great AMA
17:38
<nemo2> the haskell mittens thing was awesome. and the C++ float sort shocked me too
Avatar
<ReiTW38> Hi people is there a way to migrate the networking part of the server from singlethread to multithreading?
17:57
<ReiTW38> I'm such bad for that :/
18:02
<heinrich5991> ReiTW38: is there a reason you want to do that?
18:03
<ReiTW38> yea, mostly against attacks
18:03
<heinrich5991> I don't think the network stuff is a bottle neck
18:03
<heinrich5991> mh
18:03
<ReiTW38> Well, singlethreading for tw is too bad, i think multithreading would help much
18:04
<ReiTW38> for networking*
18:07
<heinrich5991> you have observed 100% cpu usage I guess?
18:08
<ReiTW38> yeap
Avatar
<nemo2> oh wow. server is single threaded??
Avatar
<ReiTW38> normally, yes
19:02
<ReiTW38> :/, but we REALLY have to switch to multithreading
Avatar
<heinrich5991> ReiTW38: not sure tbh
19:26
<ReiTW38> I'm quite sure o:, even the buffer
19:26
<heinrich5991> nemo2: what would you parallelize?
19:26
<nemo2> heinrich5991: how about game rooms?
19:26
<heinrich5991> each server is a "game room"
19:27
<heinrich5991> you don't have multiple of those on a single server
19:27
<nemo2> heinrich5991: uh. so when a game is started, that's a new server instance?
19:28
<heinrich5991> nemo2: everyone can start a server. the server host a game round. when the game round is over, it'll host the next game round
19:28
<heinrich5991> but note that game rounds aren't as special in teeworlds as they are in hedgewars
19:28
<heinrich5991> you just join the game at any time and leave it at any time
19:28
<nemo2> so... when I joined the network and several dozne rooms are listed
19:28
<nemo2> those are actually server instances
19:28
<nemo2> one server. one game.
19:29
<heinrich5991> yes
19:29
<nemo2> what is the thing that tracks those announcements then?
19:29
<heinrich5991> oh, the master server
19:29
<nemo2> ah 😝
19:29
<heinrich5991> it just reports a list of IPs
19:29
<nemo2> no chat, no statistics, no info messages of any kind? that's all from servers?
19:30
<nemo2> but ok. in a model like that I can see why there's no point in threading
19:30
<heinrich5991> no global chat, no statistics, no info messages
19:31
<heinrich5991> it's kinda decentralized
19:37
<eeeee> more kinda worst of both worlds tho, in vanilla you still cant play when masters are down and there are spoofed responses and spam servers and clients' ips are exposed...
19:38
<heinrich5991> eeeee: we'll do https master server one day :)
19:39
<eeeee> better make sure it's REALLY switched to multithreading
19:42
<heinrich5991> ??!?
19:47
<nemo2> most web libs are threaded already
19:47
<nemo2> if you're doing an https master probably will get that as part of the package
19:47
<heinrich5991> in my PoC we just put a file for nginx to serve
19:48
<heinrich5991> I don't have to care about the https on the server side there ^^
19:50
<nemo2> sure why not
19:50
<nemo2> doubt it updates so often that static would be unreasonable
19:53
<heinrich5991> I was updating the file every second :D
19:53
<heinrich5991> or no, whenever sth changed
19:55
<heinrich5991> nemo2: the idea was to put cloudflare in front of our master server
19:55
<heinrich5991> in order to make DoSing it harder
19:56
<nemo2> heinrich5991: huh... they were only dosing the master? how odd
19:56
<nemo2> seems the natural approach would be to attack each of those poor weak subs
19:56
<nemo2> prioritising by number of players
19:56
<heinrich5991> no, they also attacked the master
19:56
<heinrich5991> :D
19:57
<heinrich5991> which made joining a new server pretty much impossible
19:57
<heinrich5991> not really fixed until now btw
19:58
<nemo2> so... in that decentralised model. how do players keep track of who they are playing with? is there a player db anywhere?
Avatar
Only nicknames, without db
19:59
no register, no anything to autorize
19:59
authorize
Avatar
<heinrich5991> no accounts
20:00
<heinrich5991> you just start the game and start playing
20:01
<nemo2> hm
20:02
<nemo2> could have them phone in to a registration server tho...
20:02
<nemo2> shrugs
20:02
<nemo2> faking identities seems oddly entertaining to some people
Avatar
We had few big discussions about authentication tho
Avatar
<nemo2> another advantage would be statistics
20:04
<heinrich5991> for original TW, this was sth to avoid, according to the original dev
20:05
<nemo2> huh
20:05
<nemo2> dunno why
20:05
<nemo2> heinrich5991: anyway FWIW, since we are super ultra lazy, we just took the existing Drupal accounts, that people were already using for the website, and checked 'em from the game
20:05
<nemo2> heinrich5991: there's an itsy bitsy little connector unc0rr wrote that does that
20:05
<nemo2> it also has caching since it used to be website and game were on separate machines so it helped perf a bit
20:06
<heinrich5991> ah
20:06
<nemo2> people do appreciate it I think. It lets them exclude trolls more easily for example
20:07
<nemo2> one thing we never got around to implementing was hashed (24h rotation or whatever) IP banning - some poor folks get harassed by same person using guest accoutns. workaround for now is disallowing guest accounts
20:07
<nemo2> (from your room)
20:08
<nemo2> heinrich5991: oh... if you do end up doing something just as lazy as us, here's a cute thing we added to mariadb 😃
20:09
<heinrich5991> ?
20:09
<nemo2> heinrich5991: http://www.unicode.org/Public/security/8.0.0/confusables.txt it's a fair chunk of this loaded in as a mariadb collation
20:09
<heinrich5991> what's that?
20:09
<nemo2> due to accoutn spoofing
20:09
<nemo2> scroll down ☺
20:09
<nemo2> it's pretty nifty tho since it let us do drop-in anti-spoof to the existing db
20:09
<nemo2> would work on any mariadb/mysql
20:09
<heinrich5991> ah
20:09
ddnet - DDraceNetwork, a mod of Teeworlds
20:10
<nemo2> heinrich5991: so... you do have user account registration?
20:10
<heinrich5991> no, run on every single server ^^
20:10
<nemo2> oh...
20:10
<heinrich5991> it's still annoying if you have the same name twice on the same server
Avatar
@irclink stop spam
Avatar
<nemo2> ?
Avatar
@Kyosuke they are devs
Avatar
<heinrich5991> on the discord side, @irclink posts all the messages from the IRC chat
20:11
<nemo2> ah
Avatar
@Savander so they cant stop talk right ?
Avatar
<nemo2> same as here then
20:11
<nemo2> heinrich5991: so... this is not a dev channel?
20:11
<heinrich5991> it is the dev channel
Avatar
it's dev channel
Avatar
<nemo2> ok
Avatar
you don't want to be a part
Avatar
<nemo2> well tough for them then �
Avatar
leave
Avatar
<heinrich5991> it is linked to #developer on the ddnet discord
20:11
<nemo2> oh haha
20:11
<nemo2> all the more reason to not be sympathetic
Avatar
what's the point of this dumbass irc bot
Avatar
oh yea i see ok sorry but it spam XD
Avatar
then mute it?
20:12
You can do it easily
Avatar
@Beefywhale @Kyosuke you can mute this channel
Avatar
nah
Avatar
right-click it on the left side
20:12
and click mute
Avatar
I just think it's dumb
20:12
If people wanna see irc they can just join it
Avatar
It's not dumb, since most devs sits on IRC
20:12
and this is official ddnet dicsord
Avatar
<nemo2> heinrich5991: BTW, why is the ddnet dev channel not on freenode?
Avatar
@heinrich5991 yea but if i wait 10 minutes i will have the email of "you missed a message from #developer "... how deactivate it ?
Avatar
even if you mute it?
Avatar
If you mute it, there's no message
20:13
only when someone mention you with @
Avatar
<heinrich5991> nemo2: historical, because #teeworlds is on quakenet as well
20:13
<nemo2> ah
20:14
<heinrich5991> actually, using this nifty bot, we could migrate to freenode
20:14
<heinrich5991> :)
20:14
<nemo2> ♥
Avatar
yea... @Savander really ? i always receive it without mention... i go try again
Avatar
Really, i have muted all channels
20:14
but not #developer
Avatar
<heinrich5991> ^^
Avatar
and i don't have any notifications
20:15
what's better with freenode? ^^
Avatar
<nemo2> just most FOSS projects are on there these days
20:15
<Beefywhale> petetion to remove irclink bot top kek
20:15
<nemo2> apart from the gnome/mozilla affiliated ones
20:15
<heinrich5991> what nemo said
20:16
<heinrich5991> quakenet is gaming, but mostly proprietrary games
20:16
<Beefywhale> kek
Avatar
right
20:16
good to know
20:16
I used IRC only for Teeworlds, tbh
Avatar
<Beefywhale> oh shitttt my mask isnt on
20:16
<Beefywhale> rip my ip
Avatar
too oldschool thing
Avatar
<nemo2> I still use IRC a ton
20:17
<nemo2> I even use it to interact with Slack
20:17
<nemo2> since they thoughtfully include an IRC gateway
Avatar
Loool
20:17
who even uses slack
Avatar
<nemo2> ssh + tmux + irssi ♥
Avatar
Twitch.tv uses IRC for chat
Avatar
<nemo2> quite a lot of people, but mostly I use it for playing Ingress
Avatar
I used it to test chat bot :D:D
Avatar
<nemo2> but yeah, I don't get the appeal of discord or slack frankly
20:17
<heinrich5991> nemo2: you're this guy: https://xkcd.com/1782/ :P
20:18
<heinrich5991> but yea, just the next iteration of closed-source chat apps :(
20:18
<nemo2> heinrich5991: heh. yeah, well, the protocol has been around for ages, most everything supports it..
20:18
<heinrich5991> ^^
20:18
<nemo2> heinrich5991: but mostly it's due to FOSS
Avatar
<nemo2> heinrich5991: moznet, gimpnet and freenode are keeping IRC active for me
Avatar
For m,e things like discord are just another level of abstraction
Avatar
<heinrich5991> I'm not on gimpnet
20:19
<nemo2> heinrich5991: I'm on it basically for gimp, or if I ever want to ask some gnome-related qeustion
20:19
<heinrich5991> I just join on-demand there
Avatar
Like in programming, you can make library, then someone else will make another level of abstraction to use it, and over and over again
Avatar
<nemo2> but I like doing art stuff and there's a lot of experienced artists on gimp
Avatar
=== NPM
Avatar
<heinrich5991> I'm on mozilla for rust ^^
20:19
<heinrich5991> ah
Avatar
one package cause 150 packages to download
20:19
😄
Avatar
<nemo2> heinrich5991: I joined moznet back in.... '98 or so ☺
20:20
<heinrich5991> I was a little child back then :P
20:20
<nemo2> but. yay rust!
20:20
<nemo2> heinrich5991: so was I. ok. a big child. ok. technically an adult
20:21
<nemo2> heinrich5991: anyway, if you guys do decide to add a centralised db, and it happens to be mariadb, that index file should be fairly drop-in
20:21
<nemo2> heinrich5991: MariaDB [hedgewars]> select uid,name from users where name = 'nerno';
20:21
<nemo2> | 1413 | nemo |
20:21
<heinrich5991> heh
20:21
<heinrich5991> nice
20:21
<heinrich5991> the classical rn = m :)
20:21
<nemo2> it's one of the easiest confusables to type ☺
Avatar
I don't hink, that we ever will have centralized db
Avatar
<nemo2> well you have one for the forum
Avatar
due to our friends from teeworlds :D:D
Avatar
<nemo2> you could just plug the game into it
Avatar
Ddnet has point system
20:23
now it's connected to nicknames, but if we will make accounts, then people could steal those points
20:23
in general, it's big deal at the moment to make all people happy
20:23
^^
Avatar
<nemo2> oh... so you do have registration
Avatar
<nemo2> oh. points per server I bet
Avatar
DDnet has centralized DB
Avatar
<heinrich5991> no, actually global points on ddnet
Avatar
for points
Avatar
<nemo2> huh
Avatar
but it's connected to nicknames
20:24
you can use whatever nickname you want
Avatar
<heinrich5991> nemo2: https://ddnet.tw/players/nemo/
20:24
<nemo2> so... all you need to do is add a password to that and boom you have auth?
Avatar
even those from top 10
20:25
It could be simple 😄
20:25
But then, how we can verify
Avatar
<nemo2> oh how nice. someone is earning points for me
20:25
<guenstig_werben> hey
Avatar
if the guy is the right guy?
20:25
Hey
Avatar
<heinrich5991> nemo2: well, as long as I have a vote in this, we'll never register nicknames
20:25
<heinrich5991> accounts is okayish
20:25
<guenstig_werben> @heinrich5991 you got 5 minutes of time?
20:25
<heinrich5991> but reserving nicks is not IMO
20:25
<nemo2> well, first come first served. prompt for pass on use of nick
20:25
<heinrich5991> guenstig_werben: sure
20:26
<nemo2> heinrich5991: huh. don't see what the big deal is, but whatev
20:26
<heinrich5991> nemo2: see all the big gaming networks today
20:26
<heinrich5991> they allow duplicate nicks :)
Avatar
Yea, we though about UID, without nickname dependency
Avatar
<nemo2> heinrich5991: dunno. I don't really use any big gaming networks ☺
20:26
<nemo2> heinrich5991: but... it would not surprise me if there's a uid backing, so people get to know people in right context and with right history
20:26
<nemo2> Ingress still requires uniqueness, only one I'm familiar with
Avatar
Generally, the problem is that we don't want to make people mad, because they lost their points.
20:27
DDNet has 4 years
20:27
it's 4 years of playing for people
Avatar
<nemo2> well right now the points are getting all mixed up anyway.
20:27
<nemo2> some other nemo is playing too
Avatar
Yes, but to get 10k points
20:27
you need to finish houndreds maps
20:28
even the hardests
20:28
not everyone can do that
Avatar
<nemo2> just give both people who claim the nick the points. could still use uid or unique nicks.
Avatar
is there a limit for http request on ddnet.tw/ranks?
20:28
else its possible to steal data so people dont loose their points after going down
Avatar
So, we would hav elike few people with same amount of points ?
Avatar
wait my post is far out of context
20:29
just realized now, nvm
Avatar
<nemo2> Savander: since you're into discord - is there by any chance a direct IRC connection mechanism in discord, like slack has?
20:30
<nemo2> Savander: I basically never log into slack using anything but irssi these days
20:30
<nemo2> except if I'm on mobile
Avatar
No idea, at this moment
Avatar
iirc discord is against third party clients
Avatar
<nemo2> oh. boo
Avatar
that bridge is served by learath2 I guess
20:30
it's bot
Avatar
<nemo2> well eff them too 😝
Avatar
listening for a messsage on irc and discord
20:30
and sends to both channles 😛
Avatar
<nemo2> yeah familiar w/ IRC bots 😉
20:30
<heinrich5991> Savander: it's mine!
Avatar
oh! I thought it was Learath2 😮
Avatar
Savander fakenews!
20:31
im sorry!
Avatar
nut nemo2 you could build a third party client via api
20:31
but u wont get the full client experience ofc
Avatar
<nemo2> oh darn
20:32
<nemo2> funny. same thing w/ slack guys
20:32
<nemo2> "we don't have a good ncurses client, but why would anyone not want to use our awesome gui client?"
Avatar
Slack is a bit laggy forme
20:33
and, I don't understand sense of it
20:33
why anyone should use it?
Avatar
<heinrich5991> team chat in companies, I heard
Avatar
I using it, for laravel cchat
20:34
they ar eon slack
20:34
but, it's just chat.. I don't see special abilities
20:34
You can PM, you can make channels
20:34
and assign people to it
20:35
oh, and send images, and videos
20:35
but every modern chat can do it
Avatar
<nemo2> sounds good to me.
20:52
<nemo2> no need to overload things
20:52
<nemo2> but yeah. I think it was intended to just be an enhanced IRC for existing company systems
20:53
<nemo2> which is probably why their integration still works pretty well. and probably would work even better if they didn't only reluctantly support it
Exported 393 message(s)