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 2018-03-13 00:00:00Z and 2018-03-14 00:00:00Z
Avatar
Github[bot] BOT 2018-03-13 00:02:06Z
Test
Avatar
yeah now you display it asshat...
Avatar
[quakenet] <Learath2> heinrich5991: apparently that bridge doesn't have a filter for bots?
Avatar
neither does ddnet
👏 1
Avatar
badumm tss
Avatar
I propose banning @noby for roasting me
Avatar
yeah if we want to keep the pretty commit format sadly we can't haz bors filter
Avatar
Test Multiple lines?
Avatar
now you need to find out how to write these boxes
Avatar
can't
00:08
sadly
00:08
we can just not use bors \o/
00:09
I think actual bots unlike webhooks can write that box
00:09
oh maybe I can send an embeds from the hook
Avatar
ye thats why the old webhook always sent embeds
Avatar
testing
00:13
I might drop a couple of these until I get it right, so pls no h8
Avatar
when unban
Avatar
close?
00:21
^^
Avatar
shouldn't these be backslashes?
00:22
instead of forward ones?
Avatar
oh stupid
00:22
actually no I did make them \
00:22
hmm discord takes them and turns them into /
00:23
"[https://github.com/ddnet/ddnet-web/commit/238b0bf9e28e8cc6f2fff4a9357decd5874905e1](\\[ddnet:master\\] 1 new commit)\n2ef3bc1 Some commit - Learath2" (edited)
Avatar
I should get a test channel actually
Avatar
#deleted-channel
Avatar
so close 😛
Avatar
I removed push events from the normal github hook and am pushing them through a filter
Avatar
and It does filter out bors
01:30
ping me a couple million times if it blows up please 🙂
10:44
Oh
10:44
I see (edited)
Avatar
completely faked the github hook formatting 😛
Avatar
[quakenet] <jxsl13> any coders online :O?
Avatar
yes!
13:46
came online just now
Avatar
[quakenet] <jxsl13> :O
13:47
[quakenet] <jxsl13> hello :D
Avatar
hi 🙂
Avatar
[quakenet] <jxsl13> I'm trying to collect some player input data for analysis purposes and thinking about, what to add to each snapshot struct object.
Avatar
[quakenet] <deen> jxsl13: sounds like teehistorian
14:05
[quakenet] <jxsl13> whats that?
14:05
teehistorian records all inputs from the players as well as the player positions in each tick. It stores this info in a highly compressible output format (I've achived 5x compression using xz or bz2).
14:06
[quakenet] <deen> So we have recordings of all player inputs on DDNet
14:08
[quakenet] <jxsl13> looks more complicated than what I had in mind :D but thanks.
14:08
[quakenet] <deen> and you can use heinrich5991's rust libtw2 with teehistorian files: https://github.com/heinrich5991/libtw2/
libtw2 - Some Teeworlds stuff in Rust
14:10
[quakenet] <deen> just set sv_tee_historian 1
14:14
[quakenet] <jxsl13> hm, I'm on vanilla source sadly.
14:14
[quakenet] <deen> well, then you'd have to port the teehistorian stuff. it's mostly contained in one class I think, so that might be possible (but no guarantees)
14:15
[quakenet] <deen> Easy solution is to just record serverside demos, but they have performance problems
14:15
[quakenet] <deen> and are huge on the disk
14:16
[quakenet] <jxsl13> I would like to use an sqlite db, but wondering if it would keep up with the amout of data
14:16
[quakenet] <deen> depends on how you use it
14:16
[quakenet] <deen> and how many players you expect
14:17
[quakenet] <jxsl13> max 16
14:17
[quakenet] <deen> and there are a lot of commands that can make sqlite faster, for example:
14:17
[quakenet] <jxsl13> well, it would be stupid to push every action a player takes directly
14:17
[quakenet] <deen> pragma journal_mode=off
14:17
[quakenet] <deen> > The OFF journaling mode disables the atomic commit and rollback capabilities of SQLite. The ROLLBACK command no longer works; it behaves in an undefined way. Applications must avoid using the ROLLBACK command when the journal mode is OFF. If the application crashes in the middle of a transaction when the OFF journaling mode is set, then the database file will very likely go corrupt.
14:18
[quakenet] <deen> pragma SYNCHRONOUS=off
14:18
[quakenet] <deen> > With synchronous OFF (0), SQLite continues without syncing as soon as it has handed data off to the operating system. If the application running SQLite crashes, the data will be safe, but the database might become corrupted if the operating system crashes or the computer loses power before that data has been written to the disk surface. On the other hand, commits can be orders of magnitude faster with
14:18
[quakenet] <deen> synchronous OFF.
Avatar
what are u trying to do with player inputs
Avatar
[quakenet] <deen> pragma LOCKING_MODE=exclusive
14:18
[quakenet] <deen> > When the locking-mode is set to EXCLUSIVE, the database connection never releases file-locks.
14:18
[quakenet] <jxsl13> same as you, noby :D
Avatar
[quakenet] <deen> maybe you two should work together and start analyzing ddnet teehistorian data for botting and how to detect it
14:19
[quakenet] <deen> we can provide you with 100 GB of compressed player inputs :D
Avatar
i think hes making it for zcatch and im making it for fng
14:19
neither of which would be too helpful for ddnet
Avatar
[quakenet] <deen> too bad
Avatar
this data could be helpful if u can already point to people in it who are confirmed botters
14:20
otherwise im not sure
Avatar
@noby you should invest your knowledge in ddnet
Avatar
[quakenet] <deen> well, we have a few known botters, people are writing lists on ddnet forum
Avatar
i thought i remembered reading one of the ddnet admins saying they didnt want automatic bot detection because it would just encourage people to try to make better bots
Avatar
Well the Jacky balance bot would be easily detected I guess
14:21
Hacky*
Avatar
[quakenet] <deen> But scanning recordings afterwards to find botters is easier, since we have player input recordings
14:22
[quakenet] <deen> They can't change their behaviour retrospectively
14:23
hmm i realized my fng server must have teehistorian too because its based on ddnet
14:23
how do i turn this on
14:23
if i was going to detect bots based on this data id start there
Avatar
[quakenet] <deen> sv_tee_historian 1
Avatar
[quakenet] <jxsl13> [15:10:23] @deen:just set sv_tee_historian 1
Avatar
where does the data get saved to
Avatar
[quakenet] <deen> teehistorian/
14:24
[quakenet] <jxsl13> I think sqlit ecould be easier to anylayze
14:25
[quakenet] <deen> jxsl13: we periodically prune them by date, and keep backups, so having files is more convenient for us
Avatar
jxsl13: noby: I'd like to help you integrate teehistorian into your mods if you want
Avatar
teehistorian is already in my fng mod
Avatar
[quakenet] <deen> Or maybe make a Vanilla mod based on DDNet :D
Avatar
there's one info missing that might be nice for bot detection
Avatar
[quakenet] <jxsl13> that could be quite cool, heinrich5991 as I'm quite new to c++ x)
Avatar
namely re-sent inputs
14:25
they only get saved when they change
Avatar
yeah that might help
14:26
why is this info ignored
Avatar
@noby but that can be added if you want it
14:26
jxsl13: where does the source code for your mod live?
Avatar
[quakenet] <jxsl13> on my server
14:27
[quakenet] <deen> push it to github ;)
14:27
[quakenet] <jxsl13> do you want an account to the gitea repo?
Avatar
jxsl13: is the git repository public?
Avatar
[quakenet] <jxsl13> ehm, looking for the config x) which could make it open
14:29
[quakenet] <jxsl13> ls
Avatar
(by putting it on github, you'd make sure that it stays open even after you cancel your server ^^)
Avatar
[quakenet] <deen> jxsl13: where did you get the mod from? or you wrote it yourself?
14:32
[quakenet] <jxsl13> it's teelevision's version of zcatch
14:32
[quakenet] <jxsl13> with some features added
14:32
[quakenet] <jxsl13> for now small features
Avatar
[quakenet] <jxsl13> did you get the pm, heinrich5991 ._.?
Avatar
eh. wait. let me start the computer with the IRC client
Avatar
[quakenet] <jxsl13> is the teehistorian data formated in JSON ?
Avatar
I think we only have a json header for it, the rest of the data is prolly raw
Avatar
[quakenet] <jxsl13> hm k
15:22
[quakenet] <jxsl13> ty
Avatar
Get insights on the world’s developers from the largest and most comprehensive survey ever. Demographics. Technologies. Salaries. Career satisfaction.
Avatar
[quakenet] <jxsl13> ._. why do you ppl hate documenting your stuff xD
15:27
lel
15:28
jxsl13 what i do most of the time is looking at how other things are done in the code, that will be ur best documentation in ddnet/teeworlds xD
Avatar
[quakenet] <jxsl13> should be more detailed, what gender those transgender ppl now have like transgender, now female :D
Avatar
i think it is detailed already
15:29
93% are male
Avatar
[quakenet] <jxsl13> would be cool to have more women in tech
15:32
haha
15:32
smart people don't like children? ^^
Avatar
they don't filter by those that usually don't have children by their age I guess?
Avatar
there is a comment after explaining further
15:34
60% of people with 10+ years of experience have children
15:34
and younger devs not
15:35
http://prntscr.com/iqnu5g damn js, when it will die?
no 1
🇺 1
Avatar
[quakenet] <jxsl13> it's sad that there is no real alternative to JS :c
Avatar
webasm
15:38
\o/
Avatar
[quakenet] <jxsl13> it's quite new, tho.. but let's hope
Avatar
Paradigm Imperative, unstructured, expression-oriented
15:38
:o
Avatar
[quakenet] <jxsl13> xD ok
15:39
[quakenet] <jxsl13> I just hate weak typing ._. -> JS sucks
Avatar
i also like more statically typed langs
Avatar
use typescript I think?
Avatar
[quakenet] <jxsl13> that weminds me of WAT
15:40
[quakenet] <jxsl13> reminds*
15:40
[quakenet] <jxsl13> classic video from tw channel
Avatar
most loved language: rust ❤
15:41
thanks god that linux won (edited)
15:41
@heinrich5991 python is the most wanted :D
Avatar
Avatar
i should learn rust :O
15:42
^^
Avatar
"Rust is a systems programming language"
15:42
what means this?
Avatar
read "like C/C++" 😉
Avatar
[quakenet] <jxsl13> you can code OS
15:43
[quakenet] <jxsl13> with it
Avatar
Rust is an iron oxide
Avatar
is rust as portable as C then?
Avatar
you can click links on wikipedia btw 😄 – systems programming language is linked
Avatar
[quakenet] <jxsl13> rust is hard to learn
15:43
[quakenet] <jxsl13> :D
Avatar
rust probably runs on everything you have programmed far so far
Avatar
[quakenet] <jxsl13> but is quit einteresting
Avatar
the logo reminds me of bitcoins
15:46
xD
Avatar
[quakenet] <jxsl13> find the mascot
Avatar
it would be cool if rust (the game) would have been made with rust
Avatar
[quakenet] <jxsl13> crap game :D?
Avatar
i had fun with friends time ago
15:47
now abandoned
Avatar
[quakenet] <jxsl13> full of hackers?
Avatar
didnt see any
Avatar
[quakenet] <jxsl13> hm k
15:48
[quakenet] <jxsl13> thankfully haven't bought it :D... missing dayz :(
Avatar
[quakenet] <heinrich5991> deen: are you running apt-get on ddnet.tw ATM?
Avatar
as portable as C probably doens't exist 😛
16:18
C runs on some real weird stuff
Avatar
yes. because hardware producers port C to their platform
16:19
if someone resurrected the LLVM C backend again, we'd have a lot of programming languages that are "as portable as C" (edited)
Avatar
heh nim is technically as portable as C
16:21
doubt some of the more exotic platforms have the entire libc tho
16:23
Question of the day: What does it take to become a developer with triple certification in cloud tchnlg?
Avatar
[quakenet] <jxsl13> a debian vps
Avatar
[quakenet] <jxsl13> anyone doing anything interesting ?
Avatar
looking at rust RFCs
Avatar
[quakenet] <Learath2> imagining a microservice architecture for a cloud project
16:38
[quakenet] <deen> heinrich5991: nope, but I think it got stuck when I ran it last time, now that you say it :D
16:38
[quakenet] <deen> also on CHN I think
16:39
[quakenet] <heinrich5991> I think on all servers
Avatar
[quakenet] <heinrich5991> ok, not on all, only on those I checked
Avatar
@Learath2 Nim is NOT as portable as C. They have a defined list of archs and supported C compilers
Avatar
[quakenet] <heinrich5991> ddnet.tw, ger2
Avatar
ah yeah, it was ger2, not chn
16:39
the last one in my list 😄
Avatar
[quakenet] <heinrich5991> ^^
16:40
[quakenet] <heinrich5991> it seems they're stuck in a dialog or sth
Avatar
Nim does not produce standard compliant C code that you can just compile on any platform
Avatar
[quakenet] <heinrich5991> the process names sound like that
16:40
I entered yes and it just hung
16:40
so I ctrl-ced, but apparently it kept running
Avatar
yeah forgot that nim uses some interesting stuff
16:40
should prolly run weekly in a named screen btw
Avatar
[quakenet] <jxsl13> @heinrich5991 what does this here do? https://i.imgur.com/kkSN6Hu.png
17:42
teehistorian records all inputs from the players as well as the player positions in each tick. It stores this info in a highly compressible output format (I've achived 5x compression using xz o...
17:43
[quakenet] <jxsl13> src/engine/shared/console.cpp
Avatar
jxsl13: record console commands
Avatar
[quakenet] <jxsl13> hm k
Avatar
got a question about that?
Avatar
[quakenet] <jxsl13> not yet
18:04
[quakenet] <heinrich5991> jxsl13: the whole VICTIM part is probably not present in your mod
18:04
[quakenet] <jxsl13> nope
18:04
[quakenet] <heinrich5991> please refer to the newest version of teehistorian.cpp
18:04
[quakenet] <heinrich5991> btw
18:05
[quakenet] <jxsl13> for now c&p the pull requst stuff ._. and later fixing the errors xD
18:05
[quakenet] <heinrich5991> there've been some changes to the format
18:05
[quakenet] <jxsl13> the uuid manager stuff, is it needed?
18:05
[quakenet] <heinrich5991> no
18:06
[quakenet] <jxsl13> :c the chatcommand makros look so neat ... sadly I don't have them
18:08
[quakenet] <heinrich5991> deen: can I kill the apt process?
Avatar
[quakenet] <heinrich5991> E: dpkg was interrupted, you must manually run 'dpkg --configure -a' to correct the problem.
18:10
[quakenet] <heinrich5991> I'm doing that now
Avatar
c1a7c30 Add reason to name bans - Learath222c21f7 Actually display the reason - Learath2b761090 Handle empty reason. Fix formatting - Learath2729a42a More style - Learath2fcddc5a Merge #1079 -
Avatar
[quakenet] <heinrich5991> ah, that helped
Avatar
@Learath2 look at thsi 😉
Avatar
[quakenet] <Para_> Some guys play rainbow six siege?
Avatar
admin merge pr, then new pr ;D;D then know if @deen s amd gpu burn or profit
Avatar
sorry
Avatar
nice bors no spam now
Avatar
i think i messed something up when i tried to reduce laggs on my client. but i cant frind what now anymore.. all the quads always show i think it ignores clipping
Avatar
gfx_noclip
Avatar
ayyy thx
Avatar
@Deleted User I don't care much about my gpu, sorry for making you worry about that. I think the Linux driver is just broken for it, even 2D terminals render visibly slowly
Avatar
well as long its hardware rendered
19:32
its my code
19:32
now i made the full new font manager
19:32
want to test it <.<
19:32
Well, I can't test it for some time, probably
19:33
Don't have access to that computer a lot
Avatar
Just merge it and it's ok 😄
Avatar
yewah but the pr uses stuff from my current pr
19:33
so i cant create it now
19:34
i also added support for cursor and text marking, so if smbd wants to redo the textinput taht can be used too 😄 (edited)
Avatar
@Deleted User it seems to have merge conflicts
19:38
can you rebase?
Avatar
c1a7c30 Add reason to name bans - Learath2 22c21f7 Actually display the reason - Learath2 b761090 Handle empty reason. Fix formatting - Learath2 729a42a More style - Learath2 fcddc5a Merge #1079 -
Avatar
@heinrich5991 fixed :3
19:39
sorta
Avatar
@heinrich5991 really? github says This branch has no conflicts with the base branch
19:41
but ok
Avatar
oh true
19:41
nvm
19:41
@Deleted User stop 😉
Avatar
ok 😄
Avatar
[ddnet/ddnet] New branch created: staging.tmp
Avatar
c1a7c30 Add reason to name bans - Learath2 22c21f7 Actually display the reason - Learath2 b761090 Handle empty reason. Fix formatting - Learath2 729a42a More style - Learath2 fcddc5a Merge #1079 - bors[bot]
Avatar
perfect
19:56
@heinrich5991 apparently my cron died for a while, could you check that my teehistorian backups are complete?
Avatar
do you have teehistorian_index deployed?
Avatar
[quakenet] <jxsl13> heinrich5991 , got some time ?
20:11
[quakenet] <heinrich5991> yes
20:12
[quakenet] <jxsl13> I have most of the stuff added, not I would like to get that uuid stuff running, but can't compile, because the UUid stuff is unknown, even tho included.
20:13
[quakenet] <jxsl13> I've got a teehistorian branch in my repo, where the actual snapshot is
20:13
[quakenet] <jxsl13> could also upload compiler errors
20:15
[quakenet] <heinrich5991> show the compiler errors
20:19
[quakenet] <heinrich5991> you should fix the warnings, too, btw
20:19
[quakenet] <heinrich5991> they indicate actual problems
20:19
[quakenet] <heinrich5991> the sizeof ones at least
20:19
[quakenet] <heinrich5991> jxsl13: you need part of the uuid manager apparently
20:21
[quakenet] <jxsl13> I have the uuid_manager files in the specific directories
Avatar
[quakenet] <heinrich5991> mh k
Avatar
ah @heinrich5991 probs my client is crashing since sound loading is not threadsafe when using mem_alloc_debug?
20:32
bcs the header when it crashes always says sound.cpp
20:33
gnerally i wonder why this is also used in the graphic thread
20:33
but maybe im blind
Avatar
[quakenet] <heinrich5991> jxsl13: I first have to get bam 0.4 from somewhere :/
20:38
[quakenet] <jxsl13> http://matricks.github.io/bam/
20:38
[quakenet] <jxsl13> 0.4.0 zip
20:44
[quakenet] <jxsl13> need to fix the system.c/.h stuff first tho x), could not guess that ddnet changed much and droping the ddnet file would break everything
20:44
[quakenet] <jxsl13> dropping*
Avatar
@heinrich5991 no don't have th_index
Avatar
[quakenet] <heinrich5991> run it and check whether you have a gap in the dates
Avatar
So as I said it's basically only for ingame things right now. The GUI is too much work, and the rest like server list and consoles are just a matter of time, I guess.
Avatar
[quakenet] <jxsl13> rip Wofflex q.q
Avatar
^ deffs not thread safe
21:08
@heinrich5991 what freetype version does the ci use?
21:08
it says it doesnt know the flag i use
Avatar
i appearently need freetype 2.7.1
Avatar
The client doesn't know the difference between /pause and actual spectating, so when it recieves a teamchat message and the dummy is in pause, it prints it twice.
21:44
@Deleted User why u changed the if () style?
Avatar
because @heinrich5991 wants it so
21:51
i havent changed anything about the process of how chat is build
21:51
only how its displayed sry :/
Avatar
@Deleted User oh the issue i sent here wasn't meant to have a relation with ur pr xD, nice work btw
Avatar
[quakenet] <jxsl13> heinrich5991 , mind helping :D?
22:45
22:45
[quakenet] <heinrich5991> what about MACRO_TUNING_PARAM?
22:45
[quakenet] <jxsl13> there are two definitions
Avatar
this is OK
22:46
the file is included multiple times
Avatar
[quakenet] <jxsl13> one in teehistorion.cpp, which takes 4 arguments and mine, which takes 3 arguments
22:46
[quakenet] <jxsl13> compiler says no :D
Avatar
oh
22:46
just remove Description in teehistorian
Avatar
[quakenet] <jxsl13> hm k :O
22:51
[quakenet] <jxsl13> I think the exact same name of macros causes a conflict, where the zCatch macro is needed and the teehistorian macro is actually used. ._.
22:52
[quakenet] <heinrich5991> this is a case of an X macro
22:52
[quakenet] <heinrich5991> I think that was the name
22:52
[quakenet] <jxsl13> if I'm not mistaken, the teehistarian macro is not used anywhere, so maybe change its name?
22:52
[quakenet] <heinrich5991> anyway, the point is exactly that you can define the same macro several times
22:52
[quakenet] <heinrich5991> https://en.wikipedia.org/wiki/X_Macro
X Macros are a technique for reliable maintenance of parallel lists, of code or data, whose corresponding items must appear in the same order. They are most useful where at least some of the lists cannot be composed by indexing, such as compile t...
22:53
[quakenet] <heinrich5991> what error does it cause?
22:55
[quakenet] <heinrich5991> this sounds like MACRO_CONFIG_STR_ACCESSLEVEL is causing problems
22:55
[quakenet] <heinrich5991> wait
22:57
[quakenet] <jxsl13> so x-macro meaning that it is undefined after usage?
22:59
[quakenet] <heinrich5991> #define MACRO_CONFIG_INT_ACCESSLEVEL(Name,ScriptName,Def,Min,Max,Flags,Desc,AccessLevel) MACRO_CONFIG_INT(Name,ScriptName,Def,Min,Max,Flags,Desc)
22:59
[quakenet] <heinrich5991> #define MACRO_CONFIG_STR_ACCESSLEVEL(Name,ScriptName,Len,Def,Flags,Desc,AccessLevel) MACRO_CONFIG_STR(Name,ScriptName,Len,Def,Flags,Desc)
22:59
[quakenet] <heinrich5991> put these before #include <engine/shared/config_variables.h> in teehistorian.cpp
22:59
[quakenet] <heinrich5991> jxsl13: ^
23:00
[quakenet] <jxsl13> hm
23:00
[quakenet] <jxsl13> let's test it out :D
Avatar
[quakenet] <jxsl13> hm, now the bam fun starts ._.
Exported 360 message(s)