#Coding free multiplayer [Looking for help & testers] Zero port forwarding

1 messages ยท Page 3 of 1

craggy cloak
#

Is there no way to make it one-way though?

vapid plaza
#

nope

lofty timber
craggy cloak
#

Yes obviously

lofty timber
#

Party B wouldnt even know we pinged him

vapid plaza
#

it may work by chance but in a lot less cases than if both players use the mod

gleaming beacon
#

How would it work?

craggy cloak
#

Doesn't the server list ping the servers for info?

#

Can you not use that?

vapid plaza
#

actually nvm it cant work

gleaming beacon
vapid plaza
#

minecraft client afaik does not use a consistent port to bind to, which is necessary for hole punching

craggy cloak
#

25565

lofty timber
#

I forced it to

vapid plaza
lofty timber
#

Use 25565 every time

vapid plaza
gleaming beacon
#

But still B will never know we tried to reach it.

vapid plaza
#

when you join hypixel, does your local pc always use the same port to initiate connection to hypixel? i thought not

craggy cloak
#

Then... would it be possible to make a proxy that handles client punching and then redirects?

vapid plaza
#

yeah then you need the mod on both players

lofty timber
#

Dont holepunch

craggy cloak
#

It'd be more secure than e2mc though

gleaming beacon
#

Wait I have an idea.

craggy cloak
#

data isn't going through the proxy

#

just the initial connection info

patent elbow
#

I wonder how they earn enough to pay for proxy servers.

gleaming beacon
#

We could do something like auth server?

lofty timber
#

Imo the whole Point of this

gleaming beacon
#

But as optional feature

lofty timber
#

Is that only the clients know they are connected

vapid plaza
#

but why, we started making this mod with the intent of having a serverless option

gleaming beacon
#

Hmm okay

lofty timber
gleaming beacon
#

Wait if a client spam connects to my server it trys to ping my port?
The problem would be the connection rate

#

but in theory we could establish hole punching with this, couldn't we?

lofty timber
#

You would need to try every port

#

And have sheer luck of hitting the right one

gleaming beacon
vapid plaza
#

if you dont ping the client first, nothing is gonna happen

gleaming beacon
#

Like this information is still shared by both patires

vapid plaza
#

nat will reject the packet

gleaming beacon
lofty timber
#

To which port would we?

vapid plaza
gleaming beacon
#

A commonly agreed upon by both patries

lofty timber
#

Vanilla does Not agree on a Open port

gleaming beacon
lofty timber
#

It opens a random one when trying to connect

#

But other than that the nat will drop every packet

gleaming beacon
#

Ohhh

vapid plaza
#

you need to be able to set the port the client uses, cant do that in vanilla

patent elbow
gleaming beacon
#

๐Ÿค”

vapid plaza
#

server sends a singular SYN packet and starts listening, client has about 60 seconds to do a completely normal TCP handshake

gleaming beacon
#

Well anyhow I think the server-less approach is the core of the project.
We shouldn't drop that.

vapid plaza
#

exactly

lofty timber
#

Well gole sends 2;30 min of syn packets to answer to, then just Stop trying

vapid plaza
#

the other approach is also nead but would be more suited as a fork of e2mc

gleaming beacon
#

We could later add it as an option/addon?

vapid plaza
lofty timber
#

Not really addon

#

Rework

vapid plaza
#

it would be close enough to a different mod probably

lofty timber
#

Yes

gleaming beacon
#

Btw can I currently do anything?

lofty timber
lofty timber
gleaming beacon
#

I could help with ui, as IBM is currently in exam phase :)

vapid plaza
#

ill come bother you two again then

lofty timber
gleaming beacon
#

Which class

lofty timber
#

And then bash togegher a log screen

#

Somehow

gleaming beacon
#

Let me clone the repo

lofty timber
gleaming beacon
#

Oh you mean where the buttons are in the text?

lofty timber
#

Once i Press create

gleaming beacon
#

Okay

lofty timber
#

I shall Open another screen

#

Where the progress of each Connection is logged

#

And updated

#

On the progress If its waiting

#

Failrd

#

Pending

#

Or succeeded

gleaming beacon
#

Okay

#

I can do that, I hope :)

lofty timber
#

Give it a go

#

Just bang togegher a screen

#

I will do the loggin Integration If yea want

lofty timber
#

To get into vc

gleaming beacon
#

I'm on my discord :)

lofty timber
#

See you soonspanish_inquisition_3

gleaming beacon
#

My ToDo list:

  • getPublicIP server should be configurable
  • Make P2P greyed out if no interconnection can be established.
gleaming beacon
craggy cloak
#

I think we should remove P2P from the title screen

#

and move it to the multiplayer screen

#

maybe add a widget to the server list

#

"Host a World"

#

and "Join via P2P"

#

Ill mess about next week

#

Or even just

vapid plaza
#

that was my original idea as well

#

though ibwas also suggesting making the multiplayer button on the title screen half as wide, and putting p2p next to it

#

to signify that its related to multiplayer but still different

south plank
#

i think P2P on the top left is kinda unfitting
the first image is IMO better, maybe slotting the P2P button somewhere in the button mess at the bottom since thats where most people look anyways

#

P.S if you guys need help testing something I'm down for it if I have the time

vapid plaza
#

i could use a tester right now if youre up

south plank
#

I'll probably be free sometime today, maybe in an hour if I'm lucky

vapid plaza
#

oh alright

#

anyone who has 5 minutes of time to test, let me know, im waiting for that currently xd

vapid plaza
#

give me 2 minutes to disable the base64 temporarily

lofty timber
vapid plaza
#

nope, im still writing out the bugfixed and improved system

#

i think im basically done though, in which case im looking for a tester again

#

just needs a few finishing touches

#

oof local test broke immediately xd

#

nvm im just stupid and do my sanity check in the wrong place

lofty timber
#

once you need me

patent elbow
#

It looks like my NAT is symmetricsadtater

lofty timber
#

the real question is

#

is your nat predictable

#

or not

