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-04-17 00:00:00Z and 2021-04-18 00:00:00Z
Avatar
lol im watching this chess match
00:01
pawn a3 when
Avatar
dont tell moves
Avatar
ah nice u can watch
Avatar
its disrespectfull
00:01
ok iw ont tho
Avatar
king d5 when
00:02
??
Avatar
lol ryo tryhard over 500 games
Avatar
i play on the metro every other day
Avatar
louis writes in german xd
Avatar
i cant see chat
Avatar
@Ryozuki i stole some things from ddnet.tw/news it says a mod has to check it?
Avatar
need to get some people in there
00:11
suddenly i cant remember a thing
Avatar
DDNet Beginnings Megaman had already rented a virtual server, but didn't know how to set it up. So I took over this aspect, implementing what we discussed in our group of 4: Megaman, Delo, .me' and I. We started out with just a few maps by .me' and Megaman. I'm not a mapper myself, so it's lucky that all the other 3 DDNet founders were. We also had a deal with Hitomi to host a server for him with his maps, among them of course the extremely popular HellGate series.
00:16
Avatar
"Aoe vs hi_leute_gll drama" where xd
00:18
xd
Avatar
gg anonymous
00:18
played that like shit
Avatar
oh it was u?
00:18
u missed my rook?
Avatar
rip anonymous
Avatar
the end was ok
Avatar
I misclicked there at the end
Avatar
the beginning was too loosy xd
Avatar
stupid move with the queen
Avatar
@Ryozuki 1v1 me later
00:18
i lost against u before now i must redeem
Avatar
also need that one time when some mods made an open letter agains deen. that was cringe but i cant remember what happened
Avatar
Avatar
louis
@Ryozuki 1v1 me later
"later" mate its 2 am
Avatar
yeah we should play sometime when it's not pitch black outside 😄
00:19
wp
Avatar
@<BµmM> aoe deleted his video about hi leute i think
Avatar
qE1 was such a blunder at the end
00:20
i made 6 blunders
00:20
u made 7
00:20
xd
Avatar
LOL qE1 was +12
00:20
stockfish is like ?????
00:21
yeaaah damn I wanted to do either qf1 or bxd7
00:21
...
Avatar
Avatar
Ryozuki
"later" mate its 2 am
no its 7:22 pm PepeLaugh
00:28
well 5:28 now
Avatar
[freenode] chillerdragon[m] BOT 2021-04-17 07:27:12Z
lmao drama in the timeline Ryozuki
Avatar
6fbd3fb Best of Three tournament - def-
Avatar
[freenode] chillerdragon[m] BOT 2021-04-17 08:55:42Z
Yo anyone of you leet haxx0rs have good resources on getting into binary edits? Maybe our NSA supporter @Learath2? I wanna extend/edit some closed src software. Turns out its harder than objdump + paste in some blob and reassemble :D
Avatar
c8fa88f Update tournament preparation - def-
Avatar
Are you patching or inserting new code?
Avatar
[freenode] chillerdragon[m] BOT 2021-04-17 13:50:00Z
I was thinking about inserting new code. I think by patching you refer to in place edits without changing the length of the program. As far as I understood thats what an machine language guru can do easily with a hexeditor.
13:50
But I was more after getting some hooks in place where I can write some C code or something like that. Well idk thats why I ask for a starting point :D
Avatar
what do you want to achieve in the end?
13:55
frida is an interesting tool that lets you hook functions
13:55
Inject JavaScript to explore native apps on Windows, macOS, GNU/Linux, iOS, Android, and QNX
13:56
chillerdragon[m]: ^
Avatar
[freenode] chillerdragon[m] BOT 2021-04-17 13:56:16Z
thanks
13:56
I just want to mess around with closed src software I am forced to run to see how much I feel better when I manage to do basic edits
Avatar
yea, sounds like frida can help you achieve what you want
Avatar
frida is very cool indeed, but if you want to insert assembly it is some work and idk if any tools exist to help you with it
Avatar
true. with frida you can instead insert JS though, I used it to patch some RE challenge file
13:58
was quite easy
Avatar
The simplest way to actually insert assembly into a binary is to find a "code cave" somewhere already executable where you can fit your chunk and jump to it by some means
14:01
If you don't find one large enough you need to fiddle around with adding a new executable section to it which wasn't a fun experience the last time I tried
Avatar
I'm not sure I'd call it the easiest way though (when inserting code). I think I find frida easier there
Avatar
Oh definitely, I meant easiest way to insert a chunk of native bytecode
14:03
I guess you could use frida to do that too at runtime now that I think about it
14:04
Yeah, just place your bytecode somewhere in memory, mark it executable with mprotect and call into it
14:05
Or just compile it into a shared library and dlopen it to reduce the annoying things you have to worry about
Avatar
or LD_PRELOAD
Avatar
The port in the NETADDR struct was left uninitialized. Add some tests to ensure behavior. CC #3774 #3775

