Guild icon
DDraceNetwork
Development / developer
Development discussion. Logged to https://ddnet.org/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 2024-07-26 00:00 and 2024-07-27 00:00
Avatar
chillerdragon BOT 2024-07-26 00:09
No insults for being a botter?
Replying to @louis yeah they give so many compliments if you hard carry lmao
00:09
Indonesia
Replying to @Ryozuki ur in the usa?
Avatar
ws-client BOT 2024-07-26 02:22
<ChillerDragon> @MilkeeyCat apparently not the same ._.
02:23
<ChillerDragon> mov rax, [SIZEOF_SOCKADDR] segfaults while lea rax, SIZEOF_SOCKADDR does not tee_thinking
Avatar
ws-client BOT 2024-07-26 02:54
<ChillerDragon> eh so lea is get reference and brackets is dereference. So its basically opposite not same xd. pointers in C are easier -.- here some good SO https://stackoverflow.com/a/25824111
Given the following code: L1 db "word", 0 mov al, [L1] mov eax, L1 What do the brackets in [L1] represent? This question is specifically about NASM. The other...
Avatar
You have been banned for 10 minutes vpn , I don't use VPN what should I do?
Avatar
make an admin mail ticket
05:00
i guess
05:00
#✉-create-a-ticket
Avatar
Avatar
meloƞ
make[2]: *** No rule to make target 'release/libddnet_engine_shared.a', needed by 'DDNet.exe'. Stop. make[1]: *** [CMakeFiles/Makefile2:500: CMakeFiles/game-client.dir/all] Error 2 make: *** [Makefile:156: all] Error when building using cmake .. -G"Unix Makefile" && make j(30) on windows rust toolchain is stable-x86_64-pc-windows-msvc python --version: 3.12.3 why is it always libddnet_engine_shared bullying me? - (edited)
howd you fix this?
Avatar
MilkeeyCat 2024-07-26 05:05
chillerdragon: did u fix?
05:06
Coz i did 😏
05:11
If i understood correctly it was because u had db here https://github.com/ChillerDragon/teeworlds-asmr/blob/2050b2bb80e70de58ad7a86e62db399345b564e6/src/teeworlds_asmr.asm#L98 but recvfrom takes pointer to an int, so it was overwriting ADDR_LOCALHOST
teeworlds client in x86 64 assembly wot? nasm asm asmr! - ChillerDragon/teeworlds-asmr
Avatar
ws-client BOT 2024-07-26 05:37
<ChillerDragon> No i did not fix it o.O
05:37
<ChillerDragon> poor ppl being banned for vpn falsely what changed? are more servers vpn protected now or is the blacklist stricter?
05:38
<ChillerDragon> @MilkeeyCat so whats the fix?
05:38
<ChillerDragon> ah "db" is only one byte and the int is 4 bytes?
Avatar
MilkeeyCat 2024-07-26 05:38
Ye, just slap dw there
Avatar
ws-client BOT 2024-07-26 05:38
<ChillerDragon> oh lol i tried SIZEOF_SOCKADDR db 128, 0, 0, 0
05:38
<ChillerDragon> xd
05:41
<ChillerDragon> how long did it take you @MilkeeyCat ?
Avatar
MilkeeyCat 2024-07-26 05:41
A few hours pepeW
Avatar
ws-client BOT 2024-07-26 05:41
<ChillerDragon> amazing thanks for this
Avatar
MilkeeyCat 2024-07-26 05:41
Until I accidentally commented out last 2 args to recvfrom xd
05:41
And it worked
Avatar
ws-client BOT 2024-07-26 05:42
<ChillerDragon> i also spend a few hours on a similar path xd but not sure if i would have actually found it
05:42
<ChillerDragon> since i half ruled out that idea since for me the 4 byte allocation did not work
05:42
<ChillerDragon> poggers2 your fix works perfectly for me! thank you so much @MilkeeyCat
05:43
<ChillerDragon> so does my attempt btw -.- xd SIZEOF_SOCKADDR db 128, 0, 0, 0
05:43
<ChillerDragon> but when i tried it i must have had introduced a new bug at the time xd
Avatar
MilkeeyCat 2024-07-26 05:44
Why is it even 128?
05:44
Me no understand
Avatar
ws-client BOT 2024-07-26 05:44
<ChillerDragon> ye same
05:44
<ChillerDragon> did you see the comments?
05:44
<ChillerDragon> should be 16 thats what it is on my machine
05:44
<ChillerDragon> tw uses 128 tho
05:45
<ChillerDragon> and i found i think a even higher number in the source code of the ruby programming language
05:45
<ChillerDragon> better safe than sorry
05:45
<ChillerDragon> maybe there is some space for ipv6 and nsa backdoor
Avatar
MilkeeyCat 2024-07-26 05:45
Ok, if it works then it's fine for me xd
Avatar
ws-client BOT 2024-07-26 05:46
<ChillerDragon> if recvfrom wants to write 128 bytes it can idk
05:46
<ChillerDragon> i got enough ram
05:46
<ChillerDragon> 16 probably works too xd
05:46
<ChillerDragon> but maybe its not as portable
Avatar
MilkeeyCat 2024-07-26 05:46
GitHub influences earn a lot
Avatar
ws-client BOT 2024-07-26 05:47
<ChillerDragon> ofc every 10 commits i make has a placement
05:47
<ChillerDragon> i can buy all the ram
05:48
<ChillerDragon> git commit -m "Raid Shadow..
05:51
<ChillerDragon> I wonder if i will ever be able to spawn a tee using assembly
Avatar
MilkeeyCat 2024-07-26 05:52
you got it xd
05:52
just check sizes u pass 10 times 😄 (edited)
Avatar
ws-client BOT 2024-07-26 05:52
<ChillerDragon> It feels like the hard part is done xd
Avatar
MilkeeyCat 2024-07-26 05:54
chilllerdragon: ill try to spawn a tee in my programming language xd
Avatar
ws-client BOT 2024-07-26 05:56
<ChillerDragon> that would be epic
Avatar
Avatar
ws-client
<ChillerDragon> I wonder if i will ever be able to spawn a tee using assembly
What?
Avatar
MilkeeyCat 2024-07-26 06:46
to connect it to ddnet server?
Avatar
ws-client BOT 2024-07-26 07:22
<ChillerDragon> eh @MilkeeyCat db is 2 bytes i changed it to dd for 4 bytes to match a C int
07:24
<ChillerDragon> @Learath2 ye as milkeey said join a server. What ever the definition of "join" or "connect" is idc. It gets interesting and nice to show off as soon as there is a tee visible in the world.
Avatar
MilkeeyCat 2024-07-26 07:25
chillerdragon: can you send source where you found that db is 2 bytes?
Avatar
ws-client BOT 2024-07-26 07:25
<ChillerDragon> i just realized while watching tsoding vid
07:26
<ChillerDragon> he is walking man page
07:26
<ChillerDragon> i double checked here https://stackoverflow.com/a/10168788
I don't know what all the db, dw, dd, things mean. I have tried to write this little script that does 1+1, stores it in a variable and then displays the result. Here is my code so far: .386 .model ...
07:26
<ChillerDragon> > DD - Define double word. Generally 4 bytes on a typical x86 32-bit system
07:26
<ChillerDragon> > DW - Define Word. Generally 2 bytes on a typical x86 32-bit system
07:26
<ChillerDragon> im on 64 bit idk if its double there
07:26
<ChillerDragon> maybe dw was already enough
07:32
<ChillerDragon> @MilkeeyCat ah i did typo xd i mean dw is 2 bytes. Thats the thing you suggested right? But we need 4 bytes
Avatar
MilkeeyCat 2024-07-26 07:32
ok, i have skill issues
07:32
my bad xd
07:33
but hey, it worked xdd
Avatar
ws-client BOT 2024-07-26 07:33
<ChillerDragon> i didnt check the memory
07:33
<ChillerDragon> i assume the 2 less bytes overwritten were good enough xd
07:33
<ChillerDragon> nobody needs the first two bytes of the address struct xd
07:34
<ChillerDragon> ehm thats AF_INET should have broke it if you ask me
07:34
<ChillerDragon> unless the thing it overwrote with was also AF_INET xd
Avatar
Avatar
zaerin
is this apk safe
Jupstar ✪ 2024-07-26 07:39
no i added virus
07:42
i simply wanted to make clear, that if you use this app, you know what you are doing. for example you cannot install the release version when it's done, bcs you have to manually uninstall the old version.
07:42
this is only a test version for ppl that want to try it out, it should not be spread as the real version
Avatar
Avatar
Matodor
from which version character input targetpos (TargetX/TargetY) sended to server with zoom? (i mean 1 or 2 years ago targetpos was screenspace not worldspace) (edited)
#7863
Avatar
Fixes hook collision line being slightly incorrect when aiming in the middle of the screen. Bug from #7512 Before 2024-01-26.23-14-56.mp4 After ...
Avatar
Avatar
Jupstar ✪
this is only a test version for ppl that want to try it out, it should not be spread as the real version
ppl don't care obviously troll
Avatar
i need a nice idea for a simple compiled language
Avatar
Avatar
Ryozuki
i need a nice idea for a simple compiled language
make lang for teeui
07:51
as lerato suggested
Avatar
that probs wouldnt be compiled with llvm
07:52
what does it need
Avatar
it should be compiled to some byte code that we could translate on both client and server side without any headache
Avatar
ok thats ez
07:55
so what are the things it needs
07:55
also if u ask me u know it will be in rust
07:56
some instructions like draw rect at x coords, draw a button, event etc?
Avatar
simple declarative language that looka like literally ui code in tw
Avatar
Avatar
Ryozuki
some instructions like draw rect at x coords, draw a button, event etc?
hsplit vsplit drawquads etc
Avatar
i havent dabbled.much in "UI languages"
Avatar
Avatar
Ryozuki
i havent dabbled.much in "UI languages"
you should take a look in client ui code then justatest
Avatar
give me a syntax example
Avatar
i did, i documented the hsplit, etc methods
Avatar
Avatar
Jupstar ✪
this is only a test version for ppl that want to try it out, it should not be spread as the real version
aaand 1000 people installed it
07:59
ok u gave me a nice side project
07:59
ill look into it
Avatar
thanks to lerato
08:00
big brain
08:00
bigd
Avatar
nah thats just a example
08:02
im biased and hate lua Style langs
08:02
ill change the syntax
08:03
but since it will be bytecode there can be diferent lang syntax that compile to the samw bytecode
08:03
ill design the bytecode too
Avatar
Avatar
Jupstar ✪
this is only a test version for ppl that want to try it out, it should not be spread as the real version
thanks 👍
Avatar
ws-client BOT 2024-07-26 08:21
<ChillerDragon> lua pog
Avatar
Jupstar ✪ 2024-07-26 08:21
wasm epyc
Avatar
archimede67 2024-07-26 08:21
@timakro Is it possible to update trashmap server version? It is still on 16.2.2
Avatar
Jupstar ✪ 2024-07-26 08:23
chillerdragon: do you plan to run a ddnet server for longer than 292 years at once, without restarting?
Avatar
Avatar
Ryozuki
ill design the bytecode too
Careful. I don’t think heinrich liked my idea very much 😄
08:35
Also I love the proportional space partitioning approach to UI. But idk if people like designing UIs like that. Perhaps you should think about whether you can work in some absolute sizing/positioning too
Avatar
Jupstar ✪ 2024-07-26 08:43
let's face the truth, it's time for electron
Avatar
Jupstar ✪ 2024-07-26 08:45
yep
08:46
lea rath, 2
Avatar
ah is this the custom mod ui topic
Avatar
Does anyone know whether there is a shorter sequence that achieves this? git checkout -b mybranch git commit git checkout -b tmp origin/main git cherry-pick mybranch git branch -D mybranch git branch -M tmp mybranch
08:49
The issue is that the original commits got rebased so I can't rebase mybranch directly, it won't just figure out that only 1 commit really happened
Avatar
Jupstar ✪ 2024-07-26 08:49
git stash or what
08:50
whenever i have annoying open stuff git stash do other stuff git stash apply
08:50
but maybe i read your thing wrong xd
Avatar
I have branch A with ten new commits on top of main. I have branch B with two new commits on top of A. A gets rebase merged into main. Now I need to rebase B onto the new main. However git is too dumb to figure out that the commits in main are from A, since they got rebased. So I have to create a temporary branch from main, cherry B~ and B on top, then rename this new tmp branch to B
Avatar
Avatar
Jupstar ✪
whenever i have annoying open stuff git stash do other stuff git stash apply
btw, I started stashing less since I found out about git worktree it's quite nice. I have some branches permanently checed out in their own folders
Avatar
Avatar
Learath2
I have branch A with ten new commits on top of main. I have branch B with two new commits on top of A. A gets rebase merged into main. Now I need to rebase B onto the new main. However git is too dumb to figure out that the commits in main are from A, since they got rebased. So I have to create a temporary branch from main, cherry B~ and B on top, then rename this new tmp branch to B
Jupstar ✪ 2024-07-26 08:55
mh that surprises me then.. i can simply fetch the new upstream and rebase
08:56
i never had conflicts even if the commits did not have the same hash
Avatar
For ddnet we don't do rebase merges, that makes it very easy
08:56
For this repo we use at work I have no idea wtf is going on but the double rebase that happens confuses git very much
08:58
fwiw B~ and B cleanly apply on top of the new main, but git rebase just tries to apply all 12 commits, which keeps giving conflicts because you are trying to apply a diff that has already been applied
Avatar
Jupstar ✪ 2024-07-26 09:04
game master
Avatar
gigamind
Avatar
Avatar
Learath2
For ddnet we don't do rebase merges, that makes it very easy
Jupstar ✪ 2024-07-26 09:06
i second of google revealed: https://stackoverflow.com/a/59661816 (edited)
In a project I work on there's a weird system in which I can essentially feed in new commits to be appended to master. Instead of commiting the patches as they are put in, they're slightly modified...
Avatar
Aha, --onto that's what I'm looking for
09:08
And the rebase manual has very good examples too, I should have just RTFM
Avatar
Jupstar ✪ 2024-07-26 09:10
nais, getting one step closer
Avatar
I think onto isn't enough as one of the rebase changes makes the commit too different for git to recognize
Avatar
Avatar
Learath2
I think onto isn't enough as one of the rebase changes makes the commit too different for git to recognize
Jupstar ✪ 2024-07-26 09:17
:c, do i have to ask chatgpt for you? 😬
Avatar
Avatar
Jupstar ✪
:c, do i have to ask chatgpt for you? 😬
Well it did help, I just add an -i along with the onto, then I drop the commit I think is duplicated
09:18
It's much easier than marking all commits drop than marking just a handful that are too different
Avatar
Jupstar ✪ 2024-07-26 09:18
nice
09:18
gpt used a temp branch indeed xd
09:19
otherwise it uses -i on the rebase directly
Avatar
Avatar
Jupstar ✪
nais, getting one step closer
i fw that top font heavy
09:46
i love debug info on my own lang
Avatar
MilkeeyCat 2024-07-26 09:49
how much of that llvm provides?
Avatar
Avatar
Learath2
Does anyone know whether there is a shorter sequence that achieves this? git checkout -b mybranch git commit git checkout -b tmp origin/main git cherry-pick mybranch git branch -D mybranch git branch -M tmp mybranch
heinrich5991 2024-07-26 09:54
how about simply deleting the duplicate commits in the git rebase -i?
Avatar
Avatar
heinrich5991
how about simply deleting the duplicate commits in the git rebase -i?
Without the onto I was getting too many
Avatar
chillerdragon BOT 2024-07-26 10:15
No I am planning to die in the next 50 years already so 292 sounds long enough to me.
Replying to @Jupstar ✪ chillerdragon: do you plan to run a ddnet server for longer than 292 yea…
Avatar
planned obsolescence
10:16
classic
Avatar
I'm having some weird connection issues here, periodically it'll just randomly load websites extremely slowly, almost as if it's powersaving misbehaving or sth
Avatar
chillerdragon BOT 2024-07-26 10:32
Yes me too
10:33
Average island internet for me hehe
Avatar
Turned off power management for a bit, let me see if that helps
Avatar
chillerdragon BOT 2024-07-26 10:46
@Learath2: have you tried using windows? I was told it just works
Avatar
it just works but is shit
Avatar
chillerdragon BOT 2024-07-26 10:47
xd
10:52
man linkers have so many configs
10:52
"driving" a linker in a compiler is some plumber work shit
10:54
A library to setup the arguments to call a linker. Contribute to edg-l/linkit development by creating an account on GitHub.
Avatar
GitHub BOT 2024-07-26 11:01
80346a4 Dilate skins automatically before uploading to the database - Jupeyy
Avatar
Avatar
GitHub
Click to see attachment 🖼️
Jupstar ✪ 2024-07-26 11:03
@louis now you just have to convince an admin to update
11:03
and then test if it works xd
11:03
i tested dilate locally, but too lazy to setup the whole bot again
Avatar
chillerdragon BOT 2024-07-26 11:06
When continuous discord bot deployment on new git commits
11:08
It’s as easy as writing your kubernetes operator in go and 90 yaml files. Or use a bash oneliner while :; do git pull && sleep 1m; done
Avatar
Jupstar ✪ 2024-07-26 11:09
yeah, pls write a script chiller
11:09
create some bash scripts for the eternity
Avatar
chillerdragon BOT 2024-07-26 11:10
Already did
11:10
ddnet++ infrastructure is in bash
11:10
It boils down to the oneliner I sent and it just works
Avatar
Jupstar ✪ 2024-07-26 11:10
xddd
Avatar
chillerdragon BOT 2024-07-26 11:10
Ok tbh it’s full of bugs and like 5k lines
11:11
Sadly ddnet infrastructure is closed source
Avatar
Jupstar ✪ 2024-07-26 11:12
ddnet infrastructure is old af anyway
11:12
better dont use it
11:12
write a new clean one
Avatar
chillerdragon BOT 2024-07-26 11:12
No it’s nice
11:12
Better than kog
Avatar
Jupstar ✪ 2024-07-26 11:12
lmao
11:12
maybe less often down for maintance
Avatar
chillerdragon BOT 2024-07-26 11:13
k8 ass
Avatar
Jupstar ✪ 2024-07-26 11:13
but i bet avo used some epyc electron proofed supervised ultra epyc containers
11:13
that just magically work
11:13
after you installed 200gb of programms so the containers can be parsed
Avatar
chillerdragon BOT 2024-07-26 11:13
Magic plus lots of work
11:14
Blazingly fast Gaming through 7 go proxies
11:14
Gotta have those grafana boards for Kirby game
Avatar
[build] mingw32-make[3]: Waiting for unfinished jobs.... [build] [ 98%] Building RC object CMakeFiles/game-client.dir/other/manifest/client.rc.obj [build] mingw32-make[2]: [CMakeFiles\Makefile2:499: CMakeFiles/game-client.dir/all] Error 2 [build] mingw32-make[1]: [CMakeFiles\Makefile2:506: CMakeFiles/game-client.dir/rule] Error 2 [build] mingw32-make: [Makefile:331: game-client] Error 2 [proc] The command: C:\msys64\ucrt64\bin\cmake.EXE --build c:/Users/QuzzWithDev/Documents/ddnet/build --config Debug --target game-client -j 8 -- exited with code: 2 [driver] Build completed: 00:02:09.798 [build] Build finished with exit code 2 i build ddnet error
11:17
Avatar
Avatar
Quz2z
Click to see attachment 🖼️
scroll up, the error is probably higher
11:19
[build] mingw32-make[3]: *** No rule to make target 'debug/libddnet_engine_shared.a', needed by 'DDNet.exe'
Avatar
Avatar
Quz2z
[build] mingw32-make[3]: *** No rule to make target 'debug/libddnet_engine_shared.a', needed by 'DDNet.exe'
this
11:19
how to fix (edited)
11:22
how to fix it
Avatar
Avatar
Jupstar ✪
@louis now you just have to convince an admin to update
tysm
11:23
@murpi can u update skin bot?
Avatar
Avatar
Quz2z
Click to see attachment 🖼️
Jupstar ✪ 2024-07-26 11:24
rustup target add x86_64-pc-windows-gnu installed?
Avatar
no i go to install
Avatar
Hi
Avatar
Avatar
Jupstar ✪
rustup target add x86_64-pc-windows-gnu installed?
install done try again?
Avatar
Avatar
Quz2z
install done try again?
Jupstar ✪ 2024-07-26 11:27
yes
11:27
11:27
is not work
Avatar
Jupstar ✪ 2024-07-26 11:28
maybe remove build dir and try again
11:28
else i dunno,wait for some dev with windows
11:28
i remember you had to manually copy some stuff or smth like that
Avatar
i use git clone --recursive https://github.com/ddnet/ddnet
Avatar
@Jupstar ✪ Thanks for updating the bot
11:29
@louis done
Avatar
Avatar
Jupstar ✪
maybe remove build dir and try again
i try this
Avatar
@Jupstar ✪ heres the big question, now if i go back to the channel and re-upload some skins that werent previously dilated, will the bot rewrite them in the db with the dilated version
11:31
assuming the auto dilate works
Avatar
Avatar
louis
@Jupstar ✪ heres the big question, now if i go back to the channel and re-upload some skins that werent previously dilated, will the bot rewrite them in the db with the dilated version
Jupstar ✪ 2024-07-26 11:31
try it out
11:31
do you know a skin that isnt dilated?
11:31
i think the toast once arent
Avatar
skeith sent me a bunch of names earlier
Avatar
Jupstar ty for the ping (i'd had miss it) :)
11:32
does work
Avatar
Avatar
Quz2z
Click to see attachment 🖼️
Jupstar ✪ 2024-07-26 11:35
@Robyt3 what was the trick again on windows
Avatar
Avatar
Quz2z
does work
heinrich5991 2024-07-26 11:35
rustc --version --verbose please
Avatar
Avatar
Jupstar ✪
@Robyt3 what was the trick again on windows
MilkeeyCat 2024-07-26 11:35
install linux santatrollet
😏 1
Avatar
heinrich5991 2024-07-26 11:36
not helpful
Avatar
chillerdragon BOT 2024-07-26 11:36
It actually is helpful
Avatar
Jupstar ✪ 2024-07-26 11:36
it is sad that cross compile to windows from linux is easier tho 😂
Avatar
chillerdragon BOT 2024-07-26 11:37
The process is easier on Linux and not everyone knows that Linux exists
Avatar
I don't know if compiling with mingw+ucrt even works
11:38
msys2*
11:38
I'd either use MSYS2+MinGW64 or Visual Studio separately
Avatar
Jupstar ✪ 2024-07-26 11:38
@Quz2z ^
11:39
try the mingw64 shell
Avatar
Avatar
chillerdragon
The process is easier on Linux and not everyone knows that Linux exists
Disagree
Avatar
And set the correct rust toolchain, either x86_64-pc-windows-gnu with mingw, or x86_64-pc-windows-msvc with Visual Studio
Avatar
Wait i try
Avatar
heinrich5991 2024-07-26 11:42
rustup default x86_64-pc-windows-gnu or rustup default x86_64-pc-windows-msvc, I think
11:42
to set the toolchain
11:49
not a package
Avatar
Avatar
heinrich5991
rustup default x86_64-pc-windows-gnu or rustup default x86_64-pc-windows-msvc, I think
this
Avatar
heinrich5991 2024-07-26 11:52
try rustup default stable-x86_64-pc-windows-gnu
Avatar
Avatar
Robyt3
I don't know if compiling with mingw+ucrt even works
It does. I did it many a time before
Avatar
Avatar
heinrich5991
try rustup default stable-x86_64-pc-windows-gnu
installed
11:57
Can someone tell me what I should do now?
Avatar
heinrich5991 2024-07-26 11:58
can you try the build again?
Avatar
Avatar
Quz2z
Click to see attachment 🖼️
retry I think
Avatar
heinrich5991 2024-07-26 11:58
remove the build directory first though
Avatar
i try again
12:02
Work
12:02
Thx
12:02
Thanks to everyone who helped me
Avatar
heinrich5991 2024-07-26 12:04
chillerdragon: I dare say this was easier than installing linux
Avatar
chillerdragon BOT 2024-07-26 12:05
Yes installing Linux is hard
12:05
But then everything is easier
12:06
Installing WSL is fool proof tho :p
12:06
It’s just not gaming ready
Avatar
Avatar
chillerdragon
Yes installing Linux is hard
chose archinstall
pepeW 1
Avatar
chillerdragon BOT 2024-07-26 12:07
But I would also say installing windows is hard
Avatar
It's very VERY easier than linux, if I may say :d
Avatar
Avatar
chillerdragon
But I would also say installing windows is hard
true
Avatar
chillerdragon BOT 2024-07-26 12:08
If you buy a laptop with Linux on it you can compare it to windows
monkaStop 1
Avatar
heinrich5991 2024-07-26 12:08
it often comes preinstalled
Avatar
dunno if troll conversation or should keep arguing.
Avatar
chillerdragon BOT 2024-07-26 12:09
Imo the hardest part is making a bootable stick selecting right drives. Finding the boot menu and so on. From then onwards it’s just clicking through installers. Choosing a language and so on. On windows 10 you get like a zillion questions. People do rage quit windows installs
Replying to @HamidReza It's very VERY easier than linux, if I may say :d
Avatar
installing linux aint hard, using it is though
Avatar
chillerdragon BOT 2024-07-26 12:10
Disagree
Avatar
heinrich5991 2024-07-26 12:10
let's call it a troll conversation. please don't tell people to "just install linux" when they come with tech support questions
Avatar
chillerdragon BOT 2024-07-26 12:10
What’s hard about using it @louis
12:10
Or what’s different than windows even
Avatar
heinrich5991 2024-07-26 12:11
please go to #off-topic for the common flame wars
Avatar
nothing, that's why windows is basically the same as windows
12:11
so no need to install it
Avatar
chillerdragon BOT 2024-07-26 12:11
I use emacs BTW
Avatar
cuz everything is the same
12:11
as linux
12:11
I meant to say
Avatar
Avatar
jxsl13
nothing, that's why windows is basically the same as windows
here
Avatar
you just notice a lot of small thingies that annoy you that aren't as difficult to fix in more 'consumer' os ChillerDragon
12:12
i guess that falls into installing linux though, not exactly using it
Avatar
heinrich5991 2024-07-26 12:12
#off-topic
Avatar
Avatar
Tater
howd you fix this?
i switched to msys2 and mingw64 toolchain
12:13
takes like 5 minutes
Avatar
Avatar
heinrich5991
let's call it a troll conversation. please don't tell people to "just install linux" when they come with tech support questions
MilkeeyCat 2024-07-26 12:14
i didn't reply to the guy, i wrote to jupppey :p
Avatar
There is one weird thing about rust and msys2, you (technically, in practicality it's usually fine) should be using the msys2 linker in ucrt
Avatar
why doesnt whathever default the guy had not work?
Avatar
heinrich5991 2024-07-26 12:25
-msvc toolchain vs -gnu toolchain
12:26
they don't interoperate
12:26
we should detect this in the CMakeLists.txt
12:26
Gives error messages like C:\Program Files\JetBrains\CLion 2023.3.1\bin\mingw\bin/ld.exe: cannot find debug/libddnet_engine_shared.a: No such file or directory Running rustup default stable-x86_64-...
Avatar
heinrich5991 2024-07-26 12:38
prefix: there used to be a time where hosters charged per DB used ^^
Avatar
Jupstar ✪ 2024-07-26 12:38
i see that is usese "backup"
Avatar
heinrich5991 2024-07-26 12:38
postfix: probably fixing some problem of duplicate/not recorded ranks
Avatar
Jupstar ✪ 2024-07-26 12:39
ok, but yeah i think i'll port it by moving that part to per database if it's really needed
Avatar
heinrich5991 2024-07-26 12:39
which part?
Avatar
Jupstar ✪ 2024-07-26 12:39
the pre and postfixes can simply be a different database if somebody needs that
Avatar
heinrich5991 2024-07-26 12:40
I think the postfix thing is used in the code
Avatar
Jupstar ✪ 2024-07-26 12:40
it makes all queries much harder to read
Avatar
Avatar
heinrich5991
I think the postfix thing is used in the code
Jupstar ✪ 2024-07-26 12:40
then i simply dont port that code xd
12:40
if it has any sense it can simply get a new db connection
Avatar
heinrich5991 2024-07-26 12:41
I'd guess it's used to solve a problem. this means you'll have to understand the problem and solve it yourself again
12:41
if you don't do that, you'll create a bug
Avatar
Jupstar ✪ 2024-07-26 12:42
that's a bold claim in the code it is used for a backup sqlite apparently
Avatar
heinrich5991 2024-07-26 12:42
Fixes #4424 Immediately store all ranks/teamranks/saves in separate tabel (suffixed with _backup) in sqlite remove the rank if mysql succeeds move the rank to non-_backup table when failed loading...
12:42
this looks relevant
Avatar
Jupstar ✪ 2024-07-26 12:44
and still, it can simply use a backup database
12:44
there is no reason to bloat all queries
Avatar
heinrich5991 2024-07-26 12:44
I just want to make sure you're not adding bugs by dropping "unused code"
Avatar
Jupstar ✪ 2024-07-26 12:44
i never said unused or anything else
12:45
i asked for the reason we do it with post & prefixes in the queries
12:45
you said there was a time where dbs were expensive
12:45
i accept that as argument
12:45
i just dont like it
12:45
end
Avatar
heinrich5991 2024-07-26 12:45
hm. I stated two different things, one for prefixes and one for postfixes
12:46
you addressed the prefix, I agree that it can probably be dropped
12:46
the postfix though is used to make ranks more durable
12:46
and I wanted to say that if you remove the postfixes, you'll need to think about how to maintain that property
Avatar
Jupstar ✪ 2024-07-26 12:47
it's used in sqlite.. can aswell be a second db maybe a second db is even safer than using the same db with a second table
Avatar
heinrich5991 2024-07-26 12:47
I have no problem with you replacing it with something equally good
Avatar
Jupstar ✪ 2024-07-26 12:47
nice
12:48
i have no idea why queries in our version fail anyway
12:48
do we have examples?
12:48
i mean in mysql ofc if the connection drops
12:48
but other than that
Avatar
Hey , i have an issue with compiling ddnet source on termux aarch64 linux (android) ~/DDNet-18.4/build $ make game-server [ 12%] Built target game-shared [ 12%] Built target json [ 15%] Built target rust-bridge-shared
Avatar
Avatar
Tarot
Hey , i have an issue with compiling ddnet source on termux aarch64 linux (android) ~/DDNet-18.4/build $ make game-server [ 12%] Built target game-shared [ 12%] Built target json [ 15%] Built target rust-bridge-shared
Jupstar ✪ 2024-07-26 12:49
can you post the error
Avatar
Ok w8
12:51
Pastebin.com is the number one paste tool since 2002. Pastebin is a website where you can store text online for a set period of time.
Avatar
cc: error: no such command: `ndk` Did you mean `add`? View all installed commands with `cargo --list` Find a package to install `ndk` with `cargo search cargo-ndk` make[3]: *** [CMakeFiles/rust_engine_shared_target.dir/build.make:86: release/libddnet_engine_shared.a] Error 101
Avatar
Jupstar ✪ 2024-07-26 12:52
did u follow the android script readme?
Avatar
Cant install cargo-ndk on android
Avatar
Jupstar ✪ 2024-07-26 12:53
then you have to report that to rust i guess?
Avatar
I just want ddnet server
Avatar
it's a needed dependency, you can't build the applications without it, why can't you install it? (edited)
Avatar
heinrich5991 2024-07-26 12:57
wait. are you compiling on android? or only for android?
Avatar
Pastebin.com is the number one paste tool since 2002. Pastebin is a website where you can store text online for a set period of time.
Avatar
chillerdragon BOT 2024-07-26 13:00
He is on android I assume since he mentioned termux
Avatar
cc²: Compiling cargo-ndk v3.5.4 error: You cannot build cargo-ndk _for_ Android. Build it for your host OS and run it with cargo. --> /data/data/com.termux/files/home/.cargo/registry/src/index.crates.io-6f17d22bba15001f/cargo-ndk-3.5.4/src/cargo.rs:21:1 | 21 | / compile_error!( 22 | | "You cannot build cargo-ndk _for_ Android. Build it for your host OS and run it wi...23 | | ); | |_^ error: could not compile `cargo-ndk` (lib) due to 1 previous error warning: build failed, waiting for other jobs to finish... error: failed to compile `cargo-ndk v3.5.4`, intermediate artifacts can be found at `/data/data/com.termux/files/usr/tmp/cargo-installAGgmG5`.
Avatar
Compiling on android @heinrich5991
Avatar
For which target are you compiling? Compiling for Android on Android is not possible AFAIK.
Avatar
game-server
Avatar
Avatar
Tarot
game-server
I mean on which system the executable is supposed to run
Avatar
termux aarch64 linux (android)
Avatar
Ah , on android
Avatar
I don't think that's possible
Avatar
heinrich5991 2024-07-26 13:05
I don't think we support building on android
Avatar
chillerdragon BOT 2024-07-26 13:05
I am not sure if ddnet can do much about it
13:05
Sounds like a termux responsibility
Avatar
I compiled teeworlds 0.6.x correctly and i can run that server now.
Avatar
chillerdragon BOT 2024-07-26 13:05
Such a cursed system
13:06
rust •.•
Avatar
heinrich5991 2024-07-26 13:06
ah, I guess compiling the server on android for android could work
13:06
since it's just another linux system
13:06
but it's probably obstructed by our client support for android
Avatar
chillerdragon BOT 2024-07-26 13:07
It’s cursed Linux plus cursed Linux
Avatar
yeah, it shouldn't use cargo-ndk on Android I guess
Avatar
chillerdragon BOT 2024-07-26 13:07
Android is Linux but somehow it needs termux to be even more Linux xd
Avatar
Is it different between cargo ndk and android-ndk-r26b build-ndk ?
13:10
Chiller me :)
Avatar
cargo ndk is specifically designed to build rust applications, android-ndk-r26b seems to be more generic towards C / C++ source: 2min google session
Avatar
ln -s /data/data/com.termux/files/home/android-ndk-r26b/ndk-build /data/data/com.termux/files/usr/bin/cargo-ndk error gone but hang on [ 15%] Generating release/libddnet_engine_shared.a
13:17
I changed this line /data/data/com.termux/files/usr/bin/cargo ndk --manifest-path /data/data/com.termux/files/home/DDNet-18.4/Cargo.toml -t -p build --release
Avatar
Jupstar ✪ 2024-07-26 13:22
@Zwelf so ranks are immediately saved to a sqlite database, (where writing to sqlite and mysql at the same time will probably be easy in rust thanks to async). Do you think it's actually worth to have a third database? Why wouldn't you simply always write to the sqlite database (similar to what is now done in the backup table). I can only imagine the risk of having duplicate ranks, but is that really a huge problem? shouldnt it be easy to detect it with a timestamp or smth. Or was it mostly bcs it was easier to deal with like that?
13:25
you also mentioned mostly the reason for the backup table to exist: to prevent double loading, which is probably related. but not clear from the PR what exactly you did here with the backup table to improve that
Avatar
Avatar
Jupstar ✪
@Zwelf so ranks are immediately saved to a sqlite database, (where writing to sqlite and mysql at the same time will probably be easy in rust thanks to async). Do you think it's actually worth to have a third database? Why wouldn't you simply always write to the sqlite database (similar to what is now done in the backup table). I can only imagine the risk of having duplicate ranks, but is that really a huge problem? shouldnt it be easy to detect it with a timestamp or smth. Or was it mostly bcs it was easier to deal with like that?
You know what would be cool? A durable messaging infrastructure that can take responsibility for these messages and transparently handling all the failsafes and once delivery guarantees
Avatar
heinrich5991 2024-07-26 13:32
wouldn't be better than what we currently have, I think
13:32
currently, you can /save and /load while the global DB is offline
Avatar
Jupstar ✪ 2024-07-26 13:34
do we ever structurally do queries on saves currently?
13:34
like select save.cp1 from saves
Avatar
@heinrich5991 are you here ?
Avatar
Jupstar ✪ 2024-07-26 13:34
i wonder if we can make that easier too
Avatar
Avatar
Jupstar ✪
like select save.cp1 from saves
heinrich5991 2024-07-26 13:34
no. only on maps/savecodes
Avatar
Avatar
heinrich5991
wouldn't be better than what we currently have, I think
we can have a local fallback consumer too
Avatar
heinrich5991 2024-07-26 13:35
can you elaborate on how that would work?
Avatar
I ask somthing in dm
Avatar
heinrich5991 2024-07-26 13:36
Tarot: DMs don't work
Avatar
chillerdragon BOT 2024-07-26 13:36
?xd CI
Avatar
Irc ?
Avatar
chillerdragon BOT 2024-07-26 13:37
What happend to dms
13:37
Any good irc client for android? Tarot
Avatar
:/
Avatar
heinrich5991 2024-07-26 13:38
ah. this is IRC. can you simply ask the question in this channel?
Avatar
DDNet-irc Client
13:38
:))
Avatar
chillerdragon BOT 2024-07-26 13:39
watafak is ddnet irc client xd
13:39
That runs on android? Xd
Avatar
Avatar
heinrich5991
can you elaborate on how that would work?
Actually now that I think about it this is not a great idea because of race issues :/ I really really really don't want any db implementation in our codebase
Avatar
heinrich5991 2024-07-26 13:41
why not sqlite? I'd like to keep the ability to just start and run a ddnet server
Avatar
It's nasty, engine components being aware of the specifics of the gamemode
Avatar
heinrich5991 2024-07-26 13:43
this mostly says something about our implementation, not about databases
Avatar
Jupstar ✪ 2024-07-26 13:44
you want a dedicated database server (not a direct mysql connection or whatefver) that handles requests in a structured way? Or what did you try to say
Avatar
It would be so much more peaceful if this mess happened somewhere outside, where we don't have to think about threading
Avatar
Jupstar ✪ 2024-07-26 13:44
i dont understand anything u said tbh xd
Avatar
Avatar
Learath2
It would be so much more peaceful if this mess happened somewhere outside, where we don't have to think about threading
heinrich5991 2024-07-26 13:45
code the replacement in rust :p
Avatar
Avatar
Jupstar ✪
you want a dedicated database server (not a direct mysql connection or whatefver) that handles requests in a structured way? Or what did you try to say
A separate piece of software that provides a sane interface where you can insert/remove/get ranks without details of database implementations being inside our codebase
Avatar
Jupstar ✪ 2024-07-26 13:46
sqlx
13:46
xdd
Avatar
heinrich5991 2024-07-26 13:47
it is unclear to me why this is saner than having it inside the codebase
Avatar
It's just simpler to think about and maintain
Avatar
heinrich5991 2024-07-26 13:47
i.e. what's the difference between having an insert/remove/get ranks API inside our code, or an external one
Avatar
Avatar
Learath2
It's just simpler to think about and maintain
heinrich5991 2024-07-26 13:47
I doubt that part. more moving parts with more processes. e.g. the API thing might be offline. what do you do?
Avatar
Avatar
heinrich5991
i.e. what's the difference between having an insert/remove/get ranks API inside our code, or an external one
It can be coded in some other language where it's much more pleasant to interact with a db
13:49
by its central nature it can help alleviate all data consistency issues
Avatar
Jupstar ✪ 2024-07-26 13:49
if it makes you happy.. since i need to support an interface for wasm, i also kinda had to make an abstraction that makes the underlaying logic go away a bit. You still have to write the SQL strings, but other than that it shouldn't bother you so much
Avatar
Avatar
Learath2
It can be coded in some other language where it's much more pleasant to interact with a db
heinrich5991 2024-07-26 13:50
we can use rust inside our codebase, might be a nice use case
Avatar
Avatar
heinrich5991
I doubt that part. more moving parts with more processes. e.g. the API thing might be offline. what do you do?
There'd always be a local instance
Avatar
Avatar
Learath2
by its central nature it can help alleviate all data consistency issues
Jupstar ✪ 2024-07-26 13:50
ah you are mostly about the interaction between sqlite and mysql thing?
13:50
what u dislike
Avatar
Avatar
Jupstar ✪
what u dislike
That's one of the many things I dislike
Avatar
Avatar
Learath2
There'd always be a local instance
heinrich5991 2024-07-26 13:50
and that might be down. what do you do?
Avatar
Jupstar ✪ 2024-07-26 13:50
mhh other than that a mysql-client already is an abstraction isnt it? xd
Avatar
Avatar
heinrich5991
and that might be down. what do you do?
That's why I wanted a message-queue in there somewhere, that'd just take the rank message and store it in it's local buffer
Avatar
Jupstar ✪ 2024-07-26 13:51
like u do a pool of connection and start queries
Avatar
Avatar
Learath2
That's why I wanted a message-queue in there somewhere, that'd just take the rank message and store it in it's local buffer
Jupstar ✪ 2024-07-26 13:51
but that piece of software would also require to "know" when a mysql connection failed
Avatar
Avatar
Learath2
That's why I wanted a message-queue in there somewhere, that'd just take the rank message and store it in it's local buffer
heinrich5991 2024-07-26 13:51
ah yea. that'd work
Avatar
Jupstar ✪ 2024-07-26 13:51
or any kind of network
Avatar
but honestly the local instance being down is only going to happen if there is a bug, there can be a bug in the abstraction we have right now too that can also get it stuck
Avatar
heinrich5991 2024-07-26 13:51
but it requires an external process, which I dislike
Avatar
And you can't restart the sql abstraction part of a ddnet server unlike a separate ranks server
Avatar
Avatar
Learath2
but honestly the local instance being down is only going to happen if there is a bug, there can be a bug in the abstraction we have right now too that can also get it stuck
heinrich5991 2024-07-26 13:52
yes. we want to keep race records in case of bugs ^^ that's the level of durability we have for ranks currently
Avatar
Avatar
heinrich5991
ah yea. that'd work
Jupstar ✪ 2024-07-26 13:52
i dont understand why this actually solves anything tho
Avatar
Avatar
heinrich5991
yes. we want to keep race records in case of bugs ^^ that's the level of durability we have for ranks currently
Do we? A bug in the sqlite implementation means we lose ranks, that's also a possiblity. I'd say it's about the same likelihood that there is a bug in an external service that we code
Avatar
Avatar
Jupstar ✪
i dont understand why this actually solves anything tho
Message queues take responsibility for the messages they route, so after it leaves the gameserver it would be accounted for until properly delivered to the rank-service (edited)
Avatar
Avatar
Learath2
Message queues take responsibility for the messages they route, so after it leaves the gameserver it would be accounted for until properly delivered to the rank-service (edited)
Jupstar ✪ 2024-07-26 13:53
then you can also simply disallow loading saves on sqlite
13:54
that is about the same to me
Avatar
Avatar
Jupstar ✪
then you can also simply disallow loading saves on sqlite
This is exactly what heinrich wants preserved
Avatar
Avatar
Learath2
Do we? A bug in the sqlite implementation means we lose ranks, that's also a possiblity. I'd say it's about the same likelihood that there is a bug in an external service that we code
heinrich5991 2024-07-26 13:54
external services always add higher error rates
Avatar
Avatar
heinrich5991
external services always add higher error rates
Sounds about right, but I'm fairly sure you have no proof of that
Avatar
heinrich5991 2024-07-26 13:55
if we want to change to something like this, we'll need to keep the sqlite3 thing at first
Avatar
Avatar
heinrich5991
if we want to change to something like this, we'll need to keep the sqlite3 thing at first
I wouldn't really bother with it given the reception it has in here
13:56
Maybe one day when I make my own ddnet reimplementation like jupeyy I might explore the possiblity
Avatar
Avatar
Learath2
Maybe one day when I make my own ddnet reimplementation like jupeyy I might explore the possiblity
Jupstar ✪ 2024-07-26 13:56
epyc
Avatar
Avatar
Learath2
Sounds about right, but I'm fairly sure you have no proof of that
heinrich5991 2024-07-26 13:57
I have no proof for that
13:57
but it's what my experience tells me
Avatar
where fax
Avatar
Avatar
heinrich5991
I have no proof for that
I have a similarly sane sounding justification as to why that might not be the case in this instance. It'd still be us coding the "external" service, so it's fair to assume the occurance rate of bugs would be about the same. That leaves only the interprocess communication that can go wrong. How would a unix domain socket even break?
Avatar
maybe the socket doesnt break but u can have bugs in the ipc
14:00
but the advantage of separating maybe means cleaner code and less bugs too
14:01
its a balance
14:01
anyway lets do web scale
14:01
mongodb when
Avatar
I absolutely despise the fact that we are spinning up threads all the way in src/game/server/. Why is such a high level of the code even aware of threading?
Avatar
please don't do messaging queues ._. (nor mongodb). it increases complexity and maintainability by 10x
14:03
or decreases maintainability
Avatar
i love the sarcasm isnt noticed
14:03
xd
Avatar
just ignored
14:03
ice cold
14:03
x)
14:03
I put parenthesis around mongo
Avatar
Avatar
jxsl13
please don't do messaging queues ._. (nor mongodb). it increases complexity and maintainability by 10x
Message queues are such a nice abstraction. It's insanely annoying to consider stuff like reachability at the edge node
Avatar
Jupstar ✪ 2024-07-26 14:04
@Learath2 omg please show me what you want to improve, i am open. your local message queue thing defs sound like smth that is possible, but i wonder how well a generic implementation would work for our use cases. i also want to see how you imagine getting away from spawning tasks
Avatar
xd ops
Avatar
debugging them is tue biggest pain in the butt. I mean if it's just putting data i to a database, it's ok but more than that, it's literally garbage.
14:04
into
Avatar
but message queue or message passing is what google does with golang, it scales the web, memory sharing like rust is bad /s
Avatar
whats bad about mongodb
Avatar
its not even ACID compliant
Avatar
it can be
Avatar
Avatar
Learath2
I absolutely despise the fact that we are spinning up threads all the way in src/game/server/. Why is such a high level of the code even aware of threading?
game/server just needs a huuuge refactor in general xd
Avatar
Avatar
jxsl13
please don't do messaging queues ._. (nor mongodb). it increases complexity and maintainability by 10x
why though
Avatar
btw i agree i dislike the db code, it tried to be modular but it isnt, cuz the syntax is tied to mysql-like
14:06
u cant add psql easily
Avatar
bouncing messages
Avatar
Avatar
jxsl13
debugging them is tue biggest pain in the butt. I mean if it's just putting data i to a database, it's ok but more than that, it's literally garbage.
I respectfully disagree. Getting to abstract away stuff like delivery guarantees and retries is so pleasant
14:09
Currently our servers adopt the fire once, if it's not delivered tough tits approach to message delivery
14:09
It's very enjoyable spending hours fixing inconsistencies and figuring out where in the chain a connection failed and we lost a command
Avatar
Avatar
Learath2
I respectfully disagree. Getting to abstract away stuff like delivery guarantees and retries is so pleasant
Jupstar ✪ 2024-07-26 14:09
i also like that, just the loading saves things doesnt sound easy without a local database in between so your abstraction might end up using a sqlite db too, but abstracts away some details or smth xd
Avatar
dunno the current architecture, so cannot compare.
Avatar
Avatar
Jupstar ✪
i also like that, just the loading saves things doesnt sound easy without a local database in between so your abstraction might end up using a sqlite db too, but abstracts away some details or smth xd
I was imagining something like a local provider of higher priority providing the saves/ranks service. But that only works with writing, with a read idk how the router that's supposed to be message agnostic figure out where to route the read message
Avatar
Avatar
jxsl13
dunno the current architecture, so cannot compare.
Don't compare, just tell me why you don't like message queues and what you'd replace them with instead
Avatar
for simple persistence to db it's ok
14:12
adds a lot of complexity to the code
14:12
transactions and stuff
Avatar
do u have a dire past? (edited)
14:12
some project example
14:12
that went wrong
Avatar
tried to do workflow orchestrstration/coordination with messaging queues 😄
14:13
just moving data is ok
Avatar
i would think of it like a external async engine that processes tasks for you, i dont think its that complex
Avatar
Avatar
jxsl13
tried to do workflow orchestrstration/coordination with messaging queues 😄
"workflow" as in durable execution?
Avatar
for ddnet
14:15
like the job api but externally handled?
14:15
xd
Avatar
kind of, I guess
Avatar
Avatar
Ryozuki
like the job api but externally handled?
Yes, almost like CJobs that can run somewhere else
Avatar
dunno the exact term durable execution. basically what we currently do with temporal.io
Avatar
Yeah, temporal is an implementation of durable execution
14:17
I've found it quite pleasant to work with lately. No real ddnet application though so not useful here 😄
Avatar
this falls into the plan to add more rust code and tie ddnet to rust more PES_EvilHandRub
Avatar
termoral is amazing
14:17
temporal
Avatar
It just would be so nice if the ddnet server would send information about a rank and then just doesn't have to know anything else. Whether the remote write failed, what to fallback to whether the fallback is working, whether we should retry, or not, or what failure is retryable what failure isn't
Avatar
that's out of scope of a messaging queue already
Avatar
All message brokers take responsibility for messages, that already takes care of the "durability". The routing of messages to service providers is the missing part but there are also implementations that dabble in that
Avatar
Is there a single consumer service for ranks?
14:23
where multiple servers send to? or how are the ranks collected?
Avatar
Currently there is no message queue, we try to write to mysql, if it fails we write to sqlite
Avatar
@heinrich5991 do u think a [u32; 4] and a struct wit 4 fields that have type u32 are laid of the same in memory?
Avatar
no multiple servers supported, no further fallback
Avatar
and later on try again?
Avatar
No try again
Avatar
maybe that's the missing part
Avatar
We have deen guaranteed durable execution that pushes ranks from sqlite to mysql at midnight
Avatar
xD deen guaranteed, deen doing that ?
Avatar
Yes, it's much better than temporal
14:25
doesn't sleep
14:25
works 24/7
Avatar
Though perhaps he added a cron nowadays to handle the simple case of the mysql server now being able to access the leaf servers
14:25
a cron which when it fails doesn't log anything or notify anyone probably
Avatar
would suggest to actually introduce some thread for trying to push data to db from sqlite
14:26
way easier and decentralized
Avatar
Idk why we didn't do that, perhaps a data race issue with saves that I'm not remembering right now
Avatar
we do have a similar approach with our monitoring solution for pushing metric data to our event processing once the event processing api is down.
14:28
one could use in process messaging queues
14:29
for pushing data around and having it processed asynchronously
14:30
rabbitmq occasionally needs to be updated as well (edited)
Avatar
Jupstar ✪ 2024-07-26 14:31
mysql for learath is what using global variables is for me xdddd
Avatar
Avatar
Jupstar ✪
mysql for learath is what using global variables is for me xdddd
Maybe we should just store all ranks in a global variable 🤔
Avatar
Avatar
Learath2
I have a similarly sane sounding justification as to why that might not be the case in this instance. It'd still be us coding the "external" service, so it's fair to assume the occurance rate of bugs would be about the same. That leaves only the interprocess communication that can go wrong. How would a unix domain socket even break?
heinrich5991 2024-07-26 14:31
version differences e.g.
Avatar
Avatar
Learath2
Maybe we should just store all ranks in a global variable 🤔
Jupstar ✪ 2024-07-26 14:31
perfect
14:32
global as in the earth global
14:32
global variables
Avatar
Avatar
Learath2
I absolutely despise the fact that we are spinning up threads all the way in src/game/server/. Why is such a high level of the code even aware of threading?
heinrich5991 2024-07-26 14:32
yea, that sounds not nice, but also not related
Avatar
Avatar
Jupstar ✪
perfect
OH, we should hire a record keeper that just watches the logs and writes down the ranks and saves into a huge ledger
Avatar
web3
14:33
AI
Avatar
code a custom client that keeps a tee active on every server and grabs ranks from chat
bigbrain 2
14:33
yw
Avatar
global scale
Avatar
Avatar
Ryozuki
@heinrich5991 do u think a [u32; 4] and a struct wit 4 fields that have type u32 are laid of the same in memory?
heinrich5991 2024-07-26 14:33
not guaranteed unless #[repr(C)]
Avatar
Jupstar ✪ 2024-07-26 14:33
@louis can u try the bot with what we discussed? i dont even see it's commands anymore xd
14:33
just try on the toast skins they are defs not dilated
Avatar
@Jupstar ✪ do you know tokio-rs?
Avatar
i tried doing it on a rly far back skin but the bot broke
Avatar
Avatar
Learath2
@Jupstar ✪ do you know tokio-rs?
Jupstar ✪ 2024-07-26 14:34
the organisation?
Avatar
the uploading msg just disappeared
Avatar
Avatar
louis
the uploading msg just disappeared
Jupstar ✪ 2024-07-26 14:34
😮
14:34
can it not fetch old msgs?
14:35
maybe try to first remove your reaction
Avatar
Avatar
Jupstar ✪
the organisation?
The tokio runtime in general. I want to know if I can somehow have a thread that never switches tasks
Avatar
ye ill try again
Avatar
Jupstar ✪ 2024-07-26 14:35
but make sure to remember it xd
Avatar
in a min
Avatar
Avatar
Learath2
The tokio runtime in general. I want to know if I can somehow have a thread that never switches tasks
heinrich5991 2024-07-26 14:35
you can IIRC
Avatar
Avatar
Learath2
The tokio runtime in general. I want to know if I can somehow have a thread that never switches tasks
Jupstar ✪ 2024-07-26 14:36
i never used smth so specific sry. if u want a thread that never switched tasks, use a blocking thread and call all async code sync xd
14:37
nah dunno, if some logic uses tokio::spawn internally that is probably already cheating for you?
Avatar
btw, this is where I'm coming from: https://github.com/jxsl13/amqpx in regard to messaging queues.
A robust amqp wrapper library for RabbitMQ's amqp091-go. Connection pooling, reconnect handling, batch processing and more. - jxsl13/amqpx
Avatar
GitHub BOT 2024-07-26 15:14
Alternative to #8650 Fixes: #8467

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 (especially base/) or added coverage to integration test
  • [ ] 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://gi...
