Guild icon
DDraceNetwork
Development / bugs
Report client & server bugs, especially but not limited to release candidates.
Between 2020-12-13 00:00:00Z and 2020-12-14 00:00:00Z
Avatar
why isnt there a speeder?
10:00
map is aurora and theres no way saving dummy
Avatar
Probably not necessary on a5 Star map
Avatar
map is 4 star, and the whole map is unfaily
Avatar
Not every map has to be unfaily in all ways, specially that one that it's 4 stars
Avatar
theres pullers everywhere if you fail dummy gets dragged back
Avatar
not every map is perfect
Avatar
whats the point of this #bugs then
12:13
it wouldnt ruin the map if that edge would have been fixed
12:13
still the same
Avatar
100% agree just fix old junky maps literally no one cares about their pReCioUs rAnK getting devalued
Avatar
#bugs is foir client and server bugs
12:50
check the channel topic
Avatar
I think it's still ok to fix maps that have really annoying parts like that
13:05
and a low strength speeder there shouldn't affect anything else. I'd apply it if some DDNet mod/tester sends a fixed version. @jao are you ok with that?
Avatar
i wouldnt change it but im not active enough to decide it
Avatar
its so dumb to fail there especially near the end of the map, the whole map doesnt really have a spot to fail
13:10
😄
13:11
oh jao already said it
justatest 2
Avatar
We could rename the channel to software-bugs
Avatar
client-bugs would be less confusing (edited)
Avatar
but it's also about server-bugs
13:14
and I'd also appreciate reports about website bugs etc
Avatar
an own category for bugs with channels for all
Avatar
It’s not the end of the world if we get a couple map bugs too, who cares
Avatar
Дядя Женя 2020-12-13 16:41:40Z
16:42
I was playing some shitty long brutal map in team0 for 1.5 hours, then went AFK to smoke. When I came back players changed the map
16:42
is that even possible? If so - must be fixed
16:43
just losing my 1.5 hours run because I couldn't use my veto at that moment
16:43
maybe that's because I was considered as AFK and did not count as veto?
Avatar
I think vetos are counted before afk, though not sure
Avatar
Дядя Женя 2020-12-13 16:44:07Z
isn't voting system always waits for all the vetos to vote?
16:44
I thought I was safe and gone afk for 5 mins
Avatar
It should be, though I don't have the code in front of me right now, so no idea
Avatar
if you're afk you lose your veto
Avatar
Дядя Женя 2020-12-13 16:46:13Z
COOL nice
Avatar
otherwise afk people could just sit on each server and it would be impossible to change map anywhere
Avatar
Дядя Женя 2020-12-13 16:46:42Z
yes, and that should be solved in some other way
16:46
not sure what the way it is, but anyways...
16:47
do you really think I should constantly sit and play for 3+ hours on long map without going afk for 5 mins?
Avatar
I understand the problem, but if you want a solution for it, we need to consider the other problems too
Avatar
Дядя Женя 2020-12-13 16:50:09Z
nobody said that's easy problem
Avatar
Easiest would be to just increase the afk time to 10 min, but then lots of afks will lead to kick votes never succeeding and thus blockers have it easier
16:51
We could add an additional afk time for veto and set it to 20 min?
Avatar
Дядя Женя 2020-12-13 16:51:39Z
I thought about this
16:51
but then you can be still kicked out
Avatar
It's still a bit annoying on the weak VPSes we use, because we don't have many servers there
16:52
If you played in team, we could auto-save you on map change, but you were in team 0
Avatar
Дядя Женя 2020-12-13 16:52:43Z
what if you want to go afk for long. Not sure if this is the same problem, may be shouldn't even be solved right now
16:52
but what about t0 saves?
Avatar
Right, if people can't change map because of you, they'll kick you
Avatar
Дядя Женя 2020-12-13 16:53:04Z
auto-save sounds very cool
Avatar
(some people)
16:53
t0 saves will not be implemented, broken on too many maps because of switches
Avatar
Дядя Женя 2020-12-13 16:53:20Z
what about t0 saves?
16:53
oh switches....
Avatar
And it would be difficutl to define who is part of your "group"
Avatar
Дядя Женя 2020-12-13 16:54:06Z
no need to define
16:54
I mean just save one tee, add him some time for timer
16:54
Yeah, then even worse with switches
Avatar
Дядя Женя 2020-12-13 16:54:38Z
when he loads - wait when his loading position is free then spawn him there
Avatar
an additional veto afk time is something I can add and it would help a bit
Avatar
Hm, why do we care about switches?
Avatar
because you need them to play the maps
Avatar
Дядя Женя 2020-12-13 16:55:13Z
good question. How would it break?
Avatar
you touched a switch 1 part ago, can't go back there, this switch opened a door in next part
Avatar
Дядя Женя 2020-12-13 16:55:33Z
oh, you mean when you load, but switches are gone already or something
16:55
that's not our problem then
Avatar
Ah, there are switches with long lasting consequences yeah
Avatar
Дядя Женя 2020-12-13 16:55:57Z
if it does not lead to some speedrun abuses
Avatar
With short ones I was thinking "user discretion"
Avatar
but it leads to loading and you can't finish the map anymore
Avatar
Дядя Женя 2020-12-13 16:56:15Z
its ok
Avatar
but with long ones, we can't really expect people to know everything about a map
Avatar
Дядя Женя 2020-12-13 16:56:55Z
then it's your problem. Please. Stop abandon features just beacause there are some rare ways when feature will not work (edited)
16:57
beacause right now it never works, 'cause there is no feature yet
16:57
if it would work at least for some maps its already better then nothing
16:57
in this particular case there is no that much maps with long lasting switches, so don't care about them
16:58
map will be unfinishable when saved in t0, doesn't matter
Avatar
wtf t0 saves would lead to skips
16:59
solution is to not play long maps in t0
Avatar
Дядя Женя 2020-12-13 16:59:26Z
yeah, I'm afraid only about that
Avatar
Avatar
louis
solution is to not play long maps in t0
Дядя Женя 2020-12-13 17:00:00Z
its not good solution
Avatar
@louis would they? I thought about it for a minute or two but I couldn't figure out how I'd use it to skip anything
Avatar
Дядя Женя 2020-12-13 17:00:43Z
because I enter some hard and long map >> see some people playing in team 0 near the start >> I use my dummy to catch up with them >> we play together >> shit happens
Avatar
Avatar
Learath2
@louis would they? I thought about it for a minute or two but I couldn't figure out how I'd use it to skip anything
Дядя Женя 2020-12-13 17:01:09Z
actually... They wouldn't
Avatar
trust me it would
Avatar
Дядя Женя 2020-12-13 17:01:29Z
if it is skippable by using switches with save in t0 - it is skippable without saves in t0
Avatar
u could /load on a stacked tee, free sg bug anywhere
Avatar
Дядя Женя 2020-12-13 17:01:49Z
you can't save here
17:01
physics is not affected
Avatar
Ah, it would provide a way to get tees in one another yeah
Avatar
Дядя Женя 2020-12-13 17:02:11Z
you will load only when there is free space
Avatar
u could t0 skip maps with more than 63 parts
Avatar
Дядя Женя 2020-12-13 17:02:49Z
lol
Avatar
but I don't think there is anything you can do with it that you can't do with /spec
Avatar
Дядя Женя 2020-12-13 17:03:07Z
you can't load that fast
Avatar
it's just an extra long /spec
Avatar
imagine people /loading in the middle of a part, and it intercepts someone's drag part so they fall into kill
Avatar
But /spec is disabled on most maps intentionally
Avatar
Avatar
Learath2
but I don't think there is anything you can do with it that you can't do with /spec
Дядя Женя 2020-12-13 17:03:26Z
you can't touch other tees while loading!!!
Avatar
Anyway, save/load in team 0 is a no-go I think
Avatar
Дядя Женя 2020-12-13 17:03:50Z
this load should wait until there is a free space on your load position
Avatar
I'm implementing the longer veto afk timer
Avatar
Дядя Женя 2020-12-13 17:04:08Z
it's at least something
Avatar
Yeah, save/load in t0 allows you to effectively /spec on all maps, while most maps disable it because it allows cheats
Avatar
But I will probably get crucified for adding more configs 😄
Avatar
@deen I'll distract heinrich while you add the config
17:05
be quicc
Avatar
Дядя Женя 2020-12-13 17:05:29Z
why didn't you make /spec wait until there is no one on the block you're specing at?
Avatar
We didn't implement it, it's an old ddrace feature
Avatar
Дядя Женя 2020-12-13 17:05:58Z
then ez fix
17:06
but there is also a way to just stand afk on someone's /spec place
17:06
need to decide what to do in this situation
17:06
and there are already some maps are being made using /spec abuse
Avatar
no need to fix it, just make sure new maps don't have skips with it
Avatar
Дядя Женя 2020-12-13 17:06:47Z
so I think it should be quickly implemented
Avatar
theres nothing wrong with it otherwise
Avatar
Дядя Женя 2020-12-13 17:08:09Z
it breakes physics leading to some bugs and disabled /spec on most of maps
Avatar
well not only tees inside eachother, /spec allows people to pass eachother in 1tile tunnels (edited)
Avatar
Дядя Женя 2020-12-13 17:09:18Z
I'm amazed how you always end up disabling cool features instead of fixing them
Avatar
I don't like random tees appearing while I'm playing a part
17:09
even if they're not directly on my tile
Avatar
Дядя Женя 2020-12-13 17:10:17Z
/spec supposed to change strong
Avatar
I'm amazed at how you always find a way to be annoyed, there are hundreds of people here that are perfectly fine with how spec and pause work
Avatar
Дядя Женя 2020-12-13 17:10:44Z
fix weak hooks then it's not needed anymore
Avatar
We tried that multiple times
Avatar
Дядя Женя 2020-12-13 17:11:12Z
everyone is fine until you show them how it could be)
Avatar
Fixing weak hooks disables "cool features" like parts that require a weaker hook, like maps that have shotgun runs
Avatar
Avatar
deen
We tried that multiple times
Дядя Женя 2020-12-13 17:11:42Z
somehow a lot of players against this, but complain about weak bug anyways...
Avatar
No one complains about the weak bug. Weak and Strong hooks only come up when either a developer mentions them or @Skeith mentions them. People discuss for a while and remember that removing it breaks maps, so we don't remove it
Avatar
Дядя Женя 2020-12-13 17:13:59Z
fixing weak is much more serious feature to discuss, that's true (edited)
17:14
but accounts... 😏 😏 😏
17:16
What about /swap btw
Avatar
There's an issue for it, see the discussion there. It would be accepted if it's implemented and gets a punishment for swapping
Avatar
Дядя Женя 2020-12-13 17:17:11Z
I would've done a lot of cool updates already, but I kinda suck at server-sided ddnet code
17:17
Can you explain me structure in it?
Avatar
Nope, to be honest I don't know, I'd have to read to figure it out again
Avatar
Дядя Женя 2020-12-13 17:18:27Z
There are players, characters and something more happens ...
17:18
Including multithreaded shit that I completely losing track of
Avatar
You could check how /timeout works
17:18
multithreading doesn't matter here at all
Avatar
All the relevant code runs in a single thread
Avatar
Don't fix weak hook is best
Avatar
Дядя Женя 2020-12-13 17:19:41Z
I've tried to implement server-sided characters (dummies) (edited)
Avatar
that is probably hard, but would be very cool
Avatar
Дядя Женя 2020-12-13 17:20:03Z
But failed because I didn't manage to figure out all the complexity here
17:20
The thing I understood is that server assumes that if there is a character - there is a player for it
17:20
That must not be true
Avatar
yeah, you'd probably have to fix that in many places
17:21
it's not cleanly separated
Avatar
Дядя Женя 2020-12-13 17:21:37Z
So implementing it requires rewriting of current architecture
17:22
I tried to do it, but it's too complex for me since I'm not familiar with ddnet server side code (edited)
Avatar
and that's why no one ever did it, even though it's been proposed since day 1 of ddnet
17:22
would be cool for tutorials too
Avatar
I'd probably start by making sure all accesses to the player of a character goes through one function. Then I would create a CCharacter with a nullptr CPlayer. Let gdb sort it out, whenever it crashes you need to add a if(!isDummy)
Avatar
Дядя Женя 2020-12-13 17:23:28Z
Yes, I thought that if I'll implement it I could add the possibility to write custom AI for them in editor
Avatar
it's not rocket science, it's just a little tangled up in there which needs a bit of cleanup
Avatar
Дядя Женя 2020-12-13 17:23:52Z
I'd probably start by making sure all accesses to the player of a character goes through one function. Then I would create a CCharacter with a nullptr CPlayer. Let gdb sort it out, whenever it crashes you need to add a if(!isDummy)
@Learath2 nice suggestion
Avatar
Instead of AI I would suggest using recordings of movement and replaying that
Avatar
The actual problem is that no one dares touch this stuff, it is quite fragile so small mistakes can break things in very subtle ways that are hard to diagnose
Avatar
Дядя Женя 2020-12-13 17:24:58Z
Btw I had some experience in writing compilers and interpreters, so it would be interesting for me to create scripting language for ddnet
Avatar
it would probably go unused
Avatar
Дядя Женя 2020-12-13 17:25:21Z
Instead of AI I would suggest using recordings of movement and replaying that
@deen yes, ofc
17:25
it would probably go unused
@Learath2 no no, easy scripts like
Avatar
After a couple thousand lines of discussions we came to the conclusion that we'd much prefer to use a language with a well tested sandbox rather than roll our own if we ever have scripting in ddnet
Avatar
Дядя Женя 2020-12-13 17:26:14Z
If (nearest_tee().distance < 10) Hook(nearest_tee()) (edited)
Avatar
wasm was the leading choice with lua trailing as a second
Avatar
Дядя Женя 2020-12-13 17:26:31Z
Would make a "blocker" dummy that you should pass
Avatar
@Дядя Женя CNetServer::SetTimedOut is what does the timeout-logic. If you save both and then swap them it should be /swap
Avatar
Дядя Женя 2020-12-13 17:27:25Z
True
Avatar
interpreting scripts is almost always unacceptable performance-wise, especially for AI that needs to tick 50 times a second. You'd almost certainly need to write a JIT or atleast some bytecode that's cheaper to interpret than lexing/parsing this stuff
Avatar
Дядя Женя 2020-12-13 17:28:56Z
You can precompile it
Avatar
you precompile it to what? x86? x86-64? do we start shipping maps with different architectures?
17:29
do we ship an entire compiler in ddnet?
Avatar
Дядя Женя 2020-12-13 17:30:11Z
why didn't you still merge my awesome tabs animations
Avatar
You'll just end up reinventing JIT, at which point luajit, v8, wasm all existed for much longer and have excellent performance, might aswell use that
Avatar
Дядя Женя 2020-12-13 17:30:43Z
ok, that's not the problem right now anyway
Avatar
Yes, this is all pointless to discuss. It's much more work than we have hands for so we discussed and shelved these. You seem to have free hands, so I'm just telling you what we concluded so you don't go implementing something we already deemed not viable and waste your time
Avatar
Дядя Женя 2020-12-13 17:58:20Z
There is a way to start "putt putt" map skipping start tiles if you're interested
Avatar
if person is in super and shoots rocket , the player with out super don't see rocket bullets and explosion at all ( in my teeworlds ) or seeing explosion but no bullets ( in my brother teeworlds ) (edited)
Avatar
@Дядя Женя yes and? it can't be cheated btw
Exported 188 message(s)