Checklist

  • [ ] Tested the change ingame
  • [ ] Provided screenshots if it is a visual change
  • [ ] Tested in combination with possibly related configuration options
  • [x] Written a unit test if it works standalone, system.c especially
  • [ ] Considered possible null pointers and out of bounds array indexing
  • [ ] Changed no physics that affect existing maps
  • [ ] Te...
Avatar
[freenode] chillerdragon[m] BOT 2021-04-17 14:11:35Z
oh no need to insert assembly I am not trying to be as cool as possible but more like gaining control over closed src software in the easiest way possible. Like trying to add simple features or something. I will probably rage quit trying but whatever :D
14:12
I always wonder how there are modding communities for closed source games
Avatar
well modding communities usually either rely on a modding framework already being there, or atleast a scripting framework in the game that is for the gameplay people to make things without needing to know to program
Avatar
[freenode] chillerdragon[m] BOT 2021-04-17 14:20:37Z
right but i feel like these modding frameworks are often community built arent they?
14:21
So I was wondering maybe there is some workflow on how to create such a framework. But anyways im currently looking into frida and it looks cool :)
Avatar
If they are using a scripting framework that's not exposed yes, usually some pioneers will by looking at how the scripting hooks into the engine create their own framework. An example of this is Cleo for GTA San Andreas
14:23
but there are games where there is an official framework for modding, like witcher 3 or skyrim
Avatar
[freenode] chillerdragon[m] BOT 2021-04-17 14:24:12Z
Interesting so witcher team wanted their game closed but still support the modding community
Avatar
@Learath2 mind if I typedef std::unique_ptr<sqlite3, CSqliteDelete> CSqlite3?
14:24
what should its name be?
Avatar
If you look at even older games, where disk space and memory space was at a premium (think gameboy era) there it starts to become black magic to me how people managed to dissect these old games to create so much tooling to mod them. Look at GBA era pokemon if you want to see some of that magic
Avatar
Avatar
heinrich5991
what should its name be?
Eh, I think that's fine, but would that not be a one off anyway?
Avatar
[freenode] chillerdragon[m] BOT 2021-04-17 14:25:31Z
I feel like I miss out some things being in the tw open source bubble
Avatar
@Learath2 I was thinking about making it an IStorage function. maybe that's more controversial? ^^
Avatar
Eeeeh? 😄
Avatar
OpenFile, OpenDb/OpenSqlite3
Avatar
Mh, I don't think this fits in the scope of IStorage. Atleast not how I conceive it
Avatar
since you can only open sqlite3 dbs by path, you'd have to extract the full path from IStorage to get a DB
Avatar
When I think of Storage (in terms of teeworlds) I really only think of files. Though maybe we could extend the concept? But I think it's scope is fine
Avatar
Avatar
heinrich5991
since you can only open sqlite3 dbs by path, you'd have to extract the full path from IStorage to get a DB
Why not just ask IStorage for the path using GetPath?
Avatar
I can do that, but I thought this was the abstraction that is wrong 😛
14:28
I think that was a quick ddnet hack because something didn't quite work
Avatar
Hm, I guess an argument could be made that no paths should leave CStorage
14:29
How about having IStorage open the file and pass that file handle along to sqlite?
Avatar
that's the thing that doesn't work. sqlite3 needs a path
14:29
sqlite3 wants to create temporary files near the db
Avatar
Meh, that's overreach by sqlite, but I get it
14:30
I think GetPath is the better way to do this than to make storage aware of some database implementation
Avatar
k
Avatar
I really want to re-do storage some day btw, it's quite a mess right now
Avatar
They're not really game-specific anymore, and Teeworlds also has it in that location.
Avatar
This fixes the issues for the meanwhile, but I think I want to rewrite this. We are kind of wasting memory and it behaves really oddly with multiple binds that match the chord progression. Fixed #3771 for now. @fokkonaut please check

