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 2019-09-28 00:00:00Z and 2019-09-29 00:00:00Z
Avatar
ChillerDragon 2019-09-28 11:07:45Z
11:07
xd
11:07
cover last years
11:16
I worked a little on getting a cleanly integrating plugin system for teeworlds, kinda hit a roadblock with not knowing how to translate the macro call before it runs through the actual compiler preprocessor
🔥 1
feelsamazingman 2
11:17
The script above takes in a source file, and generated the required hook variables and the required registering functions
11:17
s#generated#generates#
11:19
I did it like this so as to not limit developers to only c++, but I'm kinda regretting that decision and thinking of doing an abstract class based approach instead
11:22
even after that @Deleted User's words kinda make me feel like not doing a plugin system at all but to make a framework to let people modify the actual source itself, but that I have no good approach for
11:23
either way, libclang is fun to mess around with
Avatar
ChillerDragon 2019-09-28 11:23:29Z
xush had this funny approach of injecting code into the binary xD search the correct places and then it would also be version and even sourcecode independent
11:23
External teeworlds stuff using memory editing & pattern scanning. - GutZuFusss/TW-CDXX
Avatar
but not architecture independent 😛
Avatar
ChillerDragon 2019-09-28 11:24:05Z
tru
Avatar
imagine doing all this work to write an aimbot injector...
Avatar
ChillerDragon 2019-09-28 11:24:33Z
xxD
Avatar
:/
Avatar
ChillerDragon 2019-09-28 11:24:47Z
he wanted to be able to bot instantly when he returns in a few years to 0.8
Avatar
If any of you have opinions about how a plugin system should work or look like, please let me know
Avatar
Can someone have a look into the DDNet file score system and debug it?! I really tried everything, but I cant find why it wouldnt save every rank...
13:04
Also I dont get error messages like failed for reading or something like that
Avatar
Does not really explain why ranks are lost... but this line might cause horrible lags: https://github.com/ddnet/ddnet7/blob/cb7a6cc1a0f4f1bcfaa5d260810c472916e3f156/src/game/server/score/file_score.cpp#L93 It's waiting 1 second instead of 1 millisecond (like in ddnet 0.6)
DDraceNetwork server modification for Teeworlds 0.7, ported by fokkonaut - ddnet/ddnet7
14:53
ah wait
Avatar
In tw 0.7 this function uses milliseconds by default
14:53
i thought the other way round rightn ow
14:53
but anyways, this is a problem in ddnet 0.6 too (the rank not saving always)
Avatar
Okay. The whole file scoring should be rewritten 🤔
Avatar
why?
Avatar
The whole locking there is not optimal. When the score file gets too big and multiple people finish this can cause delays
14:56
And in general... Using a database would be better
Avatar
of course it would be
14:58
But not everyone is able to do that
14:58
So a file system is good, also ddnet uses this on official servers if the databse connection fails, the scores are written in a file for now
14:58
until an admin then manually merges them
14:58
its not always stupid to have some "old" stuff in there
Avatar
DDraceNetwork server modification for Teeworlds 0.7, ported by fokkonaut - ddnet/ddnet7
DDraceNetwork server modification for Teeworlds 0.7, ported by fokkonaut - ddnet/ddnet7
15:00
DDraceNetwork server modification for Teeworlds 0.7, ported by fokkonaut - ddnet/ddnet7
Avatar
You dont have to tell me, better make an issue or pull requets at ddnet/ddnet
15:00
ddnet7 uses the same system as ddnet for file scores
15:01
and in ddnet6 its also broken
Avatar
I guess on ddnet usually MySQL is used And the fallback thing appends sql commands to a file and does not use the filescoring class
Avatar
might be, but there are definitely servers running the ddnet mod using file score systems
15:02
basically every server except ddnet and maybe kog
15:02
all small servers use file score, because why would you use MySQL for example for a single server?
Avatar
Well it does not have to be mysql... Sqlite would be perfect for something like this But yeah... Something as simple as the file scoring is still useful
15:04
No config and easy to handle
Avatar
[quakenet] Ryozuki BOT 2019-09-28 15:04:24Z
Learath2 i think minecraft forge is a rly good example
15:04
idk how would u apply to c++ tho
15:05
@Learath2 test
Avatar
Wouldn't webassembly be a good choice for plugins? When you use native plugins you have to take care about all platforms
Avatar
@redix I looked into web assembly, sadly no wasm vm has good linkage to c++
15:24
Exposing host functions is a pain when there is no stable api
15:25
I also looked into having a native plugin api that allows you to also run something like a lua interpreter, but the overhead seems too much
15:26
Something like modlua and modperl in weechat
Avatar
Well there is a proposed standard api. Not sure how stable it is though. Wasmtime implements it I think
15:27
Wasm C API prototype. Contribute to WebAssembly/wasm-c-api development by creating an account on GitHub.
Avatar
C api is workable but the c++ one seems to be pretty incapable
Avatar
ChillerDragon 2019-09-28 15:35:47Z
Any one on debian10? @jao ? And got a fix for the graphics bug when tabbing back into ddnet after latest debian update. Resolution gets worse and it tabs in and out 3 times.
Avatar
@ChillerDragon have you tried debugging it? 😛
Avatar
Previously, this was only doable with frame-perfect input if you were going to get frozen again the next tick. Now, you only have to hold your hammer to immediately hammer once you get unfrozen. This fixes that "deepfly" (flying with deep-frozen dummy, binding both main and dummy tee hammers onto the same key) does not only work for good connection.
Exported 64 message(s)