01:23 <+fokkonaut> Hey, I need some help: 01:28 <+fokkonaut> So I added a new WEAPON type [6] in protocol.h right above NUM_WEAPONS 01:28 <+fokkonaut> now the problem is, whem i change to the new weapon type ingame, i have a ninja skin (but obviously cant shoot). 01:29 <+fokkonaut> My question is: Is it possible and if yes HOW to remove the ninja. I want the tee to have no weapon in his hand 01:42 <+Konsti> lmao just choose number 7 instead og 6 01:44 <+fokkonaut> lmao thanks Konsti. Any qualified answers? 02:04 <+fokkonaut> im in ddnet 9.0.2 not 11! 02:06 <+bridge> [ddnet] !! 02:08 <+fokkonaut> test 02:36 <+fokkonaut> or if its not possible to hide just the weapon, is it possible to have ninja but without freeze skin? (like cl_show_ninja but serverside?) 08:20 <+bridge> [ddnet] what does sv_high_bandwidth actually do? 09:31 <+bridge> [ddnet] @onby send snapshots every tick instead of every other tick 09:34 <+bridge> [ddnet] how does this change the gameplay for people 09:37 <+Learath2> you learn about changes in input and serverside events sooner 09:38 <+Learath2> heinrich5991: I have time now if you want, like an hour 10:08 <+bridge> [ddnet] should it be enabled by default then if the server has enough bandwidth to support it? 10:35 <+Learath2> @onby, doubt it will change that much 10:45 <+bridge> [ddnet] @onby it says 'for LAN'. not really necessary if bandwidth is not free (as it is on a LAN) 10:45 <+bridge> [ddnet] note that your players also have to support the additional bandwidth 10:46 <+bridge> [ddnet] @fokkonaut by adding a new weapon, you'd need to change the client as well 10:46 <+bridge> [ddnet] the client thinks that weapon 5 = ninja 10:47 <+bridge> [ddnet] i am on weapon 6 10:50 <+bridge> [ddnet] do you only want to modify the server? or both client and server? 10:50 <+bridge> [ddnet] server only 10:50 <+bridge> [ddnet] ddnet 9.0.2 btw 10:51 <+bridge> [ddnet] the client doesn't know any weapon higher than 5 10:51 <+bridge> [ddnet] so you have to send a weapon <= 5 to the client 10:52 <+bridge> [ddnet] if i send 5 and modify the ninja? 😃 10:52 <+bridge> [ddnet] if you send 5, the client will show a ninja 10:52 <+bridge> [ddnet] cant i edit that? 10:52 <+bridge> [ddnet] but the weapon you send to the client doesn't have to correspond to the weapon you use on the server 10:53 <+bridge> [ddnet] see: the client decides what to display depending on what number you send it 10:53 <+bridge> [ddnet] you can't change that as you apparently don't want to modify the client 10:53 <+bridge> [ddnet] but that's just what the client will display 10:53 <+bridge> [ddnet] your server can keep track of totally different weapons 10:54 <+bridge> [ddnet] will the client always show freeze when i use ninja? 10:54 <+bridge> [ddnet] i mean without cl_show_ninja 0 10:54 <+bridge> [ddnet] the client will always show the ninja if you send "weapon 5" 10:55 <+bridge> [ddnet] so its not possible without client modification? 10:55 <+bridge> [ddnet] what is not possible without client modification? 10:55 <+bridge> [ddnet] having no weapon or ninja without freeze 10:56 <+bridge> [ddnet] the ninja has a weapon too, it's the little sword sticking out on the side 10:56 <+bridge> [ddnet] having no weapon is not possible AFAIK 10:57 <+bridge> [ddnet] ye i want the katana without the freeze skin 10:57 <+bridge> [ddnet] possible? 10:58 <+bridge> [ddnet] not without client modification 10:58 <+bridge> [ddnet] I find it funny that you call it "freeze" skin as opposed to "ninja" skin 10:58 <@heinrich5991> Learath2: still available? 11:01 <+bridge> [ddnet] ok, thanks heinrichs 11:01 <+bridge> [ddnet] ok, thanks heinrich 11:06 <@heinrich5991> ok. the question is how to properly support ipv6 with http masters 11:06 <@heinrich5991> clearly, we should support multistack servers, that is, servers offering their service over both ipv4 and ipv6 11:06 <@heinrich5991> how should the register process for something like that look like? 11:06 <@heinrich5991> the server doesn't necessarily know its external ip address 11:07 <@heinrich5991> should the server alternate between sending the register command over ipv4 and ipv6? 11:07 <@heinrich5991> thus letting the master server know about both addresses? 11:08 <@heinrich5991> how should the server detect that one of ipv4/ipv6 doesn't work 11:08 <@heinrich5991> what about the masters? with the above proposal, they'd have to be dualstack ipv4/ipv6 11:17 <@deen> heinrich5991: just send it once over both ipv4 and ipv6 with some common token? 11:18 <@heinrich5991> do you mean the "initial register"? 11:18 <@heinrich5991> i.e. the servers have to send some kind of heartbeat to the masterservers anyway 11:18 <@heinrich5991> what you say sounds kinda good though :) 11:19 <+bridge> [ddnet] does tw support ipv6 when playing or its just ddnet that doesn't support it? 11:19 <+bridge> [ddnet] (ddnet ger) 11:19 <@heinrich5991> tw kinda supports ipv6, but not in good ways 11:19 <@heinrich5991> you can connect to a server via ipv6 11:19 <@heinrich5991> additionally, ddnet does not offer its service over ipv6 11:19 <+bridge> [ddnet] i usually have better connection with ipv6 11:19 <+bridge> [ddnet] it's weird 11:19 <+bridge> [ddnet] yeah 11:19 <@heinrich5991> maybe you're behind carrier-grade nat (CGN) for your ipv4 stuff 11:20 <@heinrich5991> do you have an own ipv4 for your home? 11:20 <+bridge> [ddnet] i do 11:20 <@heinrich5991> i.e. can you host a teeworlds server if you forward ports? 11:20 <@heinrich5991> ok 11:20 <@heinrich5991> mh 11:20 <+bridge> [ddnet] i find it weird too 11:20 <+bridge> [ddnet] but when playing over ipv4 i get weird disconnects, and when i do it over ipv6 i dont 11:20 <+bridge> [ddnet] only with udp 11:20 <+bridge> [ddnet] mh. weird but not unimaginable ^^ 11:35 <@deen> when we have both ipv4/ipv6 servers, client needs some net_prefer_ipv6, since some isps provide only native ipv4, others only native ipv6 (and routing problems might be stronger with either as well) 11:36 <@deen> heinrich5991: alternating between all ipv4/ipv6 with the same token sounds fine 11:37 <@heinrich5991> okay :) 12:10 <+Learath2> heinrich5991: here now 12:10 <@heinrich5991> read above 12:12 <+Learath2> same token, alternating protocol sounds fine 12:13 <@heinrich5991> kk 12:19 <+bridge> [ddnet] @heinrich5991 is it possible to make the name invisible using SetClientName? 12:20 <+bridge> [ddnet] you mean setting an empty name? 12:20 <+bridge> [ddnet] yes 12:21 <+bridge> [ddnet] are you sure you want to set the empty name for everything on the server, including server info, rcon status? 12:21 <+bridge> [ddnet] or are you just doing it to hide it from players using name plates? 12:21 <+bridge> [ddnet] yes 12:22 <+bridge> [ddnet] i mean 12:22 <+bridge> [ddnet] which of these questions is a 'yes'? ^^ 12:22 <+bridge> [ddnet] i want the name tag to be not visible for players playing with nameplates on 12:22 <+bridge> [ddnet] ah 12:22 <+bridge> [ddnet] then the other solution in `Snap` is likely the more correct one 12:23 <+bridge> [ddnet] i.e. in src/game/server/player.cpp, in `CPlayer::Snap`: 12:23 <+bridge> [ddnet] const char *pName; 12:23 <+bridge> [ddnet] if(name_invisible(m_ClientID)) 12:23 <+bridge> [ddnet] pName = ""; 12:23 <+bridge> [ddnet] else 12:23 <+bridge> [ddnet] pName = Server()->ClientName(m_ClientID); 12:23 <+bridge> [ddnet] StrToInts(&pClientInfo->m_Name0, 4, pName); 12:23 <+bridge> [ddnet] ``` 12:23 <+bridge> [ddnet] const char *pName; 12:23 <+bridge> [ddnet] if(name_invisible(m_ClientID)) 12:23 <+bridge> [ddnet] pName = ""; 12:23 <+bridge> [ddnet] else 12:23 <+bridge> [ddnet] pName = Server()->ClientName(m_ClientID); 12:23 <+bridge> [ddnet] StrToInts(&pClientInfo->m_Name0, 4, pName); 12:23 <+bridge> [ddnet] ``` 12:24 <+bridge> [ddnet] and instead of `if(name_invisible(m_ClientID))`, you can put any condition you like 12:24 <+bridge> [ddnet] e.g. `if(g_Config.m_SvHideNameplates)` 🙂 12:24 <+bridge> [ddnet] ok ima try that 12:27 <+bridge> [ddnet] ´´´const char *pName; 12:27 <+bridge> [ddnet] if(name_invisible(m_ClientID)) 12:27 <+bridge> [ddnet] pName = ""; 12:28 <+bridge> [ddnet] else 12:28 <+bridge> [ddnet] pName = Server()->ClientName(m_ClientID); 12:28 <+bridge> [ddnet] StrToInts(&pClientInfo->m_Name0, 4, pName);´´´ 12:28 <+bridge> [ddnet] i dont understand what the code does 12:28 <+bridge> [ddnet] tbh 12:28 <+bridge> [ddnet] but it works 12:28 <+bridge> [ddnet] the `Snap` function? 12:28 <+bridge> [ddnet] or the `if` statement I added? 12:29 <+bridge> [ddnet] yours 12:29 <+bridge> [ddnet] why no {} and why the else? 12:30 <+bridge> [ddnet] the `Snap` function decides what to send to the client 12:30 <+bridge> [ddnet] and usually, the client gets the normal player name 12:31 <+bridge> [ddnet] the line looks like `StrToInts(&pClientInfo->m_Name0, 4, Server()->ClientName(m_ClientID));` 12:31 <+bridge> [ddnet] but we now change what name we want to send to the client, depending on some criteria 12:33 <+bridge> [ddnet] i.e. if whatever condition we want holds (the `if`), we want to hide the player name (the line after the `if`), but if that condition doesn't hold (the `else`) we still want to show the normal player names (the line after the `else`). the next line (with the `StrToInts`) takes our new variable `pName` and writes it into the same position as the code did before 12:35 <+bridge> [ddnet] aaaaaa 12:35 <+bridge> [ddnet] amazing 😄 12:36 <+bridge> [ddnet] okay one more thing, how do i send chat messages now? :p 12:37 <+bridge> [ddnet] if (m_PlayerFlags&PLAYERFLAG_CHATTING) 12:37 <+bridge> [ddnet] { 12:37 <+bridge> [ddnet] ShowName = true; 12:37 <+bridge> [ddnet] } 12:37 <+bridge> [ddnet] something like that? 12:37 <+bridge> [ddnet] that's a little more complicated 12:37 <+bridge> [ddnet] the correct answer is probably: just prepend the name to the chat message and live with the extra ': ' 12:38 <+bridge> [ddnet] with the code i posted its possible but you would see my name every time my chat is opened xd 12:38 <+bridge> [ddnet] yes :/ 12:38 <+bridge> [ddnet] 😄 12:39 <+bridge> [ddnet] tthanks so far heinrich 12:39 <+bridge> [ddnet] and it doesn't work for chat messages that you bind 12:39 <+bridge> [ddnet] np 12:40 <+bridge> [ddnet] true 13:02 <+bridge> [ddnet] @heinrich5991 pClan = Server()->ClientName; 13:02 <+bridge> [ddnet] that doesnt work, how can i get it to work? 😄 13:02 <+bridge> [ddnet] @heinrich5991 pName = Server()->ClientName; 13:05 <+bridge> [ddnet] nvm 13:40 <+bridge> [ddnet] const char *pSkin; 13:40 <+bridge> [ddnet] if (m_SpookyGhostActive) 13:40 <+bridge> [ddnet] pSkin = "ghost"; 13:40 <+bridge> [ddnet] else 13:40 <+bridge> [ddnet] pSkin = m_TeeInfos.m_SkinName; 13:40 <+bridge> [ddnet] StrToInts(&pClientInfo->m_Skin0, 6, pSkin); 13:41 <+bridge> [ddnet] i added this to snap function 13:42 <+bridge> [ddnet] const char *pSkin; 13:42 <+bridge> [ddnet] if (m_var) 13:42 <+bridge> [ddnet] pSkin = "ghost"; 13:42 <+bridge> [ddnet] else 13:42 <+bridge> [ddnet] pSkin = m_TeeInfos.m_SkinName; 13:42 <+bridge> [ddnet] StrToInts(&pClientInfo->m_Skin0, 6, pSkin); 13:42 <+bridge> [ddnet] 13:42 <+bridge> [ddnet] i added this to snap function and it doesnt work :x 13:48 <+bridge> [ddnet] why do u reinvent the rad @fokkonaut 13:48 <+bridge> [ddnet] u know we have all the stuff already ... 13:48 <+bridge> [ddnet] https://github.com/ChillerDragon/DDNetPP/commit/e3dbd083c4db43b8505d3f1c637d51158596f300 13:48 <+bridge> [ddnet] ye 17:27 <@deen> RUS disk is mounted read-only, seemsto have some problems 17:35 <+Learath2> [6106553.048818] EXT4-fs error (device vda1): ext4_mb_generate_buddy:758: group 13, block bitmap and bg descriptor inconsistent: 8962 vs 8690 free clusters 17:35 <+Learath2> [6106553.068101] Aborting journal on device vda1-8 17:37 <+Learath2> deen: are you working on it or should I try? both of us messing with it at the same time doesn't sound like a good idea :D 17:38 <+Learath2> actually I can't really do much in this case, as I wouldn't (possibly can't even?) touch it while the system is booted 18:16 <+bridge> [ddnet] How do I create a timer of 1 second? I want it to start when I shoot and to stop after 1 sec. (having a var true for 1 sec after the first shot) 18:21 <+bridge> [ddnet] nvm xyd 19:01 <+bridge> [ddnet] where are the over head emoticons set in the code? so wheres the part that tells the server which emoticon to make? 19:26 <@deen> I'll try making a backup of RUS and reboot to see if it's fixed 20:11 <+Learath2> deen: got the backup? 20:28 <@deen> yeah, rebooting now 20:29 <+bridge> [ddnet] reboot is gud 20:31 <@deen> but I'll be gone in 15 min again, doesn't seem to be booting up :/ 20:34 <@deen> wrote a support ticket 20:34 <+Learath2> deen: well is it a managed server? if not doubt it's their problem as it probably isn't a hw problem 20:34 <@deen> why? 20:34 <@deen> sounds like broken disk to me 20:35 <+Learath2> but it's a virtual server, a broken disk should upset more then 1 customer 20:35 <@deen> yeah, so I ask them if it's a known problem 20:36 <@deen> I don't even see a setting to reinstall the OS in their web interface, so dunno what else to do 20:37 <+Learath2> Oh I see, then I guess we wait. 20:39 <+bridge> [ddnet] nice ddos 20:39 <@deen> ah, found some vnc at least, running fsck 20:40 <@deen> working I guess 20:43 <+Learath2> did you regenerate the journal? 23:05 <+bridge> [ddnet] i have one thing to say 23:05 <+bridge> [ddnet] projectile code sucks 23:07 <+bridge> [ddnet] yes 23:07 <+bridge> [ddnet] thanks 23:07 <+bridge> [ddnet] 23:07 <+bridge> [ddnet] https://cdn.discordapp.com/attachments/293493549758939136/467799432272936970/Screenshot_1.png 23:08 <+bridge> [ddnet] tell me how to make plasma projectiles slower pls 23:08 <+bridge> [ddnet] D