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-01-15 00:00:00Z and 2024-01-16 00:00:00Z
Avatar
BlaiZephyr | meloƞ 2024-01-15 00:01:48Z
on windows you can ofc use vsc or any other IDE, you'd just want the visual studio build tools (edited)
Avatar
Avatar
Teero
if you mean cmake. vscode does not have an integrated compiler. if youre on windows then use visual studio community
???
00:02
don't use vscode because it doesn't come with a compiler?
Avatar
thats not what i mean xddd
Avatar
BlaiZephyr | meloƞ 2024-01-15 00:02:38Z
oh wait i just reread that kek
Avatar
cmake-gui doesnt work for vscode right?
Avatar
BlaiZephyr | meloƞ 2024-01-15 00:03:00Z
?
Avatar
@BlaiZephyr | meloƞ get back to work
Avatar
BlaiZephyr | meloƞ 2024-01-15 00:03:15Z
u
00:03
its 1 am @ReiTW :( (edited)
00:03
7d/7 u should be
sad 1
f4 2
Avatar
BlaiZephyr | meloƞ 2024-01-15 00:08:03Z
but for context to actually answer the question: to build the source code on windows you'd want 4 things, an IDE of your choice (you're not forced to use visual studio community no worries), rust, python, and most importantly the visual studio build tools for c++ (edited)
Avatar
you should probably use msys instead
00:08
then you need 1 thing
00:08
and some packages
Avatar
Avatar
Teero
cmake-gui doesnt work for vscode right?
it has cmake plugin to work with
Avatar
also don't download cmake standalone even if using visu al studio, it comes with it...
Avatar
Avatar
gerdoe
it has cmake plugin to work with
I remember it was a real hastle to setup using vscode
Avatar
Avatar
Ewan
also don't download cmake standalone even if using visu al studio, it comes with it...
BlaiZephyr | meloƞ 2024-01-15 00:10:37Z
huh, TiL, didnt know that actually - i just took my knowledge from when i was doing it and i remember using standalone
Avatar
Avatar
Teero
I remember it was a real hastle to setup using vscode
nah requires literally 1 click
Avatar
you did it the silly way greenthing
Avatar
BlaiZephyr | meloƞ 2024-01-15 00:11:01Z
always!
Avatar
Avatar
gerdoe
nah requires literally 1 click
ig I just haven't compiled ddnet on windows since 2019 💀
Avatar
good for you btw
00:15
but since tw is using cmake there's nothing left to struggle with xd
00:15
using bam was kind of adventure
Avatar
BlaiZephyr | meloƞ 2024-01-15 00:15:32Z
dude bam was so good
Avatar
still remember that fancy BoToX script to build tw with bam
Avatar
Avatar
BlaiZephyr | meloƞ
dude bam was so good
still is
Avatar
BlaiZephyr | meloƞ 2024-01-15 00:16:14Z
well in terms of, using it as a build tool for ddnet
Avatar
only if you have no need to connect it with any other cmake-based project i guess?
00:17
i don't remember actually
Avatar
BlaiZephyr | meloƞ 2024-01-15 00:17:57Z
no, i can access everything just fine (edited)
Avatar
seems im special then
00:18
bruh
Avatar
BlaiZephyr | meloƞ 2024-01-15 00:22:02Z
when are we cooking ddnet 2.0 btw? if i get an ingame ping of "where accounts" one more time, im gonna recreate the definition of a genocide (INGAME!) (edited)
💀 1
Avatar
haha the edit
Avatar
BlaiZephyr | meloƞ 2024-01-15 00:22:46Z
justatest
Avatar
chillerdragon BOT 2024-01-15 00:39:59Z
ZillyInsta/cfg press t enter votes.cfg
Replying to @gerdoe @ChilleDragon where can i check your votes.cfg for zilly-insta?
Avatar
stop using 100500 repos for one purpose xd
Avatar
chillerdragon BOT 2024-01-15 00:41:12Z
Wot
00:41
You want to share all my configs in one repo?
00:41
That would be a mess
Avatar
i mean you could place it in zilly-insta itself
00:42
so it would be pre-configuried server
Avatar
chillerdragon BOT 2024-01-15 00:46:22Z
No I separate code and configs in my infra
00:46
Also my code is aiming to be generic for all and my configs are personal
Avatar
Do you think ddnet at 100tps would feel different? (edited)
Avatar
Avatar
chillerdragon
Also my code is aiming to be generic for all and my configs are personal
you could make it as generic one but okey xd
Avatar
ChillerDragon BOT 2024-01-15 04:43:12Z
fred do you know/use http://mirrors.ustc.edu.cn ?
04:44
@TsFreddie ^
05:19
but isnt all mirrors the same
05:20
or were you just default mirrors all the way before because you were privileged to have everything work for you by default.
Avatar
Avatar
ChillerDragon
fred do you know/use http://mirrors.ustc.edu.cn ?
05:20
just google translate + copy and paste
Avatar
ChillerDragon BOT 2024-01-15 05:59:42Z
looks legit to me but i would feel better if you say they are legit
06:03
i mean can everyone get a .edu.cn domain? if not are all educational institutions trustworthy? Or could this mirror spread malware?
Avatar
good morning to all but bash devs today
06:32
Guri_vibe
Avatar
ChillerDragon BOT 2024-01-15 06:59:58Z
axaxaxax
07:00
thanks for the free music dj ryo
Avatar
ChillerDragon BOT 2024-01-15 07:00:41Z
Uwun
Avatar
ChillerDragon BOT 2024-01-15 07:03:10Z
HQ audio
07:03
pog
Avatar
go sleep
Avatar
ChillerDragon BOT 2024-01-15 07:38:20Z
jopsti the cursed c++ code u know what its for?
07:38
07:39
i am facing issues with registering rcon commands in the gamecontroller because it gets deleted on map change and the command callbacks stay registered but then point to invalid memory
Avatar
Avatar
ChillerDragon
jopsti the cursed c++ code u know what its for?
it just creates a new and fresh gamecontext
07:43
at the existing memory
Avatar
ChillerDragon BOT 2024-01-15 07:44:40Z
yes but why
07:44
to keep pointers valid?
07:44
or is it another reason
07:45
I think we need the same hack for gamecontrollers as well
Avatar
that is valid syntax tf?
08:02
Gm ☕
Avatar
ChillerDragon BOT 2024-01-15 08:02:49Z
average C++ code
Avatar
Avatar
ChillerDragon
to keep pointers valid?
Yeah that's the part I dislike
Avatar
ChillerDragon BOT 2024-01-15 08:05:39Z
yes so u must be pro at it
Avatar
It has quite some side effects
Avatar
ChillerDragon BOT 2024-01-15 08:06:05Z
anyways i think the hack does not work for controllers because its not always recreating it might also be a different controller
Avatar
Avatar
Jupstar ✪
It has quite some side effects
I'm getting CGameWorld flashbacks
Avatar
Yeah dunno. Just don't touch it xdd
Avatar
ChillerDragon BOT 2024-01-15 08:06:20Z
i need to fix a bug
Avatar
Avatar
ChillerDragon
anyways i think the hack does not work for controllers because its not always recreating it might also be a different controller
Yeah check If constructor is called
Avatar
ChillerDragon BOT 2024-01-15 08:06:47Z
i think vanilla has the bug too o.O
Avatar
Chiller check #showroom
Avatar
Ez
Avatar
Avatar
ChillerDragon
i think vanilla has the bug too o.O
Raus damit. Spill the beans (edited)
Avatar
Avatar
Teero
Chiller check #showroom
Ask matricks if he can give me teeworlds repo
Avatar
Thx
Avatar
@matricks give jupsti tw repo pls
08:08
Thanks
Avatar
ChillerDragon BOT 2024-01-15 08:08:44Z
+1
08:09
no trol jopsti is pro allowing him to merge tw prs too would be epic
Avatar

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://github.com/ddnet/ddnet/#using-ad...
08:13

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://github.com/ddnet/ddnet/#using-ad...
08:51
e4be0e7 Update translation stats - def-
08:54
damn
Avatar
6e3e439 Update russian.txt - gerdoe-jr 94b8b5d Update brazilian_portuguese.txt - rffontenelle 9b2284d Update traditional_chinese.txt - By622 93bc9ad Merge pull request #7805 from gerdoe-jr/patch-3 - def- 93d5ea5 Merge pull request #7806 from rffontenelle/patch-3 - def- a24d71e Merge pull request #7807 from By622/patch-7 - def-
09:15
97360df Update simplified_chinese.txt - By622 b375d74 Merge pull request #7808 from By622/patch-8 - def-
Avatar
Avatar
Ryozuki
Click to see attachment 🖼️
when ddnet in edlang? poggers2
Avatar
Avatar
Ryozuki
Click to see attachment 🖼️
Do you use this one library you recently shared to show these nice errs?
Avatar
Avatar
Ryozuki
Click to see attachment 🖼️
Looks beautiful what's it called?
Avatar
Avatar
Jupstar ✪
Do you use this one library you recently shared to show these nice errs?
yes
09:32
ariadne
09:33
A fancy diagnostics & error reporting crate. Contribute to zesterer/ariadne development by creating an account on GitHub.
09:33
09:33
their example
Avatar
Avatar
MilkeeyCat
when ddnet in edlang? poggers2
xD
Avatar
Avatar
Ryozuki
xD
do u know any good books/articles about compilers, assembly and stuff? justatest
09:41
dragon book
09:41
idk
Avatar
ah its rust only ;( (edited)
Avatar
რილია 2024-01-15 10:50:34Z
hellooooooooo thereeee
10:51
my server is empty af all the time, i want to add a bot to be always present
10:52
or maybe 3
10:56
89343f6 Update funding for 2024 - def- 0768614 Merge pull request #279 from ddnet/pr-funding-2024 - def-
10:56
609d242 Revert "Remove donation link" - def-
10:57
217c933 Fix servers in donations - def-
Avatar
რილია 2024-01-15 10:58:24Z
money money money
Avatar
Avatar
რილია
my server is empty af all the time, i want to add a bot to be always present
BlaiZephyr | meloƞ 2024-01-15 11:02:28Z
Ask chiller - He loves taking about His illegally scripted Bots Server Bots
Avatar
რილია 2024-01-15 11:02:49Z
illegally ?
11:03
how can a cute tee bot be illegal ?
11:06
where in the code, a new tee be made ?
11:10
tee factory
Avatar
Avatar
რილია
my server is empty af all the time, i want to add a bot to be always present
If bots in players list, then this will be illegal, I think
Avatar
ChillerDragon BOT 2024-01-15 11:15:42Z
@რილია have a look at dbg_dummies
👍 1
Avatar
Avatar
ChillerDragon
@რილია have a look at dbg_dummies
რილია 2024-01-15 11:18:23Z
can i control the debug dummies ?
11:19
i want to add a player to the server and control it
Avatar
Avatar
რილია
my server is empty af all the time, i want to add a bot to be always present
your server will stay empty in the list, if your goal is to announce them as players so your server will go up in the list. that's not allowed and they have to be excluded. (edited)
Avatar
რილია 2024-01-15 11:20:37Z
like a shop kipper or a god who chats to other players and guide them or something 😂
Avatar
Avatar
fokkonaut
your server will stay empty in the list, if your goal is to announce them as players so your server will go up in the list. that's not allowed and they have to be excluded. (edited)
რილია 2024-01-15 11:21:23Z
it will be awsome if i learn both sides
Avatar
Avatar
fokkonaut
your server will stay empty in the list, if your goal is to announce them as players so your server will go up in the list. that's not allowed and they have to be excluded. (edited)
რილია 2024-01-15 11:22:42Z
for start how can i add a player to server and announce it as a real player
11:23
it will be on lan of course
Avatar
Avatar
რილია
for start how can i add a player to server and announce it as a real player
that's what we're trying to say you mustn't
Avatar
@Faulty also for you, since I think your max clients amount is wrong
Avatar
the players in game will see the dummy/bot but they shouldn't appear on the masterseverlist/they shouldn't be registered
Avatar
რილია 2024-01-15 11:25:38Z
i mostly want to add them so if a player joined the server, he won't feel lonely,
Avatar
that's ok
Avatar
რილია 2024-01-15 11:25:52Z
i don't want to rank up my server
Avatar
ChillerDragon BOT 2024-01-15 11:25:59Z
yes you can control dbg dummies
troll 1
11:26
might need some code adjustments i think but these are a good starting point
Avatar
რილია 2024-01-15 11:26:36Z
thanks
11:26
and what i need to pass when building ?
11:27
--dbg ?
Avatar
Avatar
რილია
i mostly want to add them so if a player joined the server, he won't feel lonely,
find more player to join 😉
Avatar
Avatar
Vexar
find more player to join 😉
რილია 2024-01-15 11:28:22Z
ok 😉
Avatar
Avatar
fokkonaut
@Faulty also for you, since I think your max clients amount is wrong
Why so? I have no server side bots on the map
Avatar
რილია 2024-01-15 12:10:59Z
i added #define CONF_DEBUG in main.cpp, is dbg_dummies are now enabled ?
Avatar
Avatar
რილია
i added #define CONF_DEBUG in main.cpp, is dbg_dummies are now enabled ?
U shouldn't do that
Avatar
რილია 2024-01-15 12:14:40Z
what is the right way
Avatar
Defines in single CPP files can lead to odr issues
Avatar
Avatar
რილია
what is the right way
Add it to compiler flags
Avatar
Avatar
რილია
i added #define CONF_DEBUG in main.cpp, is dbg_dummies are now enabled ?
If some header defines it. U can also make it work there
12:16
But afair its in cmake
Avatar
Avatar
Jupstar ✪
If some header defines it. U can also make it work there
რილია 2024-01-15 12:17:14Z
i didn't see a define of it anywhere in the code
Avatar
Avatar
Jupstar ✪
Add it to compiler flags
რილია 2024-01-15 12:17:54Z
how thonk
Avatar
Look how cmakelists did it
Avatar
Look to find where CONF_DEBUG is normally set
Avatar
რილია 2024-01-15 12:30:50Z
i added this to my cmakelists add_compile_definitions(CONF_DEBUG)
12:31
the debug dummies are weird
12:36
it's so cool that there is characters in the game but your sv is empty poggers2
Avatar
%include 'functions.nasm' section .data msg db 'hey :smirk:', 0 section .text global _start _start: pop rcx nextArg: cmp rcx, 0 jz noArgs pop rax ;it uses rax as 1st argument. live with it call println ;dat's my custom function, it works currectly dec rcx jmp nextArg noArgs: call quit anyone have idea why it couldn't work owo
Avatar
You don't push anything, yet you pop, how come?
Avatar
it's eeeh. it has to read program arguments
Avatar
Oh, it's not freestanding?
Avatar
_start: mov rdi, [rsp] ; number of cli arguments lea rsi, [rsp + 8] ; first arg (*path) call main ; main(argc, argv) ; rdi, rsi main: call alloc_init lea rdx, [str_buf] mov rdi, 169 mov rsi, 16 call int_to_str lea rdi, [str_buf] mov rsi, rax call println mov rdi, rax call exit (edited)
12:56
@MilkeeyCat
12:56
thats how i do it
Avatar
dat.. looks much more complicated than what ive sent xd
Avatar
Contribute to edg-l/aoc2023-nasm development by creating an account on GitHub.
12:56
check my repo (edited)
Avatar
but the thing is, when i change rcx to smth else it works pepeW (edited)
Avatar
by then you mean "when"?
Avatar
yep xd
Avatar
do know that syscalls modify rcx (edited)
Avatar
oh....
Avatar
RCX and R11 are clobbered by the SYSCALL instruction itself. From the instruction set reference: after saving the address of the instruction following SYSCALL into RCX). RFLAGS gets stored into R11
Avatar
%include 'functions.nasm' section .data msg db 'hey :smirk:', 0 section .text global _start _start: pop rcx nextArg: cmp rcx, 0 jz noArgs pop rax ;it uses rax as 1st argument. live with it push rcx call println ;dat's my custom function, it works currectly pop rcx dec rcx jmp nextArg noArgs: call quit now works xd
Avatar
I'm guessing your println does a syscall ruining rcx, case closed
Avatar
thanks 😄
Avatar
BlaiZephyr | meloƞ 2024-01-15 13:01:49Z
you didnt Push rcx before using it in println ? Was that the issue ? (I Just wanna understand it)
Avatar
theorically rcx is callee saved but sycalls are special
13:02
iirc
13:02
nvm
13:02
rcx is not saved
13:02
so he had to push ye
13:02
The registers RAX, RCX, RDX, R8, R9, R10, R11 are considered volatile (caller-saved). The registers RBX, RBP, RDI, RSI, RSP, R12, R13, R14, and R15 are considered nonvolatile (callee-saved).
Avatar
BlaiZephyr | meloƞ 2024-01-15 13:03:01Z
Ah sweet so i did Kind of get it gigachad
Avatar
chat odes "e.g. create a build subdirectory in the source code directory" mean
13:08
because i don't understand it
Avatar
Create a directory called build
13:12
And select that
13:12
one was created
Avatar
That's fine too I guess
Avatar
is there a way to change the generator in cmake
13:15
since i accidently chose the wrong one
13:15
nvm i just needed to delete the cache
13:16
hey when i tried to configure the file i got this CMake Error at cmake/FindSSP.cmake:12 (message): could not find ssp paths Call Stack (most recent call first): CMakeLists.txt:544 (find_package)
13:17
as an error
13:18
and i got a lot of "Could NOT find ---- (missing: ...)" (edited)
13:18
doo i need to install everything that wasn't found?
Avatar
Have you downloaded the ddnet-libs and put them in the ddnet-libs folder?
13:33
Precompiled libraries and headers of the dependencies of DDNet - GitHub - ddnet/ddnet-libs: Precompiled libraries and headers of the dependencies of DDNet
Avatar
no din't know that they even existed
Avatar
why does it show as red?
Avatar
რილია 2024-01-15 13:49:20Z
my first issue in github. yeeey owo
13:50
now I'm officially helping the community
Avatar
im not finding the "game-client" project anywhere (edited)
Avatar
Avatar
რილია
my first issue in github. yeeey owo
Now fix it 😏
Avatar
Avatar
Super3559
im not finding the "game-client" project anywhere (edited)
Isn't it simply called ddnet
Avatar
Avatar
Jupstar ✪
Isn't it simply called ddnet
idk im not fiding naything
14:09
anything*
Avatar
Avatar
Jupstar ✪
Now fix it 😏
რილია 2024-01-15 14:09:32Z
the hard part for me is not fixing it, it's the github. (edited)
Avatar
that the application
14:09
i have no idea what to doo
Avatar
Project explorer
Avatar
Avatar
რილია
the hard part for me is not fixing it, it's the github. (edited)
I see
Avatar
Avatar
Jupstar ✪
Project explorer
where
Avatar
BTW the indicator still makes sense for weak bounce
14:10
So this isn't a 100% issue
Avatar
the only thing i see is solution explorer
14:10
no project explorer
Avatar
Avatar
Super3559
where
I dunno. Google
Avatar
Avatar
Super3559
the only thing i see is solution explorer
Then that
Avatar
now what?
Avatar
Avatar
Super3559
now what?
There is game client
Avatar
oh im blind
Avatar
Rest u gotta find out yourself
Avatar
i have this from the readme.rmd or txt
14:13
it worked
14:13
pog
14:16
apparently when chaing the GAME_TICK_SPEED to 25 the air acceleration and the hook timer is still at normal
14:17
because it's acting weird for me
Avatar
The dangling else is a problem in programming of parser generators in which an optional else clause in an if–then(–else) statement results in nested conditionals being ambiguous. Formally, the reference context-free grammar of the language is ambiguous, meaning there is more than one correct parse tree. In many programming languages one may writ...
14:21
did u know about this
Avatar
Avatar
Super3559
apparently when chaing the GAME_TICK_SPEED to 25 the air acceleration and the hook timer is still at normal
there is also the air controls which seem to be normal
14:26
which is pretty weird
Avatar
Not specifically "dangling else" but I do know of shift reduce conflicts for LR parsers in general
Avatar
რილია 2024-01-15 14:35:00Z
there is two server.h
14:35
what is the main difference ?
Avatar
why does changing the SERVER_TICK_SPEED doesn't change some things like hook timer or air acceleration and max speed
Avatar
@Learath2 do u have a ubuntu at hand
14:38
do u know where can i find ld: cannot find /usr/lib64/Scrt1.o: No such file or directory ld: cannot find /usr/lib64/crti.o: No such file or directory ld: cannot find /usr/lib64/Scrt1.o: No such file or directory ld: cannot find /usr/lib64/crti.o: No such file or directory ld: cannot find /usr/lib64/Scrt1.o: No such file or directory ld: cannot find /usr/lib64/crti.o: No such file or directory
14:39
in ubuntu
14:39
i should setup a local qemu with ubuntu
14:39
ci runs ubuntu blegh
Avatar
I do have an installation of ubuntu. If I can help ;)
Avatar
@Mr.Gh0s7 tell me if u find those files
14:39
install libc-dev just in case
Avatar
k lemme reboot into Ubuntu
Avatar
Avatar
Ryozuki
@Learath2 do u have a ubuntu at hand
Nope, soz
Avatar
is virt-manager the mostl ightweight?
14:41
@Learath2 do u know a lightweight qemu frontend
14:42
gnome-boxes looks like the one requiring least pkgs on my gentoo
Avatar
Avatar
Ryozuki
@Mr.Gh0s7 tell me if u find those files
no I don't have them
Avatar
Avatar
Ryozuki
install libc-dev just in case
this didn't install them
Avatar
can u check
Avatar
I'm searching if they're in a pkg rn
Avatar
@Mr.Gh0s7 it would be weird if they arent in ur system tbh
14:46
its just they may be in another path
14:46
do u have rust
14:46
?
14:46
cargo install fd
14:46
cd /
14:46
fd Scrt1.o
Avatar
Avatar
Ryozuki
@Learath2 do u know a lightweight qemu frontend
Idk, I always used virt-manager or qemu directly
Avatar
i guess virt manager it is
Avatar
Avatar
Ryozuki
its just they may be in another path
yeah theyre in /usr/lib/x86_64-linux-gnu (edited)
Avatar
Avatar
Ryozuki
do u have rust
no I don't think so should I install it?
Avatar
dont worry ill just get ubuntu in qemu
14:48
xd
14:48
ill need it for the future anyway
Avatar
Avatar
Ryozuki
dont worry ill just get ubuntu in qemu
;)
Avatar
Avatar
Ryozuki
@Learath2 do u know a lightweight qemu frontend
you dont need a frontend
14:49
you can use the built in gtk or sdl windowing
14:49
it is the most lightweight
Avatar
I had ubuntu for a UE5 debbugging session. I use antiX btw
Avatar
Avatar
Ewan
you can use the built in gtk or sdl windowing
just start it on the command line
Avatar
@Learath2 why does virt manager pull in pulseaudio
Avatar
რილია 2024-01-15 14:51:34Z
whats the difference between CServer class and IServer class ?
Avatar
ok ill use qemu from cli
Avatar
რილია 2024-01-15 14:53:54Z
i use windows
14:54
i feel like a stranger here
Avatar
Avatar
რილია
whats the difference between CServer class and IServer class ?
IServer is a interface
14:54
u cant instantiate a interface directly because its "abstract" (edited)
14:55
so CServer implements the IServer interface, like a contract
❤️ 1
14:55
i meant cant, was a typo
Avatar
I was making myself a portfolio website, then I remembered I have nothing to put in one
Avatar
Avatar
Learath2
I was making myself a portfolio website, then I remembered I have nothing to put in one
u do
⬆️ 1
14:58
just in ddnet
14:58
you did lot of things
14:58
list them
14:58
in my case it would be
Avatar
Avatar
Learath2
I was making myself a portfolio website, then I remembered I have nothing to put in one
tbh I don't know what I would put in one either
Avatar
  • Telegun
  • Some commands
  • Moderate rcon command
  • Some fixed here and there
14:58
with more detail ofc
Avatar
Split ddnet into like 10 projects? That's smart 😄
Avatar
I actually have a massive ddnet pr coming up
👍 1
Avatar
alright so seem like the air accel doesn't get affected by SERVER_TICK_SPEED
14:59
so you need to change that acordingly
14:59
weird
Avatar
@Learath2 make small projects
14:59
also you can "half make" interesting projects
14:59
like my ryoOS
Avatar
Ryooos
Avatar
just showing a bootable OS amazes ppl
15:00
dont feel guilty, 80% of ppl dont know how to make even the shit os i did
15:00
xd
15:00
so its worth it
15:00
(percentage invented by me not scientifically accurate, if anyone says no % please)
Avatar
Avatar
Ryozuki
dont feel guilty, 80% of ppl dont know how to make even the shit os i did
And the 15% that know how will put you down about it being not that hard yet can't do it themselves
15:02
honestly its pretty fun
15:02
This blog series creates a small operating system in the Rust programming language. Each post is a small tutorial and includes all needed code.
15:02
here btw
15:02
making the memory allocator was fun
15:02
and handling double faults
Avatar
I messed around with an efi bootloader once upon a time
Avatar
and learning about triple faults
Avatar
Then I found refind, it's so good that I didn't mess around with it more
Avatar
but im waiting for the next version of this tutorial cuz rust now is way better for freestanding
15:04
@Learath2 does qemu use emptyy space with qcow2
15:04
or only used space counts as used
15:05
ok looks like it grows and doesnt occupy unused
15:05
❯ qemu-img create -f qcow2 disk.qcow 25G Formatting 'disk.qcow', fmt=qcow2 cluster_size=65536 extended_l2=off compression_type=zlib size=26843545600 lazy_refcounts=off refcount_bits=16
15:05
xd
15:10
qemu-system-x86_64 -enable-kvm -drive file=disk.qcow,format=qcow2 -cdrom ubuntu-22.04.3-live-server-amd64.iso -m 8G -vga qxl
15:10
does this look ok
15:11
omg ubuntu has a keyboard identifier
15:11
it asks u to press keys
15:11
lol
15:11
it detected spanish
15:12
15:12
so fancy
15:12
its been long since i used such new installer
Avatar
Cool space age tech
Avatar
is there even a way to change something so that the whole physic system goes at half speed
15:22
for my own server
Avatar
Avatar
chillerdragon
Ok I might google it if you say it’s easy
chillerdragon: the key word is message filters
Avatar
Avatar
Learath2
TSA does something different, it makes sure you are holding a capability before accessing anything guarded by that capabilty
safe rust also guarantees that, I think
Avatar
Avatar
Learath2
@heinrich5991 the logging stuff seems to have some data race according to tsan. You might want to investigate, the two I found in my own code were real races
can you create an issue? there was a race issue on windows IIRC
Avatar
Avatar
heinrich5991
can you create an issue? there was a race issue on windows IIRC
I already did, you are about to get there on the backlog
Avatar
Avatar
jxsl13
is there any rate limiting on https://master1.ddnet.org/ddnet/15/servers.json or a suggested frequency for fetching data?
what do you want to do? it's behind cloudflare. so fetching frequently might annoy cloudflare
Avatar
/lib/x86_64-linux-gnu/Scrt1.o
15:33
its here in ubuntu
15:33
cuz ubuntu is special
Avatar
Avatar
ChillerDragon
I see so many websites even big ones with outdated copyright years. That gives me the impressions most people bump the year manually instead of setting the current year as copyright programatically
ChillerDragon: copyright year doesn't have any legal meaning. you can just remove it
Avatar
Avatar
რილია
why class CStorage don't have it's own header file, instead, the whole class is declared in a .cpp file (edited)
it's good so that everyone only uses the interface and no one looks into the hidden class details
Avatar
Avatar
Ryozuki
he used extern fns to instantiate
all functions are extern by default, dunno why they were marked like that
Avatar
Avatar
რილია
what am i doing wrong ? struct CAccount { char m_aUsername[NSkyb::MAXIMUM_USERNAME_LENGTH]; char m_aPassword[NSkyb::MAXIMUM_PASSWORD_LENGTH]; }m_Account; bool ReadMoney(char *Username = m_Account.m_aUsername, char *Password = m_Account.m_aPassword);
save the password hashed, not in clear-text
Avatar
Avatar
heinrich5991
save the password hashed, not in clear-text
რილია 2024-01-15 15:41:41Z
i read the username and passwords from the file and set them to players who are logedin
Avatar
Original message was deleted or could not be loaded.
I'm betting on windows.h
Avatar
Original message was deleted or could not be loaded.
you can pass warn::Ignore if you don't like the parameter
Avatar
Original message was deleted or could not be loaded.
I knew it 😄
Avatar
Original message was deleted or could not be loaded.
no. if you have an integer that's not 0, it can be 1, 2, 3, 4, 5, …
15:45
so == 1 is not the opposite of == 0
Avatar
Avatar
heinrich5991
so == 1 is not the opposite of == 0
Do u scroll through all the messages since u were online last time? justatest
Avatar
Original message was deleted or could not be loaded.
I did \o/ ^^
Avatar
Original message was deleted or could not be loaded.
did you install build-essentials?
Avatar
Avatar
Learath2
I already did, you are about to get there on the backlog
yup, thanks 🙂
Avatar
Avatar
heinrich5991
did you install build-essentials?
its build-essential
15:53
and it was just in another path
15:54
#[cfg(target_os = "linux")] { let (scrt1, crti, crtn) = { if file_exists("/usr/lib64/Scrt1.o") { ( "/usr/lib64/Scrt1.o", "/usr/lib64/crti.o", "/usr/lib64/crtn.o", ) } else { ( "/lib/x86_64-linux-gnu/Scrt1.o", "/lib/x86_64-linux-gnu/crti.o", "/lib/x86_64-linux-gnu/crtn.o", ) } }; &[ "-pie", "--hash-style=gnu", "--eh-frame-hdr", "--dynamic-linker", "/lib64/ld-linux-x86-64.so.2", "-m", "elf_x86_64", scrt1, crti, "-o", &output_filename.display().to_string(), "-L/lib64", "-L/usr/lib64", "-L/lib/x86_64-linux-gnu", "-zrelro", "--no-as-needed", "-lc", crtn, &input_path.display().to_string(), ] } behold my hacky linker call
Avatar
Avatar
რილია
i read the username and passwords from the file and set them to players who are logedin
you should at least hash the password before saving it to a file. we have the sha256() function you could use for that
15:54
save the hash, not the password itself
15:54
when you want to check whether the password is correct, hash it and compre it to the hash in the file (edited)
Avatar
Avatar
heinrich5991
so == 1 is not the opposite of == 0
yes. I did some more tests yesterday to make things clear for myself. In C you can compare pointers to booleans (ints can get you a warning as they do not get interpreted as booleans unless casted or the pointer is null), while on cpp you can't (or that's what I could get from my very limited amount of tests). Idk for some reason I though every int could magically be a boolean + didn't know that was a pointer. I just confused some stuff + said something clearly wrong ^^'
Avatar
78bc1f0 Report team changes to master when teams are on - ChillerDragon 0f653b9 Merge pull request #7794 from ChillerDragon/pr_master_team_change - heinrich5991
Avatar
Avatar
Devinci
yes. I did some more tests yesterday to make things clear for myself. In C you can compare pointers to booleans (ints can get you a warning as they do not get interpreted as booleans unless casted or the pointer is null), while on cpp you can't (or that's what I could get from my very limited amount of tests). Idk for some reason I though every int could magically be a boolean + didn't know that was a pointer. I just confused some stuff + said something clearly wrong ^^'
in c and cpp u can do if(ptr)
15:56
in C it wont work either if u do if(ptr == 1) to check for non-nullability
15:56
ptr is not null if it is not 0
Avatar
Avatar
Ryozuki
in c and cpp u can do if(ptr)
yes ofc. that's what I've always done ig. But again, for some reason I though it was the same as ptr == number. which is clearly not
Avatar
in a binary operation
15:56
such as the comparision
15:56
x == y
15:57
value types are coerced, to a type of one of boths
15:57
either typeof(x) or typeof(y)
15:57
iirc (edited)
15:57
so it will not be coerced to a boolean
Avatar
if you want to do the thing you had in mind, you can do
15:58
if((bool)pointer == 1)
15:58
but it'd be pretty unreadable, so don't ^^
Avatar
yeah that's why I said "unless casted or the pointer is null", but that's a bit stupid or unreadable as you said
Avatar
Avatar
heinrich5991
if((bool)pointer == 1)
Y not if(!!pointer) or if(pointer)?
Avatar
Avatar
heinrich5991
what do you want to do? it's behind cloudflare. so fetching frequently might annoy cloudflare
I wanna do a discord status bot for online players and stuff that's frequently updated.
16:22
currently not running into any issues, yet.
16:22
frequency is like 8 or 16 seconds
Avatar
Avatar
jxsl13
I wanna do a discord status bot for online players and stuff that's frequently updated.
every minute is definitely okay, every 5 seconds or so is probably still okay
Avatar
Avatar
jxsl13
frequency is like 8 or 16 seconds
that's okay
Avatar
k, thanks for the feedback
16:24
also tried locally with a frequency of one second but at some point discord starts to throttle/rate limit my message updates so it's pointless.
Avatar
every second is probably a bit excessive
Avatar
Avatar
heinrich5991
you can pass warn::Ignore if you don't like the parameter
i was just wondering why this even implemented that way
Avatar
what is your proposed alternative?
Avatar
if it's used for logging only then - just log warn!
Avatar
Avatar
gerdoe
if it's used for logging only then - just log warn!
the idea was that I also want to use it for tests, and perhaps in the dissector
16:31
in tests, I panic
16:31
in debug builds, I log
16:31
in production builds, I ignore
16:31
the dissector thing didn't happen though
Avatar
Avatar
heinrich5991
in tests, I panic
debug_assert?
Avatar
that doesn't seem to solve the problem
16:35
I guess I could provide a configuration for the crate instead of a function parameter
16:35
since the last use case (wireshark dissector) didn't manifest so far
Avatar
Avatar
heinrich5991
that doesn't seem to solve the problem
(it doesn't allow me to distinguish between debug builds and tests)
Avatar
some fancy macro with #[cfg(...)] debug_assert on panic/ignore case and warn on logging case
16:40
as you said
Avatar
I don't understand your solution
16:42
can you make it more obvious for me?
16:43
also, I'm gone for now. I'll read your answers though
Avatar
macro_rules! warn_if { ($cond:expr, $($args: tt)*) => { if cfg!(feature = "warn_debug_assert") { debug_assert!($cond, $($args)*); } else { if !$cond { println!($($args)*); // log::warn!($($args)*); } } } } fn main() { warn_if!("ddnet" == "5991", "{} is {}", "something", "wrong"); }
17:00
something like this
17:00
warn_if -> warn_assert*
Avatar
Jupstar ✪ BOT 2024-01-15 17:02:49Z
a programming language with localized errors 😏
Replying to @Ryozuki it detected spanish
17:03
i want that for edlang
Avatar
chillerdragon BOT 2024-01-15 17:24:01Z
Watafak why do people use it? Do you have some source for that?
Replying to @heinrich5991 ChillerDragon: copyright year doesn't have any legal meaning. you can ju…
Avatar
Avatar
Jupstar ✪
a programming language with localized errors 😏
i think cpp has that
17:47
or msvc idk
Avatar
Spaced repetition is an evidence-based learning technique that is usually performed with flashcards. Newly introduced and more difficult flashcards are shown more frequently, while older and less difficult flashcards are shown less frequently in order to exploit the psychological spacing effect. The use of spaced repetition has been proven to in...
17:56
interesting
Avatar
@Learath2
Avatar
Avatar
Ryozuki
@Learath2
fstd is a 4star programmer. He is the end boss of C
Avatar
"well, I'm young"
Avatar
what do you think about pre-commit hooks?
19:10
I had one on my main pc that wouldn't let me commit if I don't fix style
Avatar
cant it just run prettier itself before commit? xd
Avatar
It always annoyed me to type /times "Nudelsaft c:" manually when checking times. This PR allows using '/times Nudelsaft c: 5' while also allowing '/times "Nudelsaft c:" 5' (same for /top5team)

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
  • [ ] Considered possible null pointers ...
Avatar
რილია 2024-01-15 19:19:42Z
i just found out you need an account to play on kog
Avatar
i always play on those which doesnt requite account
Avatar
ws-client BOT 2024-01-15 19:40:25Z
<fokkonaut> hi
aPolice 3
Avatar
Avatar
gerdoe
macro_rules! warn_if { ($cond:expr, $($args: tt)*) => { if cfg!(feature = "warn_debug_assert") { debug_assert!($cond, $($args)*); } else { if !$cond { println!($($args)*); // log::warn!($($args)*); } } } } fn main() { warn_if!("ddnet" == "5991", "{} is {}", "something", "wrong"); }
yea, that makes it hard to test. e.g. hard to test that the warnings are emitted, but also even just adding these cfgs for tests (and probably not all tests)
Avatar
Avatar
Ryozuki
or msvc idk
msvc has localized errors, indeed
Avatar
Avatar
heinrich5991
yea, that makes it hard to test. e.g. hard to test that the warnings are emitted, but also even just adding these cfgs for tests (and probably not all tests)
i don't understand honestly
Avatar
1dc8496 Use curl-multi - Learath2 d847b0f Fix double request, fix merge error - Learath2 1f22434 Format and bump fake curl - Learath2 9b3ebf3 Remove debug statement, fix CI - Learath2 32e9683 Fix lots of weirdness in updater - Learath2 6eb5123 Fix some clang-tidy issues and UB - Learath2 bcf86d8 Fix CRegister - Learath2 f591034 Fix CI - Learath2 bb3bd57 Merge pull request #7683 from Learath2/dd_pr_curlmultifinal - heinrich5991
Avatar
To enhance transparency and management of DDNet servers, I propose adding a new field in the Serverconfig and HTTPS Master to identify the server administrator. This field would display the responsible server administrator after the server has successfully registered with the HTTPS Master. Details: Field in Serverconfig:
  • Field Name: ServerAdmin
  • Description: An optional field in the Serverconfig that identifies the server administrator/community url.
  • Format: Array, must be ...
Avatar
anyone who knows? im getting invalid json, but then my im getting info that json is working
23:05
23:05
the code json_value *dPlayerStats = pStatsDest->m_pGetStatsDDNet->ResultJson(); if(!dPlayerStats) { dbg_msg("stats", "Invalid JSON received"); return; } json_value &dPlayerStat = *dPlayerStats; const json_value &ddrPlayer = dPlayerStat["player"]; str_copy(pStatsDest->dPlayer, ddrPlayer); //get rank lead const json_value &PointCategoryDDR = dPlayerStat["points"]; const json_value &CurrentPRank = PointCategoryDDR["rank"]; pStatsDest->PointCategoryDDR = CurrentPRank.u.integer;//Rank ddnet pStatsDest->StatsParsed = true; (edited)
23:06
sometimes it work, sometimes is not (edited)
Avatar
you get invalid json from some fancy ddstats.qwik.space?
Avatar
ddnet.org
23:12
Points rank is the only thing im parsing from ddnet,org
23:12
poggers2 1
Avatar
can you show ResultJson()?
23:13
json_value *CHttpRequest::ResultJson() const { unsigned char *pResult; size_t ResultLength; Result(&pResult, &ResultLength); if(!pResult) { return nullptr; } return json_parse((char *)pResult, ResultLength); }
Avatar
and Result()?
Avatar
Result(&pResult, &ResultLength);
Avatar
the pResult?
23:16
void CHttpRequest::Result(unsigned char **ppResult, size_t *pResultLength) const { if(m_WriteToFile || State() != HTTP_DONE) { *ppResult = nullptr; *pResultLength = 0; return; } *ppResult = m_pBuffer; *pResultLength = m_ResponseLength; }
Avatar
bruh where do you send the request itself
23:17
void CStats::FetchPlayer(CStatsPlayer *pStatsDest, const char *pPlayer) { char aUrl_DDStats[256]; char aUrl_DDNet[256]; char aEscapedName[MAX_NAME_LENGTH]; EscapeUrl(aEscapedName, sizeof(aEscapedName), pPlayer); str_format(aUrl_DDStats, sizeof(aUrl_DDStats), "%s%s", STATS_URL_DDSTATS, aEscapedName); pStatsDest->m_pGetStatsDDStats = HttpGet(aUrl_DDStats); str_format(aUrl_DDNet, sizeof(aUrl_DDNet), "%s%s", STATS_URL_DDNET, aEscapedName); pStatsDest->m_pGetStatsDDNet = HttpGet(aUrl_DDNet); // 10 seconds connection timeout, lower than 8KB/s for 10 seconds to fail. pStatsDest->m_pGetStatsDDStats->Timeout(CTimeout{10000, 0, 8000, 10}); Engine()->AddJob(pStatsDest->m_pGetStatsDDStats); pStatsDest->m_pGetStatsDDNet->Timeout(CTimeout{10000, 0, 8000, 10}); Engine()->AddJob(pStatsDest->m_pGetStatsDDNet); pStatsDest->StatsParsed = false; }
23:18
also static constexpr const char *STATS_URL_DDSTATS = "https://ddstats.qwik.space/player/json?player="; static constexpr const char *STATS_URL_DDNET = "https://ddnet.org/players/?json2="; class CStatsPlayer { public: std::shared_ptr<CHttpRequest> m_pGetStatsDDStats; // profile and player stats std::shared_ptr<CHttpRequest> m_pGetStatsDDNet; // map tracking char aPlayer[MAX_NAME_LENGTH]; int Points; bool StatsParsed = false; int timestamp; char aMap[11][MOST_PLAYED_LENGTH]; float aTime[11]; int RankPoints; //DDNet char dPlayer[MAX_NAME_LENGTH]; int PointCategoryDDR; };
Exported 498 message(s)