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 2022-06-15 00:00:00Z and 2022-06-16 00:00:00Z
Avatar
@deen wait !!!
00:49
@c0d3d3v we need the ability to adjust the ddrace hud from the server before the release!!
Avatar
pls :C
01:14
GameInfoEx flags
03:36
is there any way to quickly reload mapres?
03:37
would be nice for drawing mapres and reloading them to see the changes in-game quicker
Avatar
i just replace it with the same file
Avatar
yeah thats the fastest way i know
04:45
its a bit annoying with a lot of reloads + if you have folders inside the mapres folder
Avatar
showing heatbox.
05:04
hehe)
Avatar
chillerdragon BOT 2022-06-15 07:08:12Z
@fokkonaut: yea seeing spawn weapon ammo on fddrace in ddrace hud would be nice
Avatar
Avatar
fokkonaut
@c0d3d3v in #5259 you didnt apply the velocity using clampvel as before, why? isnt that a physics change?
the value was before NaN and therefor not clamp... so I did copy the behaviour
Avatar
Avatar
fokkonaut
@c0d3d3v we need the ability to adjust the ddrace hud from the server before the release!!
can wait till 16.3. You requested before that to move ddnet char display info to ddnet character ... thats what I'm working on, before I add the other flags (edited)
Avatar
@louis how do you like this size for the dummy actions:
09:05
its 2 units bigger, and on margin on the sides 1 unit bigger
Avatar
Crashes when opening editor: `` [2022-06-15 11:14:21][assert]: CUI::ConvertMouseMove CursorType 0 Process 11008 stopped * thread #1, queue = 'com.apple.main-thread', stop reason = EXC_BREAKPOINT (code=1, subcode=0x10008d0d0) frame #0: 0x000000010008d0d0 DDNet::dbgbreak() at system.cpp:194:2 191 void dbgbreak() 192 { 193 #ifdef __GNUC -> 194 __builtin_trap(); 195 #else 196 abort(); 197 #endif Target 0: (DDNet) stopped. (lldb) up frame #1: 0x0...
09:19
I don't see anything working badly (using mouse) @Robyt3 This might not be the proper fix. I think editor doesn't use relative mouse mode, thus it returns CURSOR_NONE in CursorRelative.

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
  • [ ] Considered possible null pointers and out of boun...
09:23
@Robyt3 It seems like Joystick is the term for flight-game controllers, do we want to call it gamepad instead? Or just controller? Not sure what the best term here is.
Avatar
[quakenet] ChillerDragon BOT 2022-06-15 09:39:15Z
omagawd joppey it broke again error: cannot convert ‘std::chrono::nanoseconds’ {aka ‘std::chrono::duration<long int, std::ratio<1, 1000000000> >’} to ‘int’ in assignment
09:39
wat an pain of a error message
09:41
oke fixed in 2 min but still -.-
Avatar
Status still waiting for official snowflake texture Some of the changes are only available in the next version Implements a few of the recommendations from https://github.com/ddnet/ddnet/issues/5159
  • removes all the player capability messages send by the server, that are now displayed in the HUD
  • remove cl_ddrace_hud and cl_show_freeze_bars, instead we now have a cl_freezebars_alpha_inside_freeze setting to change the opacity if the player is inside a freeze tile (default visible 10...
Avatar
Not my fault
Avatar
[quakenet] ChillerDragon BOT 2022-06-15 10:04:28Z
u changed the Now thing again didnt u
10:05
any1 here playing on 2b2t?
10:06
@Ryozuki when build a good minecraft client in rust?
Avatar
A minecraft-like multi version client implemented in Rust. - GitHub - Lea-fish/Leafish: A minecraft-like multi version client implemented in Rust.
Avatar
[quakenet] ChillerDragon BOT 2022-06-15 10:12:41Z
yea leafish is a fork of stevenarella splitting the non existant dev base enven more
10:13
both clients are not functional enough to be used for playing the game in any capacity
10:13
leafish is literally ddnet adding new features but then not updating to new minecraft version xd
Avatar
they look like the best starting points if you want a functional rust client for minecraft
10:14
perhaps you could even contribute, I'd imagine that being fun 🙂
Avatar
[quakenet] ChillerDragon BOT 2022-06-15 10:14:40Z
yea sure ryo go contribute there
10:16
im actually thinking about switching to gitlab
10:17
well first of all m$ and gh being closed src. But now that i tried setting up my own CI runners on github and on gitlab i really wanna make the change
10:18
but only if gitlab pays me enough to promote their platform. Since i would lose a lot of followers that wont make the switch away from gh
Avatar
Fixes the editor crash. CURSOR_NONE is returned when the cursor was not moved. Closes #5418.

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
  • [ ] Considered possible null pointers and out of bounds array indexing
  • [ ] Changed no physics that affect existing maps
  • [ ] Tested the change with...
10:23
After fixing the crash I noticed another issue: the joystick is slower in the editor for some reason. I can take a look later today.
Avatar
i need lessons in c++. so i want to access GetGameInfo from scoreboard.cpp, but it's only in gameclient.cpp. is getgameinfo even intended to get accessed from other classes (right now it's only accesses from inside gameclient) i see graphics()-> a lot in hud.cpp, which is from component.cpp i think / or it's passed on there or smthn. but hud doesn't #incdude component.cpp so how does hud.cpp get access to Graphics()-> at all? 😂 😅 (edited)
10:33
can i just do this with gameinfo? class IGraphics *CComponent::Graphics() const { return m_pClient->Graphics(); }
Avatar
[quakenet] ChillerDragon BOT 2022-06-15 10:39:39Z
are you workin on a pr for ddnet?
Avatar
Avatar
[quakenet] ChillerDragon
are you workin on a pr for ddnet?
10:50
hide the goalshud in ddrace mod
Avatar
Also added one Localize

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
  • [ ] Tested the change with [ASan+UBSan or valgrind's memcheck](https://github.com/ddnet/ddnet...
Avatar
nvm, i can just acces gameclient from hud.cpp i think
Avatar
7472e99 Add missing CursorType != IInput::CURSOR_NONE check in editor - Robyt3 3cafdb3 Merge #5421 - bors[bot]
11:06
34d3ddd Rename joystick to controller (settings, configs) (fixes #5419) - def- cdb6ca1 Add translations for 16.2 - def- fc1ae62 Version 16.2 - def-
Avatar
do it using getgameinfo from gameclient introducting a new flag for ddrace.

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
  • [ ] Tested the change with [ASan+UBSan or...
Avatar
34d3ddd Rename joystick to controller (settings, configs) (fixes #5419) - def- c04aaac Merge #5423 - bors[bot]
Avatar
Avatar
c0d3d3v
can wait till 16.3. You requested before that to move ddnet char display info to ddnet character ... thats what I'm working on, before I add the other flags (edited)
Ah, well, thats not as important as customization i think :/
12:18
Because my server needs ammo for example, i cant wait tbh :D
12:19
People will complain, and when implementing such features its always important to have the possibility to get the old behaviour back
12:19
Usually, not to break old mods, its sometimes even better to only use the new thing for new servers which fully support it, to not break older mods or smth
Avatar
but thats too late now and not that big of a problem, if the customization comes (which shouldnt be too much code i think)
Avatar
@cauldron e.g. c++ bool ShouldRenderGoals = m_pClient->m_Snap.m_pGameInfoObj && (m_pClient->m_Snap.m_pGameInfoObj->m_ScoreLimit || m_pClient->m_Snap.m_pGameInfoObj->m_TimeLimit || (m_pClient->m_Snap.m_pGameInfoObj->m_RoundNum && m_pClient->m_Snap.m_pGameInfoObj->m_RoundCurrent));
Avatar
+1 xd
Avatar
I saw already an pic where someone play teeworlds with controller. I would also help to make it playable.
12:39

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
  • [ ] Tested the change with [ASan+UBSan or valgrind's memcheck](https://github.com/ddnet/ddnet/#using-addresssanitizer--u...
Avatar
I am currently working on the bouncy slime blocks and I have an edge case: If I hit two tiles, one is bouncy and one is normal, what should the behavior be? I currently implemented the max value, which means, as soon as you edge a bouncy block, you bounce. But from my personal experience on a trampoline, you usually slow down or stop when hitting an edge. What would you do?
12:43
I could do this gradually, too, I am not limited to min/max, I could also mix them btw
Avatar
perhaps you could take the bouncines from the block that the center of the tee is on
12:46
unless you only hit one block, then take that bounciness
12:50
no, not the minimum
👍 1
Avatar
2cc54c5 'Char' -> 'pChr' - ChillerDragon e7a668b Merge #5426 - bors[bot]
Avatar
@c0d3d3v i get first complaints... the hud withut Serverside customization kills my mod in some points
Avatar
@heinrich5991 thank you, works perfectly and intuitive :3
Avatar
Avatar
fokkonaut
@c0d3d3v i get first complaints... the hud withut Serverside customization kills my mod in some points
chill... you also had enough time to implement yourself. I will try to add it today
Avatar
i am on it already
Avatar
[quakenet] ChillerDragon BOT 2022-06-15 13:48:19Z
watafk is this music
13:48
xxxxxxxxxxxxxxxxxxxxxxxxxxD
13:50
omg my tests are playing music aaaaaaaaaaaaaaaaaaaaaaaa
Avatar
Avatar
fokkonaut
@c0d3d3v i get first complaints... the hud withut Serverside customization kills my mod in some points
+1 i can't see Taser ammo
13:59
14:00
heartw 1
Avatar
Needed on my mod for example, lets the server decide by sending flags via gameinfoex which hud will be displayed.

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
  • [ ] Considered possible null pointers and out of bounds array indexing
  • [ ] Changed no physics that affect existing maps
  • [ ] Tes...
Avatar
Avatar
fokkonaut
Click to see attachment 🖼️
this one feels overloaded
Avatar
it does, but sometimes the server might need it. the server can of course also disable the ddrace hud for example in a vanilla based minigame or something
14:06
where only the damage and ammo is important
Avatar
@heinrich5991 well nothing 😅
Avatar
I wouldn't want the hud to be too different between modes in consideration for new players
Avatar
but resizing the spechud needs to know the conditions
Avatar
Avatar
Welshi
I wouldn't want the hud to be too different between modes in consideration for new players
if you are in a vanilla based gamemode, you of course want ammo and health and shields
14:11
that will stay the same
Avatar
yeye just stating a concern
Avatar
its just that a server that relies on the ammo count for example or has a minigame where you can get damage needs these
💯 1
14:11
nothing more
Avatar
cause if it's too different playing a different mode can be kind of daunting for someone who's new
Avatar
that will not be the case, will never be too different
Avatar
maybe ill lift the conditions up into onrender and modify the parameters in the goalshudrender and spechudrender functions @heinrich5991 (edited)
Avatar
alright ^^
Avatar
@Welshi i know what you mean, but its important to make these switchable ingame
14:13
+ make them switchable without relying on a game mode
Avatar
@cauldron thanks
Avatar
or on other stuff that is sent
14:13
right now you can only get the ddrace hud by sending special information, which are also used for example for prediction and antiping. of course i dont want my players to not have these benefits, while i still need the vanilla hud in some situatons
Avatar
@cauldron btw, if you add a new flag, you can look at @fokkonaut's PR to see how to do it. but I'm in favor of not adding a new flag for that
Avatar
Avatar
heinrich5991
@cauldron btw, if you add a new flag, you can look at @fokkonaut's PR to see how to do it. but I'm in favor of not adding a new flag for that
ok, yeah i think "lifting up" the conditions is the most seamless way. but if there would me more hud stuff dependend on game type it might be worth it adding a flag (edited)
Avatar
the idea is that the DDNet flag is only used as fallback
14:16
otherwise we'll get mods pretending to be ddnet when they actually aren't
14:16
because they can't set the flags individually
Avatar
Avatar
heinrich5991
otherwise we'll get mods pretending to be ddnet when they actually aren't
cant the code be smart enough to determine the gametype without "gametype spoofing"
14:20
if they cant set the flags make other gametypes default to "other" and ddrace "ddrace"
14:21
but i dont know the codebase enough to
14:21
know whats best
Avatar
I'm not sure what exactly you mean. the idea is that the server should be able to specify what parts of the HUD to display
14:25
if it can only do so via pretending to be ddnet and getting all ddnet-specific features, like freeze prediction etc., that's a bad thing because the mod might actually be incompatible with them
14:26
but this is kinda unrelated to the problem at hand — a ddnet server could still potentially have a time limit for a map, and a non-ddnet server can still have no condition for ending a round, so the best way forward is to explicitly check for the "no goals" condition and not use a proxy for that IMO
Avatar
hmmmm... i dont know how to edit the ddnet server code, so that it doesnt "request" to show the goalshud
Avatar
okay, more clearly:
14:28
don't check for flags etc.
14:28
check the condition I posted above
Avatar
Avatar
heinrich5991
@cauldron e.g. c++ bool ShouldRenderGoals = m_pClient->m_Snap.m_pGameInfoObj && (m_pClient->m_Snap.m_pGameInfoObj->m_ScoreLimit || m_pClient->m_Snap.m_pGameInfoObj->m_TimeLimit || (m_pClient->m_Snap.m_pGameInfoObj->m_RoundNum && m_pClient->m_Snap.m_pGameInfoObj->m_RoundCurrent));
this condition
14:29
it's true precisely when the goals would be non-empty
Avatar
Avatar
heinrich5991
I'm not sure what exactly you mean. the idea is that the server should be able to specify what parts of the HUD to display
so what should i do now? server or lift conditions?
14:31
i have to go off
Avatar
lift condition, probably, if I understand you correctly
14:32
sorry for being unclear
Avatar
@heinrich5991 master down
Avatar
Avatar
fokkonaut
@heinrich5991 master down
POGGIES
Avatar
Avatar
c0d3d3v
@louis how do you like this size for the dummy actions:
i guess its an improvement
Avatar
For a second time in less than a year, the Travis CI platform for software development and testing has exposed user data containing authentication tokens that could give access to developers' accounts on GitHub, Amazon Web Services, and Docker Hub.
15:18
sue
Avatar
well i'd have to see it ingame but ye i think its better
Avatar
why is it, that there is no master2 running?
15:20
cant we like create a github repo and make master4 redirect to a server.json so its never completly down
Avatar
Avatar
louis
i guess its an improvement
@Ravie told the old size is better because it is the same size as the icons on the left side... so one size for all icons
Avatar
probably cause he wants everything to be scaled perfectly between game and .png
15:22
but i realized that people probably won't be looking at that all the time so it's fine if it's 2 pixels larger or smaller
Avatar
What would you prefer, having it a little bit bigger, or the same size as the icons on the left
Avatar
if it's only a bit bigger, it doesn't matter to me
Avatar
i mean like if they are still on the far right of the screen i change my mind about size cause you still have to move your eyes
Avatar
Avatar
louis
probably cause he wants everything to be scaled perfectly between game and .png
that too but proportions get messed up
Avatar
Avatar
louis
i mean like if they are still on the far right of the screen i change my mind about size cause you still have to move your eyes
do you have an idea for a better spot? Are you a dummy player?
Avatar
im not a dummy player so maybe don't ask me
15:26
maybe tryhards would like them in a circle around the main tee with alpha so they don't have to look away but i don't think any hud elements are so important for that
Avatar
I think the main feature for it is only to check if your binds decativated this actions.
Avatar
i think those are more useful for just checking if you have copy on before a solo part or smth
15:27
yeah
Avatar
Split IEditor::UpdateAndEditor into OnUpdate and OnRender and call the various input and UI methods in the same order as in the gameclient. This fixes the joystick input being slow in the editor.

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
  • [ ] Considered possible null pointers and out...
Avatar
Avatar
AssassinTee
I am currently working on the bouncy slime blocks and I have an edge case: If I hit two tiles, one is bouncy and one is normal, what should the behavior be? I currently implemented the max value, which means, as soon as you edge a bouncy block, you bounce. But from my personal experience on a trampoline, you usually slow down or stop when hitting an edge. What would you do?
take average value?
Avatar
Avatar
Chairn
take average value?
I already solved it, but taking the average would be the worst option
Avatar
i would bounce normally if there is no adjacent hookable and not bounce if you land on a hookable as well
16:13
cause if you land one foot on a trampoline one on concrete you will not bounce
Avatar
the you would have full power, half power and no power on two blocks
Avatar
you can also interpolate between both value until the tee is fully in*
16:13
would make smoother transition i guess
Avatar
Avatar
Chairn
you can also interpolate between both value until the tee is fully in*
that is totally doable :D currently i cutoff exectly in the middle
Avatar
Avatar
louis
i would bounce normally if there is no adjacent hookable and not bounce if you land on a hookable as well
that is the minimum approach, also a valid choise
16:18
I have this problem for every material interaction, you see why this is hard?
Avatar
are the servers already using release candidate?
Avatar
I can start a home server if you want, but I currently have no server with all materials
Avatar
Avatar
Jupstar ✪
why is it, that there is no master2 running?
because we merged http masters before having redundancy
16:44
I guess we could push the servers.json to the chinese master2.ddnet.tw for now as redundancy
16:45
but then it'll show outdated data without showing that it's outdated
Avatar
mhh, maybe we need smth like secundary master server, or a local backup. but that also sucks. but having no list sucks even more, so dunno :/
Avatar
I guess a way of showing that the list is outdated might be a good first
Avatar
eb7e210 Separate editor update and render to fix slow joystick input - Robyt3 3920b48 Merge #5428 - bors[bot]
Avatar
Following of https://github.com/ddnet/ddnet/pull/5391

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
  • [ ] Tested the change with [ASan+UBSan or valgrind's memcheck](http...
Avatar
[quakenet] ChillerDragon BOT 2022-06-15 17:46:54Z
@Jupstar ✪ no joke ddnet has less downtime than github
17:47
but still cool idea +1 from my side
Avatar
but github has downtimes, when ddnet is up and vice versa 😉
Avatar
[quakenet] ChillerDragon BOT 2022-06-15 17:47:40Z
yes
17:47
its gud idea
Avatar
(probably against ToS to do it on github)
Avatar
[quakenet] ChillerDragon BOT 2022-06-15 17:48:03Z
all good masterserver protcols involve git merge requests
Avatar
yeah also thought that 😄
Avatar
but we can just do it with a random server somewhere
Avatar
but if u dont read them
Avatar
[quakenet] ChillerDragon BOT 2022-06-15 17:48:13Z
then go gitlab
Avatar
u cant do it wrong xd
Avatar
[quakenet] ChillerDragon BOT 2022-06-15 17:48:36Z
or use ryozukis gogs instance i hear it has higher uptimes than the NSA
Avatar
but its not like ddnet cant host some backup somewhere
Avatar
what Jupstar says
17:50
I can only find this in github's tos:
17:51
We do not allow content or activity on GitHub that is: […] using our servers for any form of excessive automated bulk activity, to place undue burden on our servers through automated means, […]
17:51
I guess updating a git repo every second counts as "excessive automated bulk activity"
Avatar
c9345e7 More vector naming format - Chairn b8a82f7 Merge #5429 - bors[bot]
Avatar
@heinrich5991 can you take a look at https://github.com/ddnet/ddnet/pull/4850 ?
Added default switch statement either with a comment or with a call to dbg_msg. During my tests, i couldn't trigger any of them, but its better to have a default case anyway. I didn't add d...
Avatar
  • io_read_all reads all bytes from a file handle into a new buffer. It should only need one allocation per file in cases where the actual file size matches the expected file size. Otherwise it falls back to doubling the buffer size if the actual file size is larger than expected to avoid TOCTOU problems.
  • io_read_all_str reads all bytes from a file handle into a new buffer and also ensures that the buffer is null-terminated and contains no other null-characters.
  • mem_has_null is a u...
19:11
Sorry 😭

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
  • [ ] Tested the change with [ASan+UBSan or valgrind's memcheck](https://github.com/ddnet/ddnet/#using-address...
Avatar
Completed the translation of polish langauge (for now), fixed one translation, which wasn't correct (missing verb)
Avatar
b80af9b Fix wrongly corrected naming introduced in #5391 - Chairn d6d3b2d Merge #5431 - bors[bot]
Avatar
Avatar
heinrich5991
lift condition, probably, if I understand you correctly
i dont know how the hud in ddnet functions. i imagine it is either hud(client) is dumb and gets every component "requested" to render by the server. or the logic lies in the client and it puts together a hud depending on only one or two settings/parameters like gametype. so as i understood you the server does the logic and the client only renders what server wants.
20:09
so hiding a component without the server requesting it would imo be a bit off the line
20:11
but ill just do it, its only a few lines of code and not breaking the logic of whole hud system, if i understood it right (edited)
Avatar
@c0d3d3v can u co author me? :p
Avatar
Avatar
fokkonaut
@c0d3d3v can u co author me? :p
how?
Avatar
I am not entirely sure, heinrich once showed me i believe
Avatar
I tried to cherry pick your commit. But as I changes your commit, your authorship was removed
20:17
I could just overwrite the author... but I guess having you in the message is also enough, or do you want that I change the author of that commit?
Avatar
Nah, its fine I guess
20:17
Not if its too much work xd
Avatar
xD I would at least have to look up the command... and then would need your email address
Avatar
i think the git no reply adress works
Avatar
something wrong with the mastersevers? I can't connect my homeserver oO [2022-06-16 00:22:53][register/6/ipv6]: ERROR: the master server reports that clients can not connect to this server. [2022-06-16 00:22:53][register/6/ipv6]: ERROR: configure your firewall/nat to let through udp on port 8303. And yes i know, i need to have the portforwarding, but I have already done this
Avatar
is it only ipv6 that it's complaining about?
22:30
then you might only have allowed your port on ipv4?
Avatar
[2022-06-16 00:30:06][http]: https://master1.ddnet.tw/ddnet/15/register failed. libcurl error: The requested URL returned error: 400 I have never seen this one
22:31
yes only ipv6 is complaining
Avatar
Avatar
AssassinTee
[2022-06-16 00:30:06][http]: https://master1.ddnet.tw/ddnet/15/register failed. libcurl error: The requested URL returned error: 400 I have never seen this one
that shouldn't happen
22:34
on newest version?
Avatar
This should ease moderation when someone enters a server spam some racist shit and leaves instantly. We just had a case tonight and @bencie had to chase him around until he finally get his IP. Then the guy changed IP, then changed name...
Avatar
Avatar
heinrich5991
on newest version?
kinda, on a modded version
22:59
just material modded, not network
Exported 225 message(s)