patent elbow
#

Yesn't

#

While it tries to map external port same as internal, but if it earlier receives a packet from the other client on that port it decides to not use it.

vapid plaza
#

so if the router receives on port 40000 (and ofc rejects), and then an outbound connection arrives using port 40000, it picks something else cause "40000 was just used"?

patent elbow
#

Yeah, I'll test it more later.

vapid plaza
#

aw rip i think thats a gg then

#

maybe if the time between is long enough, but thats not exactly reliable, since it still needs to be within the other NATs timeout

patent elbow
#

Timeout is about 10s

gleaming beacon
#

Another ToDo

  • Let clients know when the server has started the world
patent elbow
#

I start to think that my NAT is specially designed to prevent hole punching:
For example:
when A connects to B, InternalA:44444 โ—-> ExternalB:55555 then A's NAT maps InternalA:44444 -> ExternalA:44444,
and then B connects to A, InternalB:55555 -> ExternalA:44444 then B's NAT maps InternalB:55555 -> ExternalB:12345 โ—,
but
when A connects to B, InternalA:33333 โ— -> ExternalB:55555 then A's NAT maps InternalA:33333 -> ExternalA:33333,
and then B connects to A, InternalB:55555 -> ExternalA:44444 then B's NAT maps InternalB:55555 -> ExternalB:55555 โ—.

craggy cloak
#

Hole punching is technically a vunerability, which is why it might be blocking it

cunning tusk
#

if you can connect somewhere without an external server or port forwarding, we call it a vulnerability

#

a wise man said once

vapid plaza
#

because we cant have nice things

patent elbow
gleaming beacon
#

@patent elbow @vapid plaza might have a solution

vapid plaza
#

pfff i dont wanna type it all out

patent elbow
#

?

vapid plaza
#

boils down to, if you time it exactly right so you try to connect and the other player connects less than 2,5 seconds later, it could still work

#

it only becomes completely impossible if both nats are evil about it

patent elbow
#

But in my case both NATs are the same ๐Ÿ˜‚

vapid plaza
#

in the case of tcp it also depends if the router is smart enough to consider rst/ack packets as end of communication, which could also be a stopper

gleaming beacon
#

well

#

We can test it :)

vapid plaza
#

not me, the java impl is borked cause i am too stoopid for multithreading lol

patent elbow
#

Just tested even more and found that if router detects bidirectional connection, then add special 2 minutes time window in which it no longer checks for hole punching.

#

But well, it doesn't help at all, as first you need to establish bidirectional connection.

#

So I'll have to do further testing using probably GSM network.

gleaming beacon
#

Ladies & Gentlemen we have TITLES ABOVE BOXES ๐ŸŽ‰

vapid plaza
#

@lofty timber let me know when you can test again

lofty timber
#

Gimme 2 min

patent elbow
#

Definitely not GSM

#

Even worse, each packet is mapped to different port.

vapid plaza
#

yeah 4g seems very weird, idk how it works tbh

craggy cloak
#

Back then proceed

#

You dont walk backwards do you

#

And you dont go backwards by clicking in the natural direction of forwards (the right)

gleaming beacon
#

That wasn't me

#

That is work by @lofty timber

#

Btw IMB

#

I think your NativeImage trickery is weird

craggy cloak
gleaming beacon
#

Because it crashed my game irritatered

#

java.lang.NullPointerException: Cannot invoke "net.minecraft.client.texture.NativeImage.getWidth()" because "this.image" is null

craggy cloak
#

Uh

#

Where is that

#

It can't be the YACL images

#

because they're WebP

gleaming beacon
#

at net.minecraft.client.texture.NativeImageBackedTexture.method_22793(NativeImageBackedTexture.java:25) ~[minecraft-merged-a00418be9b-1.20.4-net.fabricmc.yarn.1_20_4.1.20.4+build.3-v2.jar:?]
at com.mojang.blaze3d.systems.RenderSystem.replayQueue(RenderSystem.java:196) ~[minecraft-merged-a00418be9b-1.20.4-net.fabricmc.yarn.1_20_4.1.20.4+build.3-v2.jar:?]
at com.mojang.blaze3d.systems.RenderSystem.flipFrame(RenderSystem.java:185) ~[minecraft-merged-a00418be9b-1.20.4-net.fabricmc.yarn.1_20_4.1.20.4+build.3-v2.jar:?]
at net.minecraft.client.util.Window.swapBuffers(Window.java:275) ~[minecraft-merged-a00418be9b-1.20.4-net.fabricmc.yarn.1_20_4.1.20.4+build.3-v2.jar:?]
at net.minecraft.client.MinecraftClient.render(MinecraftClient.java:1347) ~[minecraft-merged-a00418be9b-1.20.4-net.fabricmc.yarn.1_20_4.1.20.4+build.3-v2.jar:?]
at net.minecraft.client.MinecraftClient.run(MinecraftClient.java:893) ~[minecraft-merged-a00418be9b-1.20.4-net.fabricmc.yarn.1_20_4.1.20.4+build.3-v2.jar:?]
at net.minecraft.client.main.Main.main(Main.java:243) ~[minecraft-merged-a00418be9b-1.20.4-net.fabricmc.yarn.1_20_4.1.20.4+build.3-v2.jar:?]
at net.fabricmc.loader.impl.game.minecraft.MinecraftGameProvider.launch(MinecraftGameProvider.java:470) ~[fabric-loader-0.15.3.jar:?]
at net.fabricmc.loader.impl.launch.knot.Knot.launch(Knot.java:74) ~[fabric-loader-0.15.3.jar:?]
at net.fabricmc.loader.impl.launch.knot.KnotClient.main(KnotClient.java:23) ~[fabric-loader-0.15.3.jar:?]
at net.fabricmc.devlaunchinjector.Main.main(Main.java:86) ~[dev-launch-injector-0.2.1+build.8.jar:?]

lofty timber
#

first native java connection

craggy cloak
#

not Native

gleaming beacon
#

I don't use skinshuffle here

craggy cloak
#