Avatar
I thought something was wrong with my laptop, my earphone case has a magnet in it and I was getting it too close to the hall effect sensor 😄
Avatar
do dnsbl services have rate limits?
Avatar
Avatar
meloƞ
i switched to msys2 and mingw64 toolchain
I'm already using msys2 and mingw64 😭 (edited)
Avatar
Avatar
louis
in a min
Jupstar ✪ 2024-07-26 15:54
so? xd
15:54
is the bot even online
Avatar
oh oops
16:01
nah still doesn twork
16:01
its weird though
16:01
the message just disappears when i react to smth far back
Avatar
Jupstar ✪ 2024-07-26 16:02
@murpi make me skin database crew
Avatar
Avatar
Jupstar ✪
@murpi make me skin database crew
ok
16:07
no @Tsumugi
Avatar
Jupstar ✪ 2024-07-26 16:12
@louis mh ok really weird.. kinda looks like a discord client bug
16:12
it just drops it for whatever reason
16:12
dunno if it's some client setting
16:13
can someone clear the cache of cloudflare?
Avatar
Avatar
Jupstar ✪
@louis mh ok really weird.. kinda looks like a discord client bug
ok thx so im not going insane 😅
Avatar
Avatar
Jupstar ✪
can someone clear the cache of cloudflare?
Jupstar ✪ 2024-07-26 16:14
@heinrich5991 maybe when u back
Avatar
Jupstar ✪ 2024-07-26 16:27
@murpi u can remove me again, either it worked or not, we'll see 😄
Avatar
u can make me also
16:30
im just gonna test dw
16:31
@louis when are u goin to replace
16:31
🧐
Avatar
i forgot, later
Avatar
see?
16:36
i would never forgot
16:36
you should totally make me skin database crew
Avatar
Avatar
Jupstar ✪
@heinrich5991 maybe when u back
heinrich5991 2024-07-26 16:39
which cloudflare cache?
Avatar
Avatar
Tsumugi
you should totally make me skin database crew
its up to admins but sorry, i won't recommend you
Avatar
Avatar
heinrich5991
which cloudflare cache?
Jupstar ✪ 2024-07-26 16:41
for skins.ddnet.org
Avatar
Avatar
louis
its up to admins but sorry, i won't recommend you
ye i know ty
Avatar
heinrich5991 2024-07-26 16:44
tried purging everything under https://ddnet.org/skins/skin/. did it work?
Avatar
Avatar
heinrich5991
tried purging everything under https://ddnet.org/skins/skin/. did it work?
Jupstar ✪ 2024-07-26 16:44
yes thanks
16:45
ok wait the skin is gone
16:45
lol
16:45
ah ok browser bug
16:45
nvm
Avatar
Avatar
heinrich5991
404 for me oO
Jupstar ✪ 2024-07-26 16:47
mh weird
16:47
but it also isnt dilated :c
16:47
but that is unrelated
Avatar
Avatar
Learath2
I would generate a symbol table WITHOUT offsets right after the lexer. Then I'd have some architecture specific part of the compiler populate the offsets
MilkeeyCat 2024-07-26 17:04
i had similar stuff but i broke it a few commits ago and forgot about it xdd
Avatar
GitHub BOT 2024-07-26 17:12
How to reproduce Ensure that you're using a Wayland compositor and DDNet is linked against SDL2.30+, regardless of having XWayland enabled or not, do: (unset DISPLAY && ./DDNet) the game will complain that x11 not available. This doesn't happen with SDL2 versions before the 2.30 series. What is the motivation for the changes of this pull request? If you try to run DDNet on SDL2.30+ on a Wayland-only machine (that is, one without XWayland support) then SDL will arbitrar...
Avatar
damn @Jupstar ✪ i knew you're a vulkan gigachad, but that GLEW PR you posted? juicy... weird it just got left sad, alone and dusty (edited)
Avatar
Avatar
meloƞ
damn @Jupstar ✪ i knew you're a vulkan gigachad, but that GLEW PR you posted? juicy... weird it just got left sad, alone and dusty (edited)
Jupstar ✪ 2024-07-26 17:33
i didnt use wayland as argument
17:33
maybe that would convince him xd
Avatar
poke the reviewer and mention it
17:33
XD
Avatar
Jupstar ✪ 2024-07-26 17:34
but anyway, i am surprised there is now glew-egl package in arch anymore
17:34
i thought i saw that once
17:34
that would fix it
17:34
bcs that is the package to use for wayland users
Avatar
isnt that just glew-wayland?
17:37
or was there a specific glew-egl package once?, can't find any in the history
Avatar
Jupstar ✪ 2024-07-26 17:37
i thought it was even named like that yeah
17:37
but yeah lets see if glew-wayland works for him
17:39
maybe we can actually fix it in our code.. now i remember
17:39
i think i even did it for bundled GLEW
17:39
😅
Avatar
Avatar
Jupstar ✪
i think i even did it for bundled GLEW
kek
Avatar
Jupstar ✪ 2024-07-26 17:39
ah yeah
17:40
now that few years passed we can maybe enable it default
17:41
wow
17:41
he didnt release a version since then
17:41
xDDDDD
Avatar
Jupstar ✪ 2024-07-26 17:41
so all linux distros are outdated
Avatar
well you can't get more backwards compatible than that!
Avatar
heinrich5991 2024-07-26 17:54
@APFFF no mentioning cheat client names
Avatar
Jupstar ✪ 2024-07-26 17:57
@meloƞ and that is why static linking is master race 😬
KEKW 1
Avatar
~/DDNet-18.4 $ ninja -v game-server ninja: error: '/release/libddnet_engine_shared.a', needed by 'DDNet-Server', missing and no known rule to make it ? Whats wrong
18:07
Same on ~/DDNet-18.4 $ ninja ninja: error: '/release/libddnet_engine_shared.a', needed by 'libDDNet.so', missing and no known rule to make it
Avatar
Avatar
Robyt3
I don't think that's possible
are you still trying to build the server on android?
Avatar
Avatar
heinrich5991
@APFFF no mentioning cheat client names
sorry
Avatar
No
Avatar
what rust toolchain are you using?
Avatar
MilkeeyCat 2024-07-26 19:03
yikes #general is fucked 😬
Avatar
GitHub BOT 2024-07-26 19:40

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 (especially base/) or added coverage to integration test
  • [X] Considered possible null pointers and out of bounds array indexing
  • [X] Changed no physics that affect existing maps
  • [ ] Tested the change with [ASan+UBSan or valgrind's memcheck](https://github.com/ddnet/ddnet/#using-addres...
Avatar
Jupstar ✪ 2024-07-26 19:57
@louis i think the dilate worked.. i finally get the new image from ddnet.org
19:59
maybe you can confirm with another skin tho
Avatar
Тайно Дёрнул 2024-07-26 21:13
Hello! Are you continuing to develop a new version of ddnet mobile? Can not wait
Avatar
SchrodingerZhu 2024-07-26 21:14
hi
Avatar
Avatar
Тайно Дёрнул
Hello! Are you continuing to develop a new version of ddnet mobile? Can not wait
Jupstar ✪ 2024-07-26 21:14
yes but asking every day wont make it come faster 😉
Avatar
SchrodingerZhu 2024-07-26 21:14
Contribute to DDNet-WinArm64/ddnet-build development by creating an account on GitHub.
Avatar
Avatar
Jupstar ✪
yes but asking every day wont make it come faster 😉
Тайно Дёрнул 2024-07-26 21:14
I wanted to cheer you up
Avatar
SchrodingerZhu 2024-07-26 21:14
winarm64 build is ready
Avatar
Avatar
Тайно Дёрнул
I wanted to cheer you up
Jupstar ✪ 2024-07-26 21:15
ok, thanks
Avatar
Тайно Дёрнул 2024-07-26 21:15
What will you add besides the change of management?
Avatar
Avatar
Тайно Дёрнул
What will you add besides the change of management?
Jupstar ✪ 2024-07-26 21:16
wat? xd
Avatar
Тайно Дёрнул 2024-07-26 21:17
What do you want to add to the new version?
Avatar
Jupstar ✪ 2024-07-26 21:17
neat, i guess nobody here except you has ARM64 yet 😄 One important step will be that our devs can compile the ddnet-libs themself (e.g. for updates)
Avatar
Avatar
Jupstar ✪
wat? xd
Тайно Дёрнул 2024-07-26 21:17
Sorry, I'm using a translator
Avatar
Avatar
Тайно Дёрнул
What do you want to add to the new version?
Jupstar ✪ 2024-07-26 21:18
touch controls. Other than that compared to the old version there is a lot of stuff that was added during the years
Avatar
SchrodingerZhu 2024-07-26 21:18
should ask qualcomm to donate one dev to your ppl xD
Avatar
Тайно Дёрнул 2024-07-26 21:18
Is there anything else?
Avatar
Avatar
Тайно Дёрнул
Is there anything else?
Jupstar ✪ 2024-07-26 21:19
did you ever play the PC version?
Avatar
Avatar
Jupstar ✪
neat, i guess nobody here except you has ARM64 yet 😄 One important step will be that our devs can compile the ddnet-libs themself (e.g. for updates)
SchrodingerZhu 2024-07-26 21:19
it is fairly buildable on x86-64 but barely testable (edited)
Avatar
Тайно Дёрнул 2024-07-26 21:19
Yes, but more often I play on the phone because I don’t have a PC. Played with my brother and friends
Avatar
Avatar
Тайно Дёрнул
Yes, but more often I play on the phone because I don’t have a PC. Played with my brother and friends
Jupstar ✪ 2024-07-26 21:20
it will be like the PC version.. just with touch controls
21:20
nothing less, nothing more
Avatar
Тайно Дёрнул 2024-07-26 21:20
That is, it will be possible to change the controls and that’s it? Although this is enough for me🥰
Avatar
Avatar
Тайно Дёрнул
That is, it will be possible to change the controls and that’s it? Although this is enough for me🥰
Jupstar ✪ 2024-07-26 21:21
some day you can also change controls yes
21:21
when exactly is hard to say
Avatar
Тайно Дёрнул 2024-07-26 21:23
Well, anyway, I’ll wait for it, and don’t forget to add the function of using emotions, it’s not available in the test version))
21:23
@Jupstar ✪ How many people are involved in development?
Avatar
Avatar
Тайно Дёрнул
@Jupstar ✪ How many people are involved in development?
Jupstar ✪ 2024-07-26 21:24
the touch controls are made by robyte only if that is your question
21:24
but if your question is how many ppl work on ddnet: https://github.com/ddnet/ddnet/graphs/contributors
Avatar
Тайно Дёрнул 2024-07-26 21:25
Thank you, I won't bother you anymore
Avatar
SchrodingerZhu 2024-07-26 21:28
anyway, if devs are not ready to build and test win arm64 versions and other ppls make such demands, you can direct them to the repo. The build procedure itself is free of supply chain attack because everything is built from src without my uploaded binaries. But as unofficial build, I may not be able to always keep synced with upstream changes as I have other responsibilities.
Avatar
GitHub BOT 2024-07-26 22:59
bfc4902 Minor refactoring of DilateImage and related functions - Robyt3 f79ea49 Minor refactoring of ResizeImage and related functions - Robyt3 a1ef70c Merge pull request #8654 from Robyt3/Image-Manipulation-Minor-Refactoring - def-
Avatar
How to add a server setting to map which is non-default?
23:03
It doesnt seem to work anymore, since there's this auto completion list now
23:03
which btw is also broken on startups, you can use sv_team "0", and it throws an error due to quotes
23:03
Oh, I found the question mark
Exported 692 message(s)
Timezone: UTC+0