Checklist

  • [x] Tested the change ingame
  • [ ] 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] Cons...
Avatar
I initiated a port of ddnet and received a lot of help from the IRC in order to do so as seen in #2986. Unfortunately, my efforts went stale after one point. Fortunately, however, @threedeyes released a set of patches for Teeworlds. I decided to take down my repository with my own work and attempt to port Gerasim's work, which includes code for sett...
Avatar
I think I'm going mad
16:53
Something was working, I rebased something that should have been failing before but wasn't suddenly broke. I rebased again and it happened again
Avatar
sounds like you having a fun saturday
Avatar
Now after the ddnet server is hit into the black hole by ddos, the players who are playing cannot timeout back after the black hole ends, because the black hole time is too long. I have an idea, during the black hole, can I send SIGTSTP to the ddnet-server process (just like ctrl + z), and then use the fg command to recover after the black hole ends. I also thought about dumping the memory and immediately recovering it on another machine, but this is probably more difficult. Or dump the ...
Avatar
Avatar
GitHub
Click to see attachment 🖼️
I open a new issue about restore players' state after ddos. Will this be difficult to achieve?
Avatar
[freenode] chillerdragon[m] BOT 2021-04-17 17:50:28Z
enable /r :D
17:51
detecting server lack and pausing game is actually an interesting idea. Might be a bit messy tho
17:51
"lack"
Avatar
enable /r is not enougt as i think xd. I think the most easy way is set the duration of Timeout Protection over to be long enough. Or change the way of trigger Timeout Protection over.
17:56
but now it seem that the maxium of "conn_timeout_protection" is 10000 second which is not enough for this kind of situation
Avatar
It's cool if you can implement this but ddos attacks can be unpredictable. I'm not trying to bash your idea, it's a good idea. However, Ddos attacks you want to prevent as far upstream as you can. I get we are on a budget but yeah.
17:57
What happens when you suspend while someone is hammer flying and it's a faily part? They fall and die? (edited)
Avatar
Avatar
SPYRES
What happens when you suspend while someone is hammer flying and it's a faily part? They fall and die? (edited)
yeah it is hard to deal with that kind of situation. but i think when ddos begin, player should know they should stay in a safe place
Avatar
P.s I doubt most players are doing faily maps when ddos happens and those who do can probably get there fast anyways
18:02
If they in a team they can /save quickly. I guess your idea is more focused to team0?
Avatar
we could extend timeout protection automatically when a dos is happening
Avatar
Avatar
SPYRES
If they in a team they can /save quickly. I guess your idea is more focused to team0?
yes, caz in chn server, we anyway play in a big team0 xd
Avatar
Avatar
deen
we could extend timeout protection automatically when a dos is happening
thx! that would be a good idea
Avatar
@Eki keep the ideas flowing!
Avatar
8d6b62d Fix parsing an IPv6 address without port - heinrich5991 b53929e Merge #3776 - bors[bot]
Avatar
6c02076 Copied Teeworld patches for the Haiku operating system - panos 6572f9e Merge #3779 - bors[bot]
18:25

Checklist

  • [ ] Tested the change ingame
  • [ ] 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
  • [ ] Considered possible null pointers and out of bounds array indexing
  • [ ] Changed no physics that affect existing maps
  • [ ] Tested the change with [ASan+UBSan or valgrind's memcheck](https://github.com/ddnet/ddnet/#using-addresssanitizer--u...
Avatar
@heinrich5991 I'm about to call the cops on clang-format
Avatar
@Learath2 what went wrong?
Avatar
Pipue changed gender and is now maria
Avatar
Figured it out, it wouldnt work while rebasing for some reason
Avatar
f867d9c Only use correct clang-format version - def- 4cb65aa Merge #3781 - bors[bot]
Avatar
5e492c8 Also provide license and storage files in updater - def-
Exported 154 message(s)