Yeah it's fucking skinshuffle all over again

#

im going to cry

#

it's the same issue

#

we spent months trying to find out

#

and then it just vanished

#

magically

gleaming beacon
#

I found it :=

#

YAY

#

I have a way to reprouce it

#

Can you join vc for a moment?

craggy cloak
#

yeah but I'll be deafened

gleaming beacon
#

Okay

#

yeah crash

#

Just drag your window at crazy speed

craggy cloak
#

Well yeah

#

if you abuse the shit out of your screen

#

it'll die

#

that's... how abuse works

gleaming beacon
#

But normal minecraft doesn't die

craggy cloak
#

yeah

#

it does

#

on the world select screen

#

and sometimes the resourcepack screen

gleaming beacon
#

Can't get it to crash

#

Oh wait

#

Is it because I can drag it to 0 width

#

๐Ÿค”

craggy cloak
#

Yeah

#

it's on mojira

#

nothing i can do abt it

#

mojank issue

#

not me

gleaming beacon
#

Selection screen seems to be unaffected

#

๐Ÿค”

#

Like world selection

lofty timber
#

@craggy cloak

#

things borked

gleaming beacon
#

๐Ÿค”

#

copy pasta detected

lofty timber
#

ye it seems so

#

was a tad late that evening

vapid plaza
#

im gonna be back later this evening, maybe or maybe not in vc

craggy cloak
#

but essentially:

#
  • You need to calculate the max height, and then center it using the max height
lofty timber
#

I would need two people in aproximatly 20 minutes of time

#

to test the new gui and other shinanigans

#

loggin screen and some other things

#

@craggy cloak where would one put a button to show their public ip?

lofty timber
#

So we have one

#

We would need one more

gleaming beacon
#

@lofty timber HELLO

#

I HAVE ONE

#

Get on vc 1 :)

lofty timber
#

chill out

gleaming beacon
#

hehe

peak cosmos
#

i can help but cba with voice chat

lofty timber
#

i somehow broke everything

lofty timber
#

and it somehow is broke

#

a problem for tomorrow me

gleaming beacon
#

๐ŸŽ‰

lofty timber
#

@vapid plaza whats happenin on the native java side?

#

Wanna get gole Out of this equation

#

And i See No reason to Work in this while gole exists

#

Tho i could build the framework

#

Which is already kinda done

#

@gleaming beacon i enslave you to fix dispufferfish_jazz

vapid plaza
#

im about to start porting to the new ui

lofty timber
#

Get the newest pull

#

And fire away

#

Ima be there in a few minutes after showrr

vapid plaza
#

im not gonna be in vc, my brain is kinda fried

#

just a chill coding session with some youtube on the second monitor

lofty timber
#

If yea want

#

Aw

lofty timber
vapid plaza
#

sure

vapid plaza
#

theres no base64 being done anywhere in the new ui right?

gleaming beacon
#

nop

lofty timber
#

atm i decided for just, ip as a string

#

@gleaming beacon fixed the issue that it dod not recognize a connection was made for you

vapid plaza
#

wdyml

#

did it create a tunnel but not connect to it

lofty timber
#

it did everything right

#

but yebaited the user into thinking it failed

vapid plaza
#

interesting lol

lofty timber
#

was a good two hours of wondering tf i just did

#

need someone to test tho if i can now still p2p them

gleaming beacon
#

I am online :)

lofty timber
#

jar send per dm

vapid plaza
#

is LogginScreen supposed to be spelled like that

#

id assume thats meant to be either LoginScreen or LoggingScreen

cunning tusk
#

I have a feeling I know who wrote that

lofty timber
#

nononono

gleaming beacon
#

This time

vapid plaza
#

lmao

lofty timber
#

i am giving up for today

#

because nothing works anymore

#

It Just chose violence

#

Not even directly joining abworld when Set to privat smh

#

I think your runnable shit there broke Something @gleaming beacon

gleaming beacon
#

Huh?

#

What runnable shit?

#

Did you push all changes?

lofty timber
#

Yes

lofty timber
#

It Just, refuses to Join quickplay

gleaming beacon
#

What does this have to do with my quickplay

#

The screen was never intended to be used in that way :>

#

But let me take a look

lofty timber
#

Tf

#

When you have a private Host type

#

And click create

#

It yeets you to the world you selected

gleaming beacon
#

isn't that what should happen o.O?

lofty timber
#

Yes

#

But it doenst

#

Thats the Problem

lofty timber
gleaming beacon
#

huh

#

if(shouldTunnel) {
MinecraftClient.getInstance().setScreen(new ConnectionStateScreen(this, startWorld));
} else {
startWorld.run();
}

#

So shouldTunnel must be true if we get into the ConnectionStateScreen

lofty timber
#

Obv

#

But we can Hammer away at that Button all we eant

#

And it stays true

#

If ya tried in game

gleaming beacon
#

Hmm

#

That is not my stuff

#

It is from IMB

#

Did you touch it?

lofty timber
#

No i did not

#

The only one who touched anything there

#

Was you

gleaming beacon
#

How touched it :sus:

#

No sus emoji sadtater

#

It is set here

#

I did not that touch that.

lofty timber
#

You we're the Last Person to Messe with anything

gleaming beacon
#

but you touched it while editing button height

lofty timber
#

Connected to quickplay

gleaming beacon
#

Maybe you misedited something?

lofty timber
#

I moved it Up and down my guy

gleaming beacon
#

yeah

#

And I never touched it

lofty timber
#

Ah screw this

#

Ima Go to bed

#

Could you Look at it?

gleaming beacon
#

i can try

#

@lofty timber it works for me?

#

What is the problem

#

When I click quickplay I just join into the world

lofty timber
cunning tusk
#

pro tip: git pull

lofty timber
#

This Mod hates my mere existance

gleaming beacon
#

three times

lofty timber
#

If i now start my pc

#

And try it

#

And it works

cunning tusk
#

I meant him

gleaming beacon
#

oh+

#

he is the one currently developing

lofty timber
#

I Made the Last commitconcernedtater

gleaming beacon
#

I'm just mocking him :)

#

Btw

#

We hit 2360

vapid plaza
#

on to 10k

lofty timber
#

ima hit myself 2360 times if this keeps going

#

JESUS CHRIST

gleaming beacon
#

Yes?

lofty timber
#

SOMEBODY HELP ME OUT OF MY MISERY

gleaming beacon
#

OH THE MISERY

lofty timber
#

IT WORKS BY JUST,, DOING NOTHING

gleaming beacon
#

EVERBODY WANTS TO BE MY ENEMY

lofty timber
#

get yo ass here

#

we try to p2p

gleaming beacon
#

:)+

lofty timber
#

port 5000, ip is known

gleaming beacon
#

connect?

lofty timber
#

get yo ass connecting to me

gleaming beacon
#

Worked

lofty timber
#

IT WORKS

gleaming beacon
#

Can I start world?

lofty timber
#

try to join now

gleaming beacon
#

oh invalid session

#

Because IDE

#

BUT IT WORKS

lofty timber
#

;V

gleaming beacon
#

CONNECTION WORKS

lofty timber
#

HEHEHEHAW

gleaming beacon
lofty timber
#

time to add one last button to copy your public IP, and call the gole impl of this done

#

well code beautification aside

gleaming beacon
#

"code beautification"

vapid plaza
#

considering ima throw out half the ui, maybe wait on that a bit lmao

gleaming beacon
#

Statments dreamed up from a ridiculos

vapid plaza
#

we cant keep hardcoding ports forever

lofty timber
#

We arent?

#

The User can decide them

gleaming beacon
#

we are not

vapid plaza
#

yeah thats what i meant

#

if that port is taken

#

the mod just dies

gleaming beacon
#

Oh that stuff

lofty timber
#

Let the User think for once

gleaming beacon
#

Well you two get to argue about that

#

I'm out

vapid plaza
#

orrr just dont make the user worry about that and pick a free one

lofty timber
#

Or Well If you get IT to Work your way

#

I am Happy to remoce the Option to specify ports

#

Is literally Just trimming parts Out of the config

#

The other guis stays the Same

#

Except Join ofc

vapid plaza
#

oh no not my ip

lofty timber
#

At this point

#

Half of this DC has it

lofty timber
#

Im a snek

gleaming beacon
#

Can we multi punch a port?

#

Like can Finn open port for me and Griffins?

lofty timber
#

same port for two people?

#

or what do you want

vapid plaza
#

nope we cant

lofty timber
#

one port, one person

vapid plaza
#

it might have been possible if i used mixins to edit minecrafts internal netcode, like e4mc does, but that would have been way more complicated

lofty timber
#

and not nearly as elegant

gleaming beacon
#

isn't port punching out of minecraft?

vapid plaza
#

i mean, you could argue it would be more elegant

vapid plaza
#

the minecraft world runs on the lan port

gleaming beacon
#

Because that way we don't get exponentially more ports like we currently do

vapid plaza
#

every players tunnel arrives on a different random port, and those all locally connect to the lan port

#

blame jdk

#

cant send packets from server sockets

#

if we could it would all be 1 tunnel

gleaming beacon
#

buutt

#

What we could do

#

Is make ports 1-1

#

5000 on client will 5000 on server.

vapid plaza
#

what does that achieve tho

gleaming beacon
#

Just thinking about how we can simplifiy the system

#

Or possibly get it down to one server port

vapid plaza
#

that doesnt really make it any simpler

#

anything that doesnt use 1 port per user will require substantial custom network code

gleaming beacon
#

can't we just do that and prepare everything for minecraft before it even sees the packets?

vapid plaza
#

like it would be neat, but how about first we make something that works before reimplementing java sockets xd

gleaming beacon
#

hmmmmmmm

lofty timber
#

@vapid plaza per your request, i added a ip button, where you can specify the service to use in the config by just puttin in another http://.....

vapid plaza
#

noice

#

maybe one day we can turn that into STUN but thats not urgent

lofty timber
#

urgent is, that i wanna finish this and maybe already publish without native java impl

#

and wait till griffins finishes native java impl

gleaming beacon
#

hmm

#

I would still like to make the images a bit higher res

lofty timber
#

get higher res images ig

#

@vapid plaza i now have given join and create screens their ip field

#

both depend on the config ip value, they wont crash when the ip doesnt work

#

just return x.x.x.x

vapid plaza
#

bruh i was out here working on the base64 thing again

lofty timber
#

but the mod itself works

vapid plaza
#

i should probably wait until youre done with all the ui

lofty timber
lofty timber
#

all the buttons are there i want

#

all the configs

vapid plaza
#

whey it was neat, and also i need to include ports in addresses

lofty timber
#

we may exchange an image but that does nothing

vapid plaza
#

the join ip needs to include a port cause thats gonna be different every time

lofty timber
#

i think i am gonna annoy the hell out of a few people tomorrow

#

to test the limits of this

vapid plaza
#

i told you making the netcode actually reliable is gonna be a major refactor of stuff

vapid plaza
#

like the auto-reconnect screen on the serverside, which might break cause the client does not necessarily have access to the same port as last time

lofty timber
#

auto reconnect screen?

#

that is a log screen

gleaming beacon
vapid plaza
#

i mean the part where the server goes over all tunnels and tries to connect to them

lofty timber
#

or you mean in your port

gleaming beacon
#

You want to keep ports and ip seperate

#

I thought that only was hacky workaround?

lofty timber
#

no, it makes more sense when you think bout it

vapid plaza
#

the port is just as important as the ip, and they will always be used together

#

they do kinda need to be together in the config

lofty timber
#

And thats what they currently are

#

They are in the Same config File, where you can assign every IP their own Port

vapid plaza
#

oh alright

#

tomorrow i really need to just try the mod in its current state, trying to understand all the components without having used them is getting me nowhere

lofty timber
#

Depending on the time

#

I can be your Guinea pig

vapid plaza
#

ive basically just wasted 2 hours doing the wrong thing

lofty timber
#

If we keep this Up we could create our own Org and start our own discord and not clutter this threadconcernedtater

vapid plaza
#

oof

lofty timber
#

With all them Messages we produce

vapid plaza
#

i think its funny lmao

lofty timber
lofty timber
#

We Got recruited

#

Off we Go lol

#

Got drafted

gleaming beacon
#

For continue there :)

vapid plaza
#

i got cucked by the server

craggy cloak
#

add a phone number to discord then lol

vapid plaza
#

ew i dont wanna give discord my phone number

#

id rather wait 10 minutes lol

lofty timber
#

This thread shall go down in history for the most messages

swift lance
#

And there's 28 members + fabric bot following the thread

gleaming beacon
#

Perfect

#

2.5k messages btw

lofty timber
#

Bruh

gleaming beacon
#

Are we the longest request thread?

lofty timber
#

probs

gleaming beacon
#

HMMMMMMM

#

@lofty timber

#

What do you think?

lofty timber
#

hole shit

#

what wheat did you smoke

gleaming beacon
#

The TEXT ISNT ALGINED!!!

lofty timber
#

didnt mess with that

#

thats your wrong doing

gleaming beacon
#

I did

lofty timber
#

go and fix it ig

gleaming beacon
#

Let me push

#

I don't see the error

craggy cloak
#

Ill be cleaning up the UI on friday

#

so like

#

dont bikeshed haha

lofty timber
#

only internal networking code

#

only wanted this to work sofar, to get some people together to test

craggy cloak
#

Put some // TODO: UI on parts you want displayed to the user

#

ill look on friday

lofty timber
#

ok, imo, the create screen is good

#

the join screen has all it needs, just needs beautification

#

the loggin screen is meh, you can let your wildest dream come true there

craggy cloak
#

ill be making progress bars

#

;p

lofty timber
#

yea

#

imo create screen done

#

no touchie touchie

#

join screen just reorg and beautification

#

and log screen complete makeover to your desire

craggy cloak
#

Did you fix the math for the world icon rendering?

#

I might just GPT4 it, cant be arsed thinking properly on how to formulate it

lofty timber
#

not yet, hadnt had the brain cells to look at it

#

will do this evening prob

craggy cloak
#

Copilot is GPT4 i believe

lofty timber
#

but what i can happily tell, networking logic works

lofty timber
craggy cloak
#

No student plan?

lofty timber
#

nope, i am already outa school workin

craggy cloak
#

F

#

Im milking my student benefits hard

#

I plan to renew my plan on the last day

lofty timber
#

and even if, my old school is a (not so nice word here)and wouldnt do it

craggy cloak
#

dont need school perms

#

Github is accepting non-partner schools now

#

anyways

lofty timber
#

Ah lol

#

As I will do some university shinanigans

#

Part time

#

Maybe they accept that

inland kindle
lofty timber
#

For that good ol degree: Master of Science

lofty timber
craggy cloak
#

I agree

#

xd

inland kindle
#

Make sure to make p2p.screen.config_button translate to something

lofty timber
craggy cloak
#

(yes we know... we weren't born yesterday \s)

lofty timber
craggy cloak
#

Do you mean Natural Sciences?

lofty timber
#

A Master in IT

craggy cloak
#

Oh

#

like CS?

lofty timber
#

Cs?

craggy cloak
#

computer science

lofty timber
#

Yes

craggy cloak
#

Nice!

lofty timber
#

Like I love my current job

#

But

#

I can do that as a volunteer

craggy cloak
#

Im going to start a software engineering degree in september ๐Ÿ™‚

lofty timber
#

And work full time IT

inland kindle
#

en_us.json

{
    "p2p.screen.config_button": "Configureโ€ฆ",
}
craggy cloak
#

Probably either BEng or MEng

lofty timber
#

Currently full time EMS worker

craggy cloak
#

Oh nice

lofty timber
#

Soon IT

craggy cloak
#

That's a career change and a half haha

lofty timber
#

Yes

#

But not unheard off

#

And I will still work in EMS

#

For free

#

Community service or however it's translatedn shit

craggy cloak
#

EMS is unpaid?

#

wtf?

#

Or volunteer work?

#

i assume the latter

#

To be fair

#

thats one hell of a thing to put on your University Application

lofty timber
#

ATM I get paid for it

#

Because full time

#

But you can volunteer to do it alongside another job

lofty timber
#

Was at UNI Dortmund because I took part in the Bundeswettbewerb Informatik

#

Those problems were hard af

#

Traveling Salesmanconcernedtater

#

Tho in a slightly different form

#

Was really fun implementing tho

craggy cloak
lofty timber
#

your impl needs to be completly original

craggy cloak
#

lol

#

err

lofty timber
#

my algorithm was absolutly borked

#

but the repo contains my absolutlyfull name

#

so no sharing sadly

#

it worked, rather good

vapid plaza
#

anyone free to test in 20 minutes?

swift lance
#

Bro got left hanging for over 20 hours

lofty timber
#

Bro still searching

#

At this very moment

#

I know that for a fact because I dipped him because of volleyball

swift lance
#

You could've been playing volleyball with packets

vapid plaza
#

i just want someone to test with ๐Ÿ˜ญ my code is full of bugs and i cant find them without trying to make tunnels

lofty timber
lofty timber
lofty timber
#

@vapid plaza i am once again existing

vapid plaza
lofty timber
#

I am once again not free

lofty timber
vapid plaza
#

bro stole my meme

lofty timber
#

Interlectual theft

#

Is the best theft

vapid plaza
#

it cant be intellectual theft if i dont have any intellect to steal from

lofty timber
#

bro is gaslighting himself smh

vapid plaza
#

i did just fail an exam really hard, its not helping my confidence lol

lofty timber
#

๐Ÿ‘€

marsh pasture
#

@lofty timberim down for testing if you need

lofty timber
#

was just now leavin

gleaming beacon
marsh pasture
#

#new-releases message I think you guys should have waited until the project gets approved before showcasing it?

lofty timber
marsh pasture
lofty timber
#

Yes we may be a bit dumb

cunning tusk
#

I made sure the first one is concern

#

๐Ÿ‘

lofty timber
#

Why concern tho

#

Because not yet approved?

cunning tusk
#

no just in general

#

because why not

lofty timber
#

Ah

gleaming beacon
lofty timber
#

now its to late

#

just gotta wait ig

gleaming beacon
#

๐Ÿ‘

#

Just post in #update-releases once we get the final version out, is gonna be 10x cooler anyway!

vapid plaza
#

AHHH I MADE A TYPO

#

im not changing it tho, i hate when it says

lofty timber
#

Imagine having the skills to spell shit right

#

Mobile browser yebaited me

#

Or no

#

It is now listed

vapid plaza
#

nice

lofty timber
gleaming beacon
#

Huh that was fast

vapid plaza
#

might be because it was already created for a few days, just not public yet

lofty timber
#

Ye

#

Well the initial file should take longer tho?

#

Took my first mod 72 hours

#

And normal is 24-48

#

Ig got lucky

swift lance
#

You managed to jump my pending mod. It's just cool enough that someone already was waiting to review it I bet

#

(just to be clear I don't mind that it happened in that order, all the same to me)

gleaming beacon
#

Some modrinth moderators may watch this channel ๐Ÿ•ต๏ธ

lofty timber
#

Seems like he or she likes the ideawinktato

lofty timber
lofty timber
#

Or if it's just a coincidence of some sort

lofty timber
gleaming beacon
lofty timber
#

We may never know

swift lance
lofty timber
#

I was sneak peeked

swift lance
#

I don't get it xd

lofty timber
#

neither do i

gleaming beacon
swift lance
#

Ah that makes sense

lofty timber
#

backport to 1.20.1 exists

gleaming beacon
#

Thats a lot of updates

lofty timber
#

Kroks is a busy man

#

With too much free time

fossil horizon
#

I happen to have talked with that dev before. They are somewhat of a GOAT and even put the effort in to support me and my desire to help people on outdated minecrafft versions like 1.20.1

swift lance
#

1.20.1 is outdated now? Cool, good to know ig

gleaming beacon
swift lance
#

I mean my mods are pretty much stuck there too xd

fossil horizon
#

yes, 1.20.1 is outdated and devs are dropping support for it if they havent already. its 7 months old, how can you expect anyone to support anything for more than 6? /s

fossil horizon
#

no

#

the running issue pack devs have are that mod devs seem to be supporting versions for less than 6 months

lofty timber
#

It's older

#

And not latest version

#

Devs stuck there cus rendering changes and such

gleaming beacon
#

The Problem also lies in the Version naming, because useres can't comprehend the difference between 1.20.1 and 1.20.2 as in the past minor version updates were actually minor.

lofty timber
lofty timber
#

like versions lower 1.20.1

lofty timber
#

60 downloads woootiny_potato

gleaming beacon
#

onto 100

lofty timber
#

Wonder if this mod ever picks up or just gotta be one of my failed ideas again lol

south plank
#

I'll probably check this mod out for myself soon

#

If it turns out stable I do see this as being popular

gleaming beacon
lofty timber
#

Ye

#

Ima try my hands at datagram packets today

devout maple
#

have you considered changing the P2P button in the main menu to use an icon instead of the text? and possibly making it show up next to the realms button?

lofty timber
#

I have

#

But I don't got the skills to make an icon

#

And the logo doesn't really fit

fleet falcon
lofty timber
#

Maybe the dev doesn't have that much time

#

Or passion to support alla those versions

#

But now that I say that

#

Time to port to newest snapshot

fleet falcon
#

And LTS doesn't necessarily mean backport new features. Backporting bugfixes is still nice. Especially critical ones

#

But nah they dont even do that

lofty timber
#

Critical bug fixes yes

#

Not more

#

No new features

#

Nada

sonic crane
#

i mean you're fully free to invest your time and maintain it for them, i think everyone would appreciate that

fleet falcon
fossil horizon
#

i mean, ideally they should pin to 1-2 major LTS versions and develop against current/snapshot rather than only developing for current/snapshot and dropping all other version support. <6 month support makes modpack devs either have to make buggy modpacks, make custom mods for their modpacks or just not support their own modpacks. that leads to the fabric environment effectively being a bug riddled mess

sonic crane
#

by 1.19 you mean 1.19.2 right

#

not 1.19 and 1.19.3

fleet falcon
#

A lot of effort? The effort is already done. You fixed the bug so just copy it over

fossil horizon
#

the problem comes in when you have 1.20.4 and 1.20.1 for instance, where rendering in .4 is not the same as .1 so the "fix" may not be the same between them

sonic crane
#

sure for small mods you can get away with a quick 10 minute pop-in pop-out with a publish plugin

#

not for anything thats large or with a team, far from it

#

and thats in the case that the code for fixing the bug is the same across both versions, it may not be

#

especially if its so critical that it has to be backported to version thats no longer recieving feature updates

#

1.19.2 and 1.20.4 do have a fair bit of differences for where it matters as well :< rendering, registry and world gen n all that

#

oh yeah then theres testing it across every minor version you intend to support

fleet falcon
#

That's what happens when patches aren't patches anymore. Mojank turning patch into minor

sonic crane
#

it all boils down to bill gates

#

damn him and his nanobots

sonic crane
fossil horizon
#

or geckolibs oops i forgot to remove crashy mixins for unused code

marsh pasture
#

man at this point you guys should make a discord server for this mod

swift lance
#

But thread go brrrrr :(

marsh pasture
#

wouldn't be surprised if this is the thread with the most amount of messages in this forum

#

but ideally you guys want to be able to give support to users of the mod who are not in this discord and do not feel like making github issues

#

especially considering that the mod is on track to becoming quite popular, from what I can tell

lofty timber
#

Well imb11s discord has a channel for this mod

gleaming beacon
#

The Thread must grooowwww

#

/j here is the discord

craggy cloak
#

It's much easier if you discuss any issues/requests about this on my discord, since I can easily keep track

#

I have around 30-50 threads followed here lmao

fossil lagoon
#

aight

lofty timber
#

You are gui slave :>

lofty timber
fossil horizon
#

with that, here are some links. might be good to see if OP can update the first post with some useful links to the project stuff?

#1192525333665157220 message OP first thead post here (would be good to link the current mod and the discord its being devved in?)
#1192525333665157220 message initial mod post
https://modrinth.com/mod/p2p mod release page
#1192525333665157220 message post with discord link

gleaming beacon
#

The OP is just gone, we overtook the thread yeefuckinhaw

fossil horizon
#

then i would suggest a #1112985493777428501 thread ๐Ÿ˜Ž to showcase the cool stuff and keep things easier to find for people enter the chat

gleaming beacon
#

idk

cunning tusk
#

sorry OP that others have essentially published your mod and idea

fossil lagoon
#

๐Ÿ˜ฌ

gleaming beacon
#

They at least know that we develop it

fossil lagoon
#

i thought op left the server

gleaming beacon
#

Nope they did not

#

just didn't write here

vapid plaza
#

yeah op just stopped reacting, nobody really knows why

lofty timber
#

That's why he opened this thread in the first place

#

@gleaming beacon I summon you to make a showcase thread

#

Like linguardium said

gleaming beacon
#

Oh okay lol

lofty timber
#

I like how you just don't ask questions

#

And just work lol

gleaming beacon
lofty timber
#

Good work

sonic crane
#

uh

#

@livid lake you ARE aware that.. "your" mod just got published right

#

there is a big chance they just dont check this thread

cunning tusk
#

yeah idk this is kind of messed up unless they like very explicitely agreed

sonic crane
#

i mean iv been sitting here thinking hey uh he agreed right

#

they got explicit consent right

#

anyways its the apache license not MIT so make sure you guys reflect that accordingly and credit him appropriately before he even comments

#

i hope you guys didnt just blindly nab the mod idea without crediting the original source

#

in all fairness they asked for help and published it as an open source thing so ultimately even if it is a bit of an incredibly inpolite-ish thing, as long as you follow the fucking original license let me be clear you are in the green

#

even if you didnt take any code its best to credit, link and throw some love because the idea was ultimately his... this is all if you havent obtained consent, if you have, ignore me

#

@lofty timber @gleaming beacon ^ i hope one of you has a confirmation picture or something

#

jesus christ they wrote a whole wiki and readme

fleet falcon
#

Ideas can't be copyrighted so why would you give credit for someone giving an idea. And p2p isn't an original idea either as shown by the other mods and games. Plus the OP has vanished, so either he abandoned this thread or doesn't care

sonic crane
#

so i would consider it to be a bit of a.. major a-hole move

#

im not saying there isnt equal if not greater effort from both sides

#

just im reading the showcase post right now and theres not even a single mention of how this idea came to be or who started the original train

#

the credits section:

The A Team

zOnlyKroks: Project Owner and residential Networking maniac
mineblock11: Residential UI Wizard
Dev0Louis: Emotional support person and all the tasks noone wants to do
Four_Griffins: Yet another residential Networking maniac
gleaming beacon
#

Oh yeah we should mention him at the very least

sonic crane
#

woof im gonna delete the above message

#

too aggressive

cunning tusk
#

relatable though

#

this is kind of shady tbh

sonic crane
#

i would say its more like

#

your ex from 3 years ago has been raising your child this whole time

fleet falcon
#

If OP cared they wouldn't have gone MIA

sonic crane
#

controversial and bad opinion above

gleaming beacon
#

But they are definently aware that we started this project: #1192525333665157220 message

sonic crane
#

OP could be unresponsive atm (out on a trip)

#

or they havent checked this channel in a bit which is understandable

#

i mean if something did concern him someone would ping or DM him.. right? i can see the logic

gleaming beacon
sonic crane
#

yeah that should be fine then

#

as long as hes fine with it being published but even then you should credit him yeah

#

great mod, not insulting anyones efforts, just a little more transparency i think

gleaming beacon
#

We are not trying to scam everyone of here.
We started this with him and he just for what ever reason stopped responding.

@lofty timber I'm gonna credit them now on modrinth

#

and the showcase post

#

"- Deflecto: Starting this Project, coming out with the Idea and developing first prototypes. "

cunning tusk
#

yeah I think that's good for now until they respond

gleaming beacon
#

Anything else I need to add?

cunning tusk
#

maybe check licensing? I'm not sure what you guys did or didn't take

gleaming beacon
#

He used apache 2

#

Oh we maybe still use the Gole part (using it, downloading it, unpacking it).
We are currently switching to the Java Impl

@lofty timber Can you please tell me if we have rewritten that code or used it from them.

sonic crane
#

its definitely rewritten

#

the source for multiplayer possible was basically only a swing gui

#

which MB did in yacl

livid lake
#

thanks corgi!

fossil lagoon
livid lake
#

yeah I've not been checking this channel for a bit, if anyone wants to dm me they can

#

also if we want to make a discord server for this I'd love to join

gleaming beacon
#

p2p channel

#

We just still end up here all the time

livid lake
#

ah

livid lake
gleaming beacon
#

Just so anyone reading knows the context.

I messaged Deflecto and explained the current state of the project and how he feels about it.

He in short answered: yes, it is fine and they are proud of our work.

#

Correct me if I'm wrong Deflecto ๐Ÿ˜…

gleaming beacon
livid lake
#

oh interesting, do you know if Finn is doing it all from scratch, or using a library?

craggy cloak
#

scratch

gleaming beacon
#

We are trying to do everything in java only. So yeah from scratch

craggy cloak
#

It would be mildly concerning if it actually was scratch

gleaming beacon
#

With the Java impl we are gonna have one port one server

#

Punching to multipile clients with the same port

lofty timber
#

Huh I forgor to credit him?

#

Gonna edit this asap

livid lake
#

They had no bad intentions, it's just some code

#

they're trying to bring this out to the public and so was I

gleaming beacon
lofty timber
#

Ah okay

#

Ima do too on curse

gleaming beacon
#

We have curse o.o

livid lake
#

look you guys don't gotta credit me

gleaming beacon
#

To late XD

lofty timber
#

To late now

#

You can also get a share of the pie if you want

gleaming beacon
#

You are gonna get credited if you want it or not ๐Ÿ”ซ

No but you did bring the Idea, without you we wouldn't be here.

livid lake
#

thank you, I appreciate it; just saying you're not forced to ๐Ÿ™‚

the apache 2.0 license requires a copyright license notice in distributions/the code, but it doesn't mean you gotta put me in the credits

lofty timber
#

Fine to you?

livid lake
#

honestly I'd like to give it some more thought, as I've gotten enough shade from random commenters that don't know the full story...

corgi linked my wiki that I wrote, about player safety, code info, previous projects, as well as the story behind the project

lofty timber
#

You can also tell me to take down any version already released

#

Fine to me

lofty timber
livid lake
#

look... I have 0 problem with what you guys have done, I support the project fully

#

this isn't about me, this is about bringing a positive idea to minecraft

gleaming beacon
#

You can still talk about how you feel like this should be continued, as you are the one that brought us here ^^

livid lake
#

can we please talk about something else? you guys are fine to dm me if it's about copyright questions

I don't wanna turn this discussion into some big worry, it's really not that big of a deal.

lofty timber
#

So be it

#

And I have done just thaz

livid lake
#

@fleet falcon if you want to ask me why I've gone absent, feel free to DM me. I'm on discord every couple of days.

please don't speculate that I'm just some guy that doesn't care, that's not the case, I wrote down the story behind the original project on the wiki

fossil horizon
#

yeah, i am not sure anyone that read it would be confused about that. glad to see the community coming together!

livid lake
#

now let's continue the discussion, but about positive things, features for the mod; not about copyright or me or this or that ๐Ÿ‘

gleaming beacon
#

So our current plan is to make the server only open one port for all players

livid lake
#

okay; have you guys heard about Symmetric NATs?

#

on some wifis this will work

gleaming beacon
#

Yeee all of my homies hate symmetric nats

lofty timber
#

Id you wanna try this sure

livid lake
#

on others, if you uhh... reuse the same port for 2+ connections, the symmetric nat gives 2 different ports even if you only have 1

lofty timber
#

But I still do it the good ol deflecto way, just pimped up

gleaming beacon
lofty timber
#

Griffins tried and didn't succeed

gleaming beacon
livid lake
#

I don't blame him, it's really hard

lofty timber
#

Neither do it

#

So I take the easier route that all symmetric nats hate

#

The deflecto way

livid lake
#

uh

#

my way is to use a nickname system actually xD

#

so it assures a unique port for every player

#

that should work on symmetric NATs

lofty timber
#

The kind of deflecto way

vapid plaza
lofty timber
vapid plaza
#

also what the frick went down here xd

lofty timber
#

Tldr

#

Lord bandit spreading false claims

#

That deflecto doesn't care what happens with this mod

gleaming beacon
#

WE ARE DAM CLOSE!

lofty timber
#

And that we violated his copyright

livid lake
#

xD

lofty timber
#

Which is technically true

#

But will change that

#

Hope I did miss nun

fleet falcon
livid lake
vapid plaza
#

so tldr drama about our lord and savior deflecto not being here for a while

lofty timber
#

In a nutshell

vapid plaza
#

man i cant type xd

lofty timber
#

And me violating copyright on one class

fossil horizon
#

anyway, lets not focus on all that anymore

lofty timber
#

Which I copied and mangled my own code into

#

Which I am probably just gonna rewrite as I cannot stand looking at the garbage I made outa perfectly good deflecto code ;7

livid lake
gleaming beacon
#

I'm gonna go to sleep now

lofty timber
#

Nighty

livid lake
#

good night!

gleaming beacon
#

๐Ÿ’ค

vapid plaza
#

3 more days and im looking at java again yeefuckinhaw

fleet falcon
livid lake
#

understood

lofty timber
livid lake
livid lake
#

one ID that stays the same even if your ip changes

lofty timber
lofty timber
livid lake
#

that is true, which is why I'm hoping to make a library, so you can easily add it in a few lines ๐Ÿ™‚

sadly I'm burnt out atm so I wouldn't count on it tho

lofty timber
#

With no third party server in there

vapid plaza
livid lake
#

I've been playing on a smp lol, taking a break from discord ๐Ÿ˜Š

lofty timber
#

If you could answer my DM real quick I would greatly appreciate it

livid lake
lofty timber
#

Last thing I annoy you with

livid lake
#

they log in to a central web server, show that they own the public key by signing via their private key

lofty timber
#

Ah there we have the thing our mod tries to avoid

livid lake
#

then once they're logged in, any player who asks the central web server for that ID can join their game ๐Ÿ™‚

lofty timber
#

Scary third party server

vapid plaza
#

ah, central server, i see

gleaming beacon
#

Yeah we already thought about smth like that

livid lake
#

yes; what I want to make is a system where even if a malicious actor controlled the server, nothing bad will happen as all the messages will be cryptographically secured, signed and verified

gleaming beacon
#

Our thing was that this might be good as an companion mod, but not in the main mod.

vapid plaza
#

its a valid approach, but i think it would be different from this one

livid lake
#

eh we'll see lol

gleaming beacon
#

Maybe seperate it?

livid lake
#

yes it is a different approach

gleaming beacon
#

As easy mode or something?

vapid plaza
#

e4mc is a proxy, p2p goes hard on zero servers, and there can be another one that focuses on security

fleet falcon
vapid plaza
#

call it e5mc lol

lofty timber
livid lake
lofty timber
vapid plaza
#

yeah obv dont actually do that xd

fleet falcon
vapid plaza
#

yes