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 2021-01-09 00:00:00Z and 2021-01-10 00:00:00Z
Avatar
@Learath2 I fixed the teehistorian2demo tool for 0.7 messages and 64p support
01:32
can you push it to the mod tool?
Avatar
@heinrich5991 thank you ❤️
Avatar
Дядя Женя 2021-01-09 06:55:21Z
Cheated top1 on "Thomas"?
06:56
or is it. May be legit
07:00
no, don't think so
Avatar
Дядя Женя 2021-01-09 07:08:57Z
can we ban him after you confirm its cheated?
Avatar
legit rank
07:39
why not ban u, i think is better
Avatar
does tw need a lot of data? i use my phone internet now so i dont lagg but i only have 5GB per month
10:41
36 MB/hour (edited)
Avatar
cant get much less than this i guess
10:42
thanks
Avatar
playing 4 hours every day u waste 4gb a month more or less
10:43
monkalaugh
Avatar
well its a lot less that i feared
10:46
it doesnt count map download
Avatar
i just wanna tryhard a map rn thats all
Avatar
maybe if its a solo map it is even less data
Avatar
definitely
Avatar
if u dont see other tees
Avatar
it didnt lagg for 2 hours but ofc i get a big spike once im a bit further into the map
10:47
just my luck
Avatar
!screenshot-20210109@114810

Checklist

  • [x] Tested the change ingame
  • [x] Provided screenshots if it is a visual change
  • [ ] Tested in combination with possibly related configuration options
  • [ ] Written a unit test if it works standalone, system.c especially
  • [x] Considered possible null pointers and out of bounds array indexing
  • [x] Changed no physics that affect existi...
Avatar
@deen what do u think about moving the debug info below the shields
Avatar
I think we should remove the shields and hearts
Avatar
on the map 'Vesper' on solo, there are 2 tiles in the switch layer with weird unused tileflags: 0b00100100 at x=45, y=50 and 0b10101100 at x=46, y=50
11:52
11:53
fix_map --ddnet --zero-unused-tile-parts Vesper.map Vesper-fix.map
11:55
note that only the lower 4 bits of the tileflag byte are used
11:57
-> and of them the third lowest bite (0b0100) is the OPAQUE flag which is only for tiles layers
Avatar
Avatar
Im 'corneum
it didnt lagg for 2 hours but ofc i get a big spike once im a bit further into the map
how do you show these graphs in debug mode HuhChamp
Avatar
@NeXus first ctrl+shift+d then ctrl+shift+g (edited)
Avatar
b5440d7 Implement network statistics for recvmmsg - def- fc2a49d Merge #3488 - bors[bot]
Avatar
Trafalgar Law 2021-01-09 14:33:41Z
What was the command to safe records in a file?
Avatar
serverside? they're saved to a file by default
Avatar
29371c0 use correct map channel name - 12pm dc1adef remove unused variable - 12pm
Avatar
[quakenet] ChillerDragon BOT 2021-01-09 14:58:24Z
yea to sqlite3 files even nowerdays hm?
Avatar
ye
Avatar
[quakenet] ChillerDragon BOT 2021-01-09 15:28:38Z
yo @Trafalgar Law get wire again or join this discord if you want to chat w me https://discord.com/invite/ADhSwpt or find ingame but pls no middle mans :/
Avatar
can the rank website also show hours instead of minutes?
Avatar
Do I really need a circle ci account to see what the style checker doesn't like about my pr? https://github.com/AntennaPod/AntennaPod/pull/4848 (edited)
Avatar
[ERROR] /home/circleci/AntennaPod/./app/src/main/java/de/danoeh/antennapod/fragment/preferences/PlaybackPreferencesFragment.java:55: 'if' construct must use '{}'s. [NeedBraces] [ERROR] /home/circleci/AntennaPod/./app/src/main/java/de/danoeh/antennapod/fragment/preferences/PlaybackPreferencesFragment.java:55:25: 'typecast' is not followed by whitespace. [WhitespaceAfter] [ERROR] /home/circleci/AntennaPod/./app/src/main/java/de/danoeh/antennapod/fragment/preferences/PlaybackPreferencesFragment.java:60: 'if' construct must use '{}'s. [NeedBraces] [ERROR] /home/circleci/AntennaPod/./app/src/main/java/de/danoeh/antennapod/fragment/preferences/PlaybackPreferencesFragment.java:60:25: 'typecast' is not followed by whitespace. [WhitespaceAfter]
16:39
@timakro ^
Avatar
So the answer is yes? xD
16:41
Thanks
Avatar
yes
16:41
I happened to have one
Avatar
I just was about to commit this xD
16:41
guessed it
Avatar
also the typecast thing? oO
16:41
I can see the {} thing
16:42
What is that
Avatar
'typecast' is not followed by whitespace.
16:42
(Boolean) abc
Avatar
[quakenet] ChillerDragon BOT 2021-01-09 16:44:15Z
yikers got a few system crashes today and now even teeworlds is affected :/ zlib randomly fails to load mapres and sometimes some mapres are in these rainbow colors xd
16:44
its getting worse and worse seems like i have to burn my system with fire soon
16:45
any known places where i could have files that i forgot to backup? I feel like i have 0 files on my device that i need to backup but im not sure
Avatar
have you tried gdb?
Avatar
[quakenet] ChillerDragon BOT 2021-01-09 16:45:35Z
me?
16:45
on what exactly
Avatar
the programs that crash
16:45
or on the coredumps they produce
Avatar
[quakenet] ChillerDragon BOT 2021-01-09 16:46:00Z
gdbing firefox sounds hard
Avatar
gdb firefox
Avatar
[quakenet] ChillerDragon BOT 2021-01-09 16:46:12Z
also debugging the whole system sounds out of my scope
Avatar
then check some coredumps
Avatar
[quakenet] ChillerDragon BOT 2021-01-09 16:46:54Z
u sure i can just run gdb firefox
Avatar
This is a great and super short gdb guide https://beej.us/guide/bggdb/
Avatar
[quakenet] ChillerDragon BOT 2021-01-09 16:47:35Z
i know gdb :)
16:47
i also know beej he is cool guy
Avatar
I continued with my embedded quadcopter project and finally learned a little bit of gdb
Avatar
nice 🙂
Avatar
The only thing I knew before was gdb blabla then run, wait for the crash bt
Avatar
[quakenet] ChillerDragon BOT 2021-01-09 16:48:56Z
well for simple exectuable thats the case
Avatar
that's all ChillerDragon needs to know for debugging a random program on his computer 😉
Avatar
[quakenet] ChillerDragon BOT 2021-01-09 16:49:12Z
when u start to debug things like firefox the kenrnel or ur wm its a bit more setup to do
16:49
gdb -ex=run firefox doesnt work as i expected
Avatar
maybe firefox is special due to its multi-process architecture
Avatar
[quakenet] ChillerDragon BOT 2021-01-09 16:49:46Z
ye
Avatar
You can do fancy stuff like showing the disassembled instructions in tui mode layout asm and stepping through them si
Avatar
[quakenet] ChillerDragon BOT 2021-01-09 16:50:00Z
firefox keeps running even if it crashes or only invididual tabs crash etc
16:50
ye ik
Avatar
wait -ex just runs the command after startup?
Avatar
[quakenet] ChillerDragon BOT 2021-01-09 16:50:50Z
i wonder if there is anything simpler i can debug but all the things that make trouble are so nasty
16:50
ye
Avatar
oh i need that actually
Avatar
teeworlds can simply be put into gdb
Avatar
[quakenet] ChillerDragon BOT 2021-01-09 16:51:15Z
i use it to create automatic backtrace logs and restart tw server
16:51
ye tw doesnt crash yet just a few random failures in zlib
Avatar
i'm constantly typing arm-none-eabi-gdb and then target extended-remote localhost:3333 to connect to openocd
Avatar
[quakenet] ChillerDragon BOT 2021-01-09 16:51:39Z
use .gdbinit
Avatar
but can you tell me why you completely ignore my advice to look for coredumps?
16:51
coredumpctl
Avatar
[quakenet] ChillerDragon BOT 2021-01-09 16:52:06Z
yea cuz idk how to search or active them
Avatar
then say that, not ignore me, please 😦
Avatar
[quakenet] ChillerDragon BOT 2021-01-09 16:52:22Z
sry xd
16:52
i expected something like google it as answer
Avatar
what does coredumpctl?
16:52
say?
Avatar
[quakenet] ChillerDragon BOT 2021-01-09 16:52:44Z
show a list
16:52
Avatar
does it coincide with crashes you remember?
16:53
especially those with corefile != missing
Avatar
[quakenet] ChillerDragon BOT 2021-01-09 16:53:42Z
ye loosk good
16:53
Avatar
get the coredump out of coredumpctl (check --help) and debug it with gdb
Avatar
[quakenet] ChillerDragon BOT 2021-01-09 16:55:53Z
ah nice there is even auto start debugger with "debug"
Avatar
Now I know what a coredump is ^^
Avatar
[quakenet] ChillerDragon BOT 2021-01-09 16:56:14Z
Avatar
useful for debugging after the fact @timakro
Avatar
[quakenet] ChillerDragon BOT 2021-01-09 16:56:23Z
but yikers firefox coredumps
Avatar
Is coredumpctl systemd?
Avatar
[quakenet] ChillerDragon BOT 2021-01-09 16:56:43Z
think so
Avatar
yes, but coredumps are linux
Avatar
[quakenet] ChillerDragon BOT 2021-01-09 16:57:03Z
you can either create a file in current dir or send it to a application like coredumpctl
Avatar
Yep, the kernel writes them obviously
Avatar
[quakenet] ChillerDragon BOT 2021-01-09 16:57:42Z
sysctl -w kernel.core_pattern=core
16:58
creates files directly with the name core instead of using coredumpctl as far as i understood
Avatar
can you list all threads?
16:58
ChillerDragon
16:58
(idk how)
Avatar
[quakenet] ChillerDragon BOT 2021-01-09 16:58:53Z
16:59
oh vscode doesnt start at all maybe i can debug that boi
16:59
ye too bad gdb code doesnt work either
Avatar
Is this firefox?
Avatar
[quakenet] ChillerDragon BOT 2021-01-09 17:01:08Z
ye
Avatar
file $(which code)
17:02
for me, /usr/bin/firefox is a shell script
17:02
hence gdb won't work
Avatar
[quakenet] ChillerDragon BOT 2021-01-09 17:02:37Z
ah ye same w code
Avatar
check what it calls and call it manually I guess 😉
Avatar
[quakenet] ChillerDragon BOT 2021-01-09 17:02:52Z
electron wrpapper
17:03
its running js
17:03
im not sure where to slap gdb here xd https://zillyhuhn.com/cs/.1610211610.png
Avatar
after exec
Avatar
[quakenet] ChillerDragon BOT 2021-01-09 17:03:52Z
well i guess i can try running electron with gdb and this js arg
17:03
yea
17:03
lemme try
17:04
LMAO
17:04
it works with gdb attached
17:04
xd
Avatar
here's your fix
Avatar
[quakenet] ChillerDragon BOT 2021-01-09 17:04:48Z
ah nvm crashed
Avatar
hm
Avatar
[quakenet] ChillerDragon BOT 2021-01-09 17:05:04Z
no stack
17:05
hmm
Avatar
no stack?!?
17:05
did it crash in a subprocess? :/
Avatar
[quakenet] ChillerDragon BOT 2021-01-09 17:05:23Z
maybe electron yea
Avatar
check coredumpctl
Avatar
[quakenet] ChillerDragon BOT 2021-01-09 17:05:47Z
its there
Avatar
debug it 😉
Avatar
[quakenet] ChillerDragon BOT 2021-01-09 17:06:05Z
if i knew how to get it xd
Avatar
didn't you just do it with firefox? ^^
Avatar
[quakenet] ChillerDragon BOT 2021-01-09 17:06:34Z
i passed "debug" option to debug the first present one
17:06
ah it takes matches
17:06
maybe "debug electron"
17:06
hackerman
17:07
also libthread
17:07
17:07
its getting better an better xd
17:07
17:08
oof
Avatar
Where do the debug symbols even come from? Do distros compile their stuff with -g?
Avatar
relwithdeb
Avatar
@timakro function names are always there
17:11
debug symbols give you line, variable name information
Avatar
these function names are used for dynamic linking. everything that's not declared static in C is there
Avatar
ahh, right, has to be
Avatar
ChillerDragon: is info proc mappings available for coredumps?
Avatar
[quakenet] ChillerDragon BOT 2021-01-09 17:13:59Z
yes its there but is a lot
Avatar
check in which library it crashed I guess
Avatar
[quakenet] ChillerDragon BOT 2021-01-09 17:15:41Z
i thought it is libpthreads
Avatar
where do you see that?
Avatar
[quakenet] ChillerDragon BOT 2021-01-09 17:16:16Z
when the coredump is loaded
17:16
ah nvm
17:16
read wrong
17:16
i never used proc mappings what am i searching
Avatar
it says what memory areas are mapped
17:17
check where your execution is and check in which area it is
Avatar
[quakenet] ChillerDragon BOT 2021-01-09 17:20:00Z
17:20
hmm so the mapping starts at 0x555555554000 but the crash is already in 0x000055555ab2942d ?
17:20
i guess thats why it says in () in the backtrace becuase its not mapped?
Avatar
isn't it in the second mapped region?
17:22
6 < a < c
Avatar
[quakenet] ChillerDragon BOT 2021-01-09 17:22:47Z
ah lol sure me brainded
17:22
ah ye so electron crashed in electron
17:23
so far so good
Avatar
good to know 😄
Avatar
[quakenet] ChillerDragon BOT 2021-01-09 17:23:35Z
ikr
Avatar
you know it's easier with a microcontroller where my binary is <1k and the only library is newlib
Avatar
[quakenet] ChillerDragon BOT 2021-01-09 17:24:10Z
also debugging tw is easier
17:24
sometimes
17:25
seems like i have to buy a new arch linux
Avatar
I'm trying since 1h to talk to the bluetooth chip on my drone but it's not answering! And I can't check if the serial connection even works because the connection is just hardwired on the board
Avatar
[quakenet] ChillerDragon BOT 2021-01-09 18:18:45Z
18:19
yea but this is libpthread for sure
Avatar
why is sendmsg in libpthread? ^^
Avatar
[quakenet] ChillerDragon BOT 2021-01-09 18:21:13Z
like sending a msg to a thread idk?
18:21
or do you think it is networking stuff that crashes multithreaded?
Avatar
man sendmsg
18:21
sendmsg — send a message on a socket using a message structure
Avatar
[quakenet] ChillerDragon BOT 2021-01-09 18:21:45Z
oof why do u have a man i dont?
18:23
18:23
wait so its a syscall right does that mean it crashed in my kernel?
Avatar
$ pacman -Qo /usr/share/man/man3/sendmsg.3p.gz /usr/share/man/man3/sendmsg.3p.gz is owned by man-pages 5.09-2
Avatar
[quakenet] ChillerDragon BOT 2021-01-09 18:23:27Z
so userland gdb wont even catch it?
Avatar
it's not crashing in the kernel
18:23
that would be a kernel oops or a kernel panic
Avatar
[quakenet] ChillerDragon BOT 2021-01-09 18:23:51Z
nice packet ima dl it
Avatar
nothing that would generate a coredump
Avatar
Avatar
heinrich5991
@timakro function names are always there
only functions that have external linkage btw
Avatar
Avatar
heinrich5991
these function names are used for dynamic linking. everything that's not declared static in C is there
these are those that are not marked with static
Avatar
oh missed your follow-up
Avatar
do you know where the mod tool is hosted and could update teehistorian2demo?
Avatar
ddnet.tw
19:18
I can update it later tonight
Avatar
nice 🙂
Avatar
@heinrich5991 is the mod tool closed source?
Avatar
@Ryozuki idk. it's essentially a frontend for downloading teehistorians and piping them through teehistorian2demo
Avatar
it just pipes the download of teehistorian to teehistorian2demo
20:01
it's also awfully coded but I can add that to ddnet-web too if you want
Avatar
without the link to my home server maybe, but othewise yes 😄
Avatar
it doesn't expose your ip in the script
Avatar
but a host name?
20:03
that resolves?
Avatar
no we proxy it
20:03
it doesn't resolve
Avatar
good 🙂
20:05
btw, I think we're using an unencrypted connection between the servers and the database server
20:06
might want to tunnel that through wireguard or so, maybe I'll set that up if no one minds
Avatar
doesn't mysql support tls?
20:06
sounds easier than wireguard
20:06
Data can be encrypted in transit using the TLS protocol.
Avatar
[quakenet] bliblablub BOT 2021-01-09 20:07:12Z
everyone
greenthing 1
20:07
@
Avatar
sounds easier indeed
Avatar
[quakenet] ChillerDragon BOT 2021-01-09 20:27:58Z
is everyone not fixed yet?
Avatar
wireguard is so cool
20:36
but tls is much much easier 😛
Avatar
have you set up a wireguard already? I found it quite straightforward
20:38
I used it for reverse-proxying something from the server to my home PC
20:41
I even played a round of AoE2 over wireguard 😄 that was fun, it just worked out of the box
Avatar
I finally got rid of openvpn a month or so ago
21:02
maybe even 2 months now
21:02
works perfectly
Avatar
Hi, devs. I'm considering options to rebase another mod on the DDNet code and I found a lot of missing API. I also think that it would be simpler for you to cherry-pick patches if DDNet will provide and use a similar API. If you're OK with such changes maybe I'll try to also backport commit https://github.com/teeworlds/teeworlds/commit/de5859b3717406f9f0e728506ad0ef15d4e87337 (change API from CConfiguration g_Config to IConfig *Config(), @heinrich5991 seems to be familiar with that...
Avatar
Hello, devs. What is your opinion on work with other mod-makers? Teeworlds 0.6 has some base for mod development, but 0.7 is less and less moddable, so nowadays it makes sense to consider DDNet as the base for mods instead of any version of the upstream Teeworlds.
Avatar
there are already mods based on ddnet, some guy with his infection server, the thing is, they die cuz no one plays them
Avatar
The issue is that DDNet (like probably all other mods) do the job in base classes instead of subclassing. I understand — the reason for that is that Teeworlds API is not extendable. Classes are not subclassable, etc. 🙂
Avatar
Avatar
Ryozuki
there are already mods based on ddnet, some guy with his infection server, the thing is, they die cuz no one plays them
Oh, they're basing on DDNet. That explains a lot of things 🙂
Avatar
i mean, the game being fully open source makes the devs (of teeworlds) not really look much into "modding support" as you mean, the only thing u have to keep in mind generally when making a mod is keeping it compatible with the most used clients
21:38
there isnt a api like forge for minecraft for modding cuz the game itself is already open source
21:38
idk
Avatar
For me, it looks like they're doing a game, and not doing the software. It always helps to have a good architecture with a clear separation between different levels of logic and implementation.
Avatar
@Learath2 whats your vpn provider? (edited)
Avatar
@timakro me myself and I
22:21
@Kaffeine it makes sense but this is just a huge bowl of spaghetti made over 10 years or so. It's not the result of design
Avatar
you yourself and u?
22:21
monkalaugh
Avatar
I was 12 when I made my first commit 😛
Avatar
i was 15
Avatar
Avatar
Learath2
@Kaffeine it makes sense but this is just a huge bowl of spaghetti made over 10 years or so. It's not the result of design
Absolutely true. But we can do some design step-by-step.
Avatar
people just added things over the years not really thinking of the future at all
Avatar
to be fair nobody expected this game to live so long
Avatar
I can't agree more 😄
Avatar
@Kaffeine certainly. There is a great place to start too, turning IGameController in 0.7 into an abstract base clasee
22:23
class*
Avatar
I stopped playing in 2011. And three years ago I got to know that the game still exists!
Avatar
I started rewriting ddnet trying to keep the modifications into vanilla as little as possible, but since IGameController is just pretending to be an I it's really hard to avoid it
Avatar
Avatar
Learath2
I started rewriting ddnet trying to keep the modifications into vanilla as little as possible, but since IGameController is just pretending to be an I it's really hard to avoid it
I started to rewrite some mode trying to keep the modification as little as possible too! I'm managed to have 32 insertions(+), 9 deletions(-) to the upstream code (except CMakeLists) and working very basic gameplay (I'm re-engineering InfClass).
22:27
Basically I just turned some private to protected and added some virtual here and there.
Avatar
that pr looks fine, but if we are gonna change all variable reads to getters we are in for a big diff xd, putting those packets into its own methods is nice
Avatar
encapsulation is overrated
Avatar
Avatar
Ryozuki
that pr looks fine, but if we are gonna change all variable reads to getters we are in for a big diff xd, putting those packets into its own methods is nice
I replaced all m_Pos reads with GetPos() — it is about 130 lines. But we also have some writes and there is no SetPos() method in the upstream API. So I kept it as-is for now.
Avatar
it won't give us much moddability at all, especially while there is a lot of actual abstraction that needs doing
Avatar
i meant in the future, if we are going to others too
Avatar
like IGameController and CGameContext being too interconnected
Avatar
to change others*
Avatar
Avatar
Learath2
encapsulation is overrated
It feels like you're a software developer, are you? I mean your "paid" work.
Avatar
Avatar
Learath2
like IGameController and CGameContext being too interconnected
I still have no idea what is the idea behind those two. It seems that both do everything.
Avatar
No, I'm a student still, one that probably won't graduate and become a burger flipper instead
Avatar
Avatar
Learath2
No, I'm a student still, one that probably won't graduate and become a burger flipper instead
I think you're kidding. 🤔 OTOH some known developers quit university. Mark Zukenberg, Steven Jobs, Bill Gates, etc. You name it 🙂 (edited)
Avatar
I'm just not good at the classical engineering stuff like analysis and signal theory
Avatar
Avatar
Learath2
I'm just not good at the classical engineering stuff like analysis and signal theory
Your commits look better than do half of my colleagues. You won't become a burger flipper if you don't want to.
Avatar
do you study electronics engineering?
Avatar
and I'm not lucky enough to be born in a decade where basically every idea you get was new so dropping out will instead make me one of many bottom dwellers of society
22:41
Computer Engineering
Avatar
ok, didnt realize they also have those things
Avatar
@Learath2 ur in italy still right
Avatar
here most tech jobs dont require u the uni title
22:42
they require a technical title
Avatar
Avatar
trml
ok, didnt realize they also have those things
I didn't realize I was signing up to become an artillery or communications engineer in the german army circa ww2 either
Avatar
idk the name it varies from country to country
22:44
but ur in 3rd year right
22:44
i quit at 1st year, but quitting at 3rd is another thing
Avatar
I've already wasted 3 years, by the time I switch over to a tech degree and finish it I'll be too old to be hirable in the softwaresphere
Avatar
Maybe I'll be qualified enough to become a drug addict living under a bridge
Avatar
oh, in my country some of the CS/"informatics" studies seem pretty light on math (edited)
Avatar
I probably could finish this, but my brain doesn't really want to cooperate, I'm awake like 3 hours a day 😛
22:46
Doomed to failure by my own brain chemistry
Avatar
u should probs be less here
22:46
and more there
22:46
but im not someone to say anything
22:46
xd
Avatar
I'm only here at night anyway, I'm too tired to study at this hour
Avatar
u tried freelancing? i tried but i never got a client ever, its full of cheap devs with more skill in marketing than in developing
Avatar
I have a window of 3-4 hours between 1000-1400 where I'm awake enough to retain any information
Avatar
and im 2 lazy to do any marketing
22:48
xdddd
Avatar
It's just the way it is, I can't do anything if my brain just plain refuses to do it
22:52
I get about 200mg of caffeine a day so I can atleast stay a bit focused, it makes my hands jittery as hell, but at least I'm a little productive in those 3-4 hours
Avatar
Avatar
Ryozuki
u tried freelancing? i tried but i never got a client ever, its full of cheap devs with more skill in marketing than in developing
Indeed, it seems to be very hard to do some freelance. It is much easier to get a usual job :). I started to work for my professor and after a few years, it is not a problem to find a job anymore. (edited)
Avatar
freelance is such unstable income
Avatar
Avatar
Learath2
freelance is such unstable income
And it is also more about marketing indeed. 😦
Avatar
Can be reproduced by logging into rcon before using timeout protection to get the timed out tee.
Exported 335 message(s)