Guild icon
DDraceNetwork
Development / developer
Development discussion. Logged to https://ddnet.tw/irclogs/ Connected with DDNet's IRC channel, Matrix room and GitHub repositories — IRC: #ddnet on Quakenet | Matrix: #ddnet-developer:matrix.org GitHub: https://github.com/ddnet
Between 2020-11-20 00:00:00Z and 2020-11-21 00:00:00Z
Avatar
guys do you can make (workshop) on steam?
Avatar
@Simon this only works if you choose a skin from https://ddnet.tw/skins
Avatar
Ye i did. I downloaded one a put it into the skin folder to the others. Then i equipped it ingame and play with it. But others cant see it @deen
07:47
feelsbadman
Avatar
Maybe you renamed it?
Avatar
You don't need to manually download it. In client, just write the name in "Your skin" under Settings -> Tee
07:48
Do the other players use up-to-date DDNet client?
Avatar
Are you online now? Then I can test
Avatar
Wait gimme a min
07:49
Im online which server?
Avatar
some ddnet one, I'll follow you (assuming your name is simon
Avatar
No is sL|coffee
07:51
Is a kog ger # 1 server or something
07:51
Map is quick one
Avatar
maybe because kog has such long cooldown between skin changes?
Avatar
Thanks @deen may u be lucky with everything
07:53
No it works my friends ddnet is just retardee
Avatar
ok
07:54
Ye is actually me
07:54
So
07:54
Idk
07:54
I guess
Avatar
maybe they have a old client
07:55
or no access to ddnet.tw
Avatar
is the download skin option turned on
Avatar
@Deleted User ye i guess friends ddnet is an old one
07:55
Ye is turned on
Avatar
he should just update 😄
07:55
I guess
07:56
Or
07:56
He can try
07:56
To toast his ddnet
07:56
Maybe it workes
07:56
Well
07:56
Idk
Avatar
i dont really understand why they try to say tbh
08:41
maybe they also have 1500 skins or smth
08:46
disappear sounds like, it got overwritten, which was the case in this update (edited)
Avatar
ok, then nightly should help
Avatar
did the finish line logic change?
10:19
we were 3 ppl in team, 2 finished then the 3rd went spec and we did not get the finish
10:25
By going spec, do you mean /spec or "Join Spectators"
Avatar
join spectator
10:26
normally it should instantly finish the team
Avatar
ok, weird
Avatar
since both crossed the finish line 😄
Avatar
I think we only check the finish logic when you cross the finish line again
Avatar
but that wasnt like this in the past
Avatar
See OnCharacterFinish
10:27
it's only called on TILE_FINISH
10:27
I don't remember any changes to that in the last few years
10:29
Hm, we also do CheckTeamFinished in OnCharacterSpawn
10:30
So it should have worked if the player killed, but joining spec never worked from what I can tell
10:30
I guess the motivation was that a player can die
10:30
Oooh, I think I know what caused it
10:30
my change
10:31
in OnCharacterDeath we also check it, and I changed something there. You could check if that is the c ause
Avatar
well it probs is
10:32
from feeling this always worked 1-2 years ago xd
Avatar
cant believe i just spend half an hour explaining to someone about how to join a CHN server and change maps.
Avatar
Interestingly besides it found unused variables, this also found some "logic" errors, where vectors were used in if.

Checklist

  • [ ] Tested the change ingame
  • [ ] Provided screenshots if it is a visual change
  • [ ] Tested in combination with possibly related configuration options
  • [ ] Written a unit test if it works standalone, system.c especially
  • [ ] Considered possible null pointers and out of bounds array indexing
  • [ ] Changed no physics that affect existing maps
  • [ ...
Avatar
@TsFreddie make a step by step guide, so you dont need to do it again next time xD
Avatar
nah, the guy cant read
11:20
dont wanna bother anymore
Avatar
youtube video xD
11:22
is 0 ping a known issue?
11:22
Avatar
sometimes when im lagging the server list shows like that
Avatar
Thanks for releasing 15.2.3
Avatar
Now I can tell my Steam players to update the client
Avatar
Rafael Fontenelle 2020-11-20 16:36:01Z
@deen There is no entry in MD5 and SHA256 checksum files for latest release (15.2.3)
Avatar
Reported by Jupeyy

Checklist

  • [x] Tested the change ingame
  • [ ] Provided screenshots if it is a visual change
  • [ ] Tested in combination with possibly related configuration options
  • [ ] Written a unit test if it works standalone, system.c especially
  • [x] Considered possible null pointers and out of bounds array indexing
  • [x] Changed no physics that affect existing maps
  • [x] Tested the change with [ASan+UBSan or valgrind's memcheck](https://github.com/ddnet/ddnet/#usi...
Avatar
@Rafael Fontenelle thanks. that means I forgot to run the autoupdater script. doing so now
👏 1
Avatar
Hello, could someone help me? I was wondering how I can code tile layers, I wanted to check other tiles besides the "Game" (where there are entities) (sorry bad english)
Avatar
@deen program in c++
Avatar
I don't think I understand what you're trying to do
Avatar
I'm making a teeworlds mod and wanted to know how I program tile layers
Avatar
You can see how front and tele layers etc are implemented I guess
18:01
or you could just use one of them
Avatar
DDNet 15.2.3's build process does not find libx264 in Arch Linux, even though the package [x264] is installed (as dependency of [ffmpeg]). Not sure if there is any impact in the end result. It seems [FindFFMPEG.cmake line 9] checks only for libx264, resulting in the following build output: -- Checking for module 'libx264' Package 'libx264', required by 'virtual:world', not found While the name 'libx264' is not valid in Arch Linux, 'x264' works perfectly: ``` $ pkg-conf...
Avatar
@deen I've tried, but there are many things
Avatar
@deen i think he bases on vanilla
Avatar
What is the best Version to start building custom mods on? The newest DDNet Server, 0.6.5 TW or the newest TW? Is there a huge difference in plain server without mod between ddnet and 0.6.5 tw?
Avatar
@becc According to @Deleted User who tried both, it's better to base the mod on DDNet-Server,
19:01
@becc 0.6.5 is only 16 players, ddnet is 64 and supports 0.6 clients and 0.7 clients
Avatar
@becc deen is right. But please read this first and feel free to ask anything from me https://www.notion.so/influck/Choosing-the-right-teeworlds-server-version-read-it-FIRST-116e42c219c34171a8b680b3c2f9be89
19:03
I've wrote this to publish somewhere but don't know where. Because DDNet forums don't have MODS subforum and teeworlds team will not be happy if I will publish this comparison strongly biased towards DDNet codebase and community.
Avatar
Thanks deen & Pure_luck!
19:06
i should continue it
19:09
May I ask you another question? What is the difference between 0.6 and 0.7 Maps? Because I found a map_convert_07.exe
Avatar
They are not compatible. And beware as this is one-way road. You can convert 0.6 to 0.7 but not back 0.7 to 0.6. If you will choose DDNet codebase for your server you should use DDNet client to edit maps and save them in DDNet/0.6 format.
19:15
@becc what mod are you going to make?
Avatar
ddnet got a custom format for maps or is it the same like tw 0.6.5?
Avatar
It's mostly 0.6 with extensions.
Avatar
Avatar
Deleted User
@becc what mod are you going to make?
No plan yet, I just want to get the source known and trying around
Avatar
The main difference are game layers. DDNet have more of them and even game layer use more tiles.
19:19
Those layers are mostly telling the server what to do if a character is passes trough them. So this is not about client compatibility.
19:19
Though clients will use game tiles to predict server reaction too.
19:20
Anyway I hope saying "0.6" you mostly mean "0.6 or DDNet format". I think you could load DDNet map in teeworlds 0.6 server but there is no really reason to use 0.6 server.
19:21
They're mostly compatible if you will not use DDNet special tiles in your map like: freeze tiles, teleports, speedup, custom tuning layers (antigravity/water) etc. (edited)
19:22
And DDNet server will load 0.6 maps with absolultely no problems.
Avatar
Avatar
Deleted User
And DDNet server will load 0.6 maps with absolultely no problems.
but i can use less features with?
Avatar
Yes, just I don't think you will start with DDNet code as a server and then you will switch to 0.6.
19:23
If you will choose DDNet codebase for your server you could use all DDNet features for your map and every client (0.6, 0.7 and DDNet) will "support" it as tiles are mostly for server logic.
19:24
If you will choose teeworlds 0.7 codebase you will just don't have DDNet features. And don't choose 0.6 teeworlds server as a base, there is no really reason to.
19:25
I have a map in infNext mod which uses DDNet tiles heavily (speedups, teleports, tune zones) and I play 0.7 client. And it works perfectly. Thanks to @Learath2 once you choose DDNet server you will have access to nice compatibility layer which make magic happen.
19:26
But I am mostly citing my guide which you should definitely read first 😄
Avatar
so, the best thing is probably to use ddnet as codebase for everything? and maps made with ddnet are best as well?
  • 0.6 server/client is basically outdated and should not longer be used?
Avatar
Yes. But if you want to make CTF/DM small modifications then you could start with 0.7, this is the only reason.
19:36
DDNet and teeworlds differs. I've ported 0.7-based infClass clone do DDNet and some things were lacking. There are not rounds, and DDNet is mostly not about killing but about racing and timing and just have more code you will need. Though it would be rather easy to add anything missing.
19:37
And still DDNet and 0.7 code, classes, internal logic for non-ddrace mod will be 95% the same.
19:38
If you just want to make CTF/DM mod with really slightly modification you could spend a day and it will be a CTF/DM with your changes. (edited)
19:38
Also you could join my server/mod to see what is possible regardless of codebase and to get feel of 0.6/0.7 compatibility.
19:39
My mod was a hell to port to DDNet, but that's not DDNet fault but my almost zero teeworlds/DDNet knowledge at all. I am ruby developer and had 0 C++ knowledge when I've started modding. It was just 4 months ago.
19:40
Well... my problems of porting were not about DDNet/teeworlds difference but about tons of complex logic in infClass (infection mod with classes) and yes, my inexperience.
Avatar
you who developed the infclass?
Avatar
No, infClass is really old mod.
19:42
It has tons of logic and classes and very complex compared to CTF/DM or even DDNet itself. (edited)
19:43
Many people made it in 6 years so a lot of game rules and code was accumulated.
19:43
breton, yavl, stitch... there are about ~20 people in credits
19:44
But then teeworlds has splitted to 0.6/0.7 and infClass began to die. Yavl tried to help situation porting infClassR (his variant) from 0.6 to 0.7 and mostly succeeded.
19:45
But then this community and playerbase splt got worse. Other mod owners never ported their mods to 0.6 and a tribe of "0.6 people" (aka "0.7 is a shit" tribe was created).
19:46
So 0.7 playerbase is still less. And yavl's infClassR after being ported to 0.7 started dying too.
19:46
Then I've came and ported it to DDNet codebase. After 4 months of fighting for live this mod is finally well alive.
19:46
And the main reason of success if 0.6, 0.7 and DDNet client compatibility.
19:46
And a great community support.
Avatar
I'm creating a mod for 6.4, do you think I'd better do it using DDNet?
Avatar
So, DDNet-Server and also Client are compatibel with 0.6 AND 0.7 protocol as well as the ddnet-server is compatibel with all maps?
Avatar
@Spyry what mod and what is uour progress on that?
19:52
@becc yes, but DDNet client is not compatible to 0.7 teeworlds vanilla servers.
Avatar
yes, sure
Avatar
@Deleted User I'm making a city mod, it's in the beginning, I stopped now because you need to make the tile layers
Avatar
Thanks @Deleted User !
Avatar
And ddnet server is not compatible with 0.7 maps. Use 0.6/ddnet format if you're not on 0.7 codebase. (edited)
20:02
Also DDnet server will give 0.7 clients 0.7 map to make things work.
20:04
So I 0.6/ddnet is a primary format for DDNet server and it gives 0.6/ddnet clients this map natively. But there should also be maps07 folder for compatibility with 0.7 clients so they could take compatible version.
20:05
It's a bit complicated chunk of information for a starter but once it gets digested you will grasp it as something simple and logical.
20:05
@Spyry DDnet codebase is fitting overall for your mod.
20:07
If you're just cloning existing 0.7 if|city servers you could add your own 0.6 compatibility layer instead to make 0.7 server talk with 0.6 clients but this will require quite a lot low-level expertise and effort.
Avatar
Avatar
Deleted User
So I 0.6/ddnet is a primary format for DDNet server and it gives 0.6/ddnet clients this map natively. But there should also be maps07 folder for compatibility with 0.7 clients so they could take compatible version.
Why are there just a few maps in this directory?
Avatar
So far 2 people done it: fokkonaut and noby. Both are experts in both teeworlds modding and C++
20:08
@becc you should add converting to your deployment pipeline.
20:08
Or do it manually before deploying maps alone.
20:08
With convert_07 script.
Avatar
I mean here: https://github.com/ddnet/ddnet/tree/master/data/maps7 Why are there only a few= In maps are more than in maps7. What are this maps for? For the localhost server?
20:09
Sorry for so much, probably stupid questions .. I am pretty new :c
Avatar
Cause there is no point in converting ctf and dm maps for a ddnet server
20:10
I am unsure why ctf and dm maps are even in maps/ folder in ddnet.
20:10
There are no gamemodes in DDNet
Avatar
And this are just a few template maps for localhost server?
Avatar
Yes those are just some sample ddnet maps and all vanilla 0.6 teeworlds maps.
20:12
Which I think should not be there.
20:13
As there is no ctf or dm gamemode implementation in DDNet server. Though it's not hard to mod DDnet to behave like that.
20:13
I have a lot of killing AND flag grabbing in my infNext mod.
Avatar
So, they removed the default gamemodes from ddnet source?
20:14
Why would they?
20:14
Because it's just useless piece of code?
Avatar
Cause their focus was on DDRace gamemode.
Avatar
doesnt it have smth to with not having to download them on vanilla servers or is that in the appdata folder
Avatar
And teeworlds team was supporting vanilla mode. (edited)
20:16
CTF or DM modes logic is about 1% of all code.
20:16
And DDNet has about 30% more code than teeworlds to my estimations.
Avatar
Sure, ddnet is way bigger than simple ctf
Avatar
I've ported flag logic to DDnet in a couple of hours from 0.7 sources.
Avatar
so it's not that hard to port the whole game probably?
20:17
could be a nice little exercise for beginning (with basic c/c++ knowledge)
Avatar
It's not. Just nobody have reason to
20:18
Vanilla CTF and DM are ok with 0.6 or 0.7 servers (edited)
20:18
In fact there is some DDnet logic that you will turn off for the game to behave as teeworlds
20:18
But not too much and the process is mostly straightforward
20:20
Mostly related to taking damage instead of freezing
20:21
And commenting out "teams" and time scores.
20:21
And something else not very big, I don't remember now.
20:22
In fact FNG will be the first thing you will get trying to recreate CTF on DDnet platform as freeze effect will be so tempting to reuse :) (edited)
20:24
If you will port CTF or DM to DDNet it could also be the nicer repo to start DDNet modding than vanilla DDNet. I could contribute there too.
Avatar
Are lasers and stuff like that changed globally and not per mod
Avatar
There are no modes in DDnet. You will mod DDnet code directly. At first it's sounds intimidating but it's quite ok. (edited)
Avatar
So you could add modes support to DDnet. But I would not recommend that for a beginner.
20:27
Just try to recreate DM instead. Then CTf if you fancy.
Avatar
yeah sure, i want to get more familiar with the code first, thank you!
Avatar
Np, I'd like to see more teeworlds and DDnet modders.
20:28
And to see DDnet platform to be widely adopted as a base for mods.
20:29
Most modders just abandoned their 0.6 projects and never updated to any other version.
20:31
And also recently new modders starting their mods on 0.7 codebase abandoning their projects fast as they could not get playerbase
20:32
My mod survives only because it has both player segments
20:33
And it will eventually "win" over 0.6 infClass and 0.7 infCroya servers even that many old players don't like some infNext novelties to infClass.
Avatar
I have 23 players top and 9 hours gameplay marathons recently and infClass survives mostly on regional servers like Persian and Chinese.
20:34
And mine is "winning" also by ping as most players are from Europe.
20:35
And because my mod is closed source sadly and it's not easy to clone 😅
Avatar
nice nice
Avatar
I keep getting this error error C2338 with the Message Windows headers require the default packing option. Changing this can lead to memory corruption. This diagnostic can be disabled by building with WINDOWS_IGNORE_PACKING_MISMATCH defined. I got Visual Studio 2019 Community installed and opened a fresh clone (recursive) with CLion (which uses the MSVC from Visual Studio)
21:29
This happens when I am trying to run the DDNet configuration but not for DDNet-Server
Avatar
This happens when I am trying to run the DDNet configuration but not for DDNet-Server
Are you trying to run DDNet-Server with autoexec.cfg instead of autoexec_ddnet.cfg with appropriated DDNet commands?
(edited)
21:33
Cannot help you much about error here, as I am using Linux + gcc + cmake + vscode.
Avatar
I mean the Cmake run configuration
21:34
ah okay (edited)
Avatar
I use vscode with cmake plugin and it just worked from the start.
Avatar
i could try to use the WSL compiler (edited)
Avatar
@Deleted User what version can i use ddnet to create my mod?
Avatar
I have another great bug
22:13
If I click update, it just shuts down
22:14
I also get things like [2020-11-20 22:13:31][console]: failed to chain 'cl_chat_tee'
22:14
This is completely broken 😦
22:14
There is something very wrong with 15.2.2
22:20
@deen we really need to create and save debug info
Avatar
@Learath2 isnt it just better to completly remove the autoupdater at this point
22:32
monkalaugh
Avatar
I tried it and autoupdater works for me on linux and windows
22:44
no it's not
Avatar
It's completely broken for me, along with launching the game with double click
Avatar
maybe an issue on your system?
Avatar
I'm not quite sure what broke this badly
Exported 228 message(s)