<<Prev Next>> Scroll to Bottom
Stuff goes here
L1[00:05:44] ⇦
Quits: ben_mkiv
(~ben_mkiv@200116b8146a5d00fe3497fffea975f2.dip.versatel-1u1.de)
(Ping timeout: 189 seconds)
L2[00:07:39] ⇨
Joins: feldim2425_
(~feldim242@178-191-248-149.adsl.highway.telekom.at)
L3[00:08:44]
<Cloudy>
Hey im using computronics with open computers, is there a way to
make a tape infinite length. I know you can loop your audio for the
entire length of a tape but once that tape ends (lets say the 128
minute one) can i loop that tape so it immediately starts from the
beggining, making basically an infinite tape? If so how do i do
that, if not is there a mod people know that can do that.
L4[00:08:44]
<Cloudy>
Note:
L5[00:08:45]
<Cloudy> Im
trying to add sounds that play near certain builds. Lets for
example say i have a witch cabin on the water, id like to have a
banjo be playing next to that cabin but infinitely so whenever i go
by that area its playing that sound another example would be for my
events on my server, have my spawn area have sounds being played
like ghostly sounds if a player walks by a grave or something. Idk
simple stuff like that.
L6[00:08:58] ⇦
Quits: feldim2425
(~feldim242@193-154-175-195.adsl.highway.telekom.at) (Ping timeout:
189 seconds)
L7[00:08:58] ***
feldim2425_ is now known as feldim2425
L8[00:10:07]
<Cloudy>
Also another note is that other than writing a tape and and the
simplistics of the both mods i know nothing about custom codes and
stuff within the mod so i cant personally do anything coding wise.
I can follow a tutorial if someone sets it up or explains but
anything technical i wont be able to do really
L9[00:10:07] <Kosmos> I guess you could have
2 identical tapes and play one while you rewind the other?
L10[00:10:21] <Izaya> rewinding is an
instant operation
L11[00:10:38] <Izaya> and tape drives read
audio in 4KiB blocks
L12[00:10:38]
<Cloudy>
Can it all be done automatically like make it auto rewind when it
reaches the end and start
L13[00:11:02] <Izaya> so once it gets to
the last one you can rewind and it won't actually be
interrupted
L14[00:11:16]
<Cloudy>
Then i can make a sound clip thats 2 mins and have it loopable like
have the begging note be the note after the end note sorta
thing
L15[00:11:25]
<Riley>
It’s been a while since I’ve used computertronics, but can you play
from the beginning after waiting the duration of the track?
L16[00:12:17]
<Cloudy>
Basically i want everything automatic so that way everything i go
past the build or area i dont have to press play, everything will
just rewind itself and press play without ever having to touch it
after thr first time if that makes sense
L17[00:13:35]
<Cloudy> I
obviously get why there couldnt be an infinite length tape as that
would be alot of audio storage however if it can have an auto loop
when it reaches the end of a 2 minute tape then that would be fine
as i really only need a loopable 2 or 4 minute tape
L18[00:18:31]
<Cloudy> I
understand that its super specific but ye it would really add some
ambience to my builds/server. Other mods add music based off biome
or use custom records but im not into the biome stuff and the
custom record mods dont auto replay. Ive tried some tricky redstone
stuff to allow for auto play but its really not a good fix as its
very janky
L19[00:21:58]
<Riley> I
assume you could have it work like the following:
L21[00:22:39] <Izaya> if you have it end
and start in silence it'd be safe to loop based on time
L22[00:22:58] <Izaya> if you need it to be
a perfect loop you'd need to poll how far along it is by seeking to
the start and then back
L23[00:23:22]
<Cloudy> Ok
ya silence is fine to not a huge deal
L24[00:23:43] <Izaya> (or the same note, or
something. just so that a little bit of difference doesn't
matter)
L25[00:26:13]
<Cloudy> So
wait im sorry if i sound dumb cause this is all new to me. How
would i exactly imput all that @Riley ? And as an example lets just
same im using the 2 minute tape and there silence for 5 seconds at
the begging and the end
L26[00:28:40]
<Riley>
What I gave wasn’t a working solution but rather a general idea of
how it could work. You would input your own code into a lua file on
a computer that is connected to the tape drive.
L27[01:03:48] <Amanda> Nene elfi, what do
you think of this shade of ultra-violet? I was thinking of
adjusting Sol to use it!
L28[01:05:24]
<Cloudy>
@Riley ok gotcha, im assuming you dont know any other mod that does
something like this? As i have no idea how to input or make or do
anything with lua files. Im kinda dumb when it comes to this
stuff.
L29[01:08:29] <Elfi> hmmm
L30[01:11:20]
<Cloudy>
Seems like it would be a decently easy mod from a non moddy
outlook
L31[01:11:29]
<Cloudy>
Modder*
L32[01:13:40]
<Riley>
It's possible with a resource pack where the client would have a
registered sound event for the music, but arbitrary audio is
tedious as it would require streaming the audio from the server to
the client.
L33[01:13:44]
<Cloudy>
Found this one buts its for a later version
L35[01:13:55]
<Cloudy> Im
on 1.12.2
L36[01:18:59]
<Cloudy> Ok
so this is weird i dont see a download for 1.12.2 but it says its
supported?
L37[01:19:39]
<Riley>
There is 1.12.2
L38[01:19:52]
<Riley> In
between the 1.16.5 versions.
L39[01:20:04]
<Cloudy>
Nvm ye found it
L40[01:20:23]
<Cloudy>
Went to version filter and found it, must have scrolled past
L41[01:25:30]
<Cloudy>
Thanks either way for the help. Even if i dont know how to use it
lol. Have a good day sir
L42[02:20:25] ⇦
Quits: Kosmos (~kosmos@212-51-134-147.fiber7.init7.net) (Quit:
Kosmos)
L43[02:20:56] *
Amanda quietly adjusts the ongoing fusion process of Sol while
@Nadja isn't looking
L44[02:21:14] *
Amanda curls up around elfi, Ford a heccen zzzmew
L45[02:21:44] <Amanda> s/Ford/does/
L46[02:22:21] <Amanda> Night girls
L47[05:26:16] ⇨
Joins: Hawk777
(~Hawk777@2607:c000:828c:ba00:9923:89fd:ac87:5662)
L48[08:21:40] ⇨
Joins: TPG24
(~ThePiGuy2@host-78-144-113-28.as13285.net)
L49[08:23:03] ⇦
Quits: ThePiGuy24 (~ThePiGuy2@host-78-144-113-28.as13285.net) (Ping
timeout: 186 seconds)
L50[08:45:19] ⇦
Quits: Hawk777 (~Hawk777@2607:c000:828c:ba00:9923:89fd:ac87:5662)
(Quit: Leaving.)
L51[08:47:10] ⇨
Joins: Vexatos
(~Vexatos@p200300eaef139f7810af1bd98f36ee51.dip0.t-ipconnect.de)
L52[08:47:10] zsh
sets mode: +v on Vexatos
L53[09:05:07]
<Vaur>
%tonkout
L54[09:05:07] <MichiBot> Geez! Vaur! You
beat Sky's previous record of 10 hours, 51 minutes and 19 seconds
(By 4 hours, 57 minutes and 15 seconds)! I hope you're happy!
L55[09:05:08] <MichiBot> Vaur has stolen
the tonkout! Tonk has been reset! They gained 0.015 tonk points!
plus 0.014 bonus points for consecutive hours! (Reduced to 50%
because stealing) Current score: 3.61222676. Position #2 Need
0.15974848 more points to pass Forecaster!
L56[09:37:11] ⇦
Quits: Vexatos
(~Vexatos@p200300eaef139f7810af1bd98f36ee51.dip0.t-ipconnect.de)
(Ping timeout: 189 seconds)
L57[09:50:03] ⇨
Joins: Vexatos
(~Vexatos@p200300eaef139f78231331339b0e1cbe.dip0.t-ipconnect.de)
L58[09:50:03] zsh
sets mode: +v on Vexatos
L59[09:51:28] ⇨
Joins: ben_mkiv
(~ben_mkiv@200116b8146a5d00fe3497fffea975f2.dip.versatel-1u1.de)
L60[10:02:43] ⇦
Quits: ben_mkiv
(~ben_mkiv@200116b8146a5d00fe3497fffea975f2.dip.versatel-1u1.de)
(Killed (NickServ (GHOST command used by
ben_mkiv|afk)))
L61[10:02:47] ⇨
Joins: ben_mkiv|afk
(~ben_mkiv@200116b8146a5d00fe3497fffea975f2.dip.versatel-1u1.de)
L62[10:03:01] ⇨
Joins: ben_mkiv
(~ben_mkiv@200116b8146a5d00fe3497fffea975f2.dip.versatel-1u1.de)
L63[10:03:26] ⇦
Quits: ben_mkiv|afk
(~ben_mkiv@200116b8146a5d00fe3497fffea975f2.dip.versatel-1u1.de)
(Client Quit)
L64[10:18:32]
<Forecaster> Amanda says
"can't", but that's a lie
L65[10:19:05]
<Forecaster> "won't" would be
correct
L66[10:54:32] ⇨
Joins: Stefan (~Stefan@router-carp.internal.myftb.de)
L67[10:55:21] ⇦
Quits: Stefan (~Stefan@router-carp.internal.myftb.de) (Client
Quit)
L68[11:05:39]
<Vaur>
%sip
L69[11:05:40] <MichiBot> You drink a tiny
yellow potion (New!). Oh no, Vaur got a health potion, there's
probably a boss fight coming!
L71[12:05:33]
<Vaur>
should I proceed to build a bigger one is now the question 🤔
L72[12:06:20]
<AR2000>
just for fun I made a max size one, with one layer of provider, the
rest are cells. Max tier of course (and crea of course)
L73[12:06:34]
<AR2000>
Since I was too lazy to build it, I made a robot do it
L74[12:06:36]
<Vaur> this
is in survival 😄
L75[12:32:53] *
Amanda meows and looks around
L76[12:39:19]
<caterpillar> OC2 needs internet
lmao
L77[12:41:05] <Amanda> It's not as
important with the import/export card
L78[12:41:16] <Amanda> lets users upload
files and download them
L79[12:42:14]
<Forecaster> that's basically the internet
right there!
L80[12:43:01]
<caterpillar> how the fuck did i just
fullscreen discord
L81[12:44:18]
<Forecaster> are you using it in a
browser
L82[12:44:28]
<caterpillar> no
L83[12:44:31]
<caterpillar> normal app
L84[12:44:35] <Amanda> F11
L85[12:44:37]
<Forecaster> no clue then
L86[12:44:50]
<caterpillar> >Amanda: F11
L87[12:44:50]
<caterpillar> no
L88[12:45:02] <Amanda> The discord
"app" is just the webapp in a chrome window
L89[12:45:12]
<Forecaster> F11 doesn't do anything
L90[12:45:28] <Amanda> No clue either than,
I thought that was the chrome shortcut for fullscreen
L91[12:45:48]
<Forecaster> It is, but the app has it's
own keybinds
L92[12:45:56]
<Forecaster> fullscreen isn't one of them,
so I dunno
L93[12:46:22]
<AR2000>
`hh->nk`
L94[12:46:22]
<AR2000>
why discord ? why ?
L95[12:47:15]
<caterpillar> ik that easteregg
L96[13:01:17]
<Vaur>
%sip
L97[13:01:17] <MichiBot> You drink a goopy
yellow potion (New!). An incredibly fake looking mustache is stuck
to Vaur's face until the next time they hug someone.
L98[13:01:26]
<Forecaster> %tonk
L99[13:01:27] <MichiBot> Yikes!
Forecaster! You beat Vaur's previous record of <0 (By 3 hours,
56 minutes and 19 seconds)! I hope you're happy!
L100[13:01:28] <MichiBot> Forecaster's new
record is 3 hours, 56 minutes and 19 seconds! Forecaster also
gained 0.00394 tonk points for stealing the tonk. Position
#1.
L101[13:29:10] *
Amanda replaces all of @Inaris left socks with cursed right
socks
L102[13:30:56] ⇦
Quits: Vexatos
(~Vexatos@p200300eaef139f78231331339b0e1cbe.dip0.t-ipconnect.de)
(Ping timeout: 189 seconds)
L103[13:44:17]
<Nadja>
>caterpillar: OC2 needs internet lmao
L104[13:44:17]
<Nadja>
Have fun, go build it. It's not that easy to do sadly ^^'
L105[13:44:32]
⇨ Joins: Vexatos
(~Vexatos@p200300eaef139f35cc1e28c71c61418e.dip0.t-ipconnect.de)
L106[13:44:32]
zsh sets mode: +v on Vexatos
L107[13:50:40] <Amanda> Good, @Nadja
doesn't seem to have noticed what I did to Sol
L108[13:50:45] <Amanda> Nobody tell
her
L109[13:53:02]
<Nadja> I
have noticed it but I'm not telling you when or how I'm going to
fix it because chances are you aren't going to notice that I did
;)
L110[13:53:27]
<Z0idberg>
Stp breaking things
L111[13:53:49]
<Nadja>
Amanda is always breaking things. You get used to it :P
L112[13:57:07]
<Myros> it
looks like i'm unable to print a grassblock, or do i miss
something? I get Dirt instead...
L113[14:08:05] <Amanda> I assume you mean
with the 3d printer? Did you get the texture with the texture
picker, or with manually entering it?
L114[14:08:54] <Amanda> The texture names
can change between MC versions and even packs, so you need to use
the texture picker
L115[14:09:14] <Amanda> It outputs a
string to the chat that you can click on to copy
L116[15:08:05] <Amanda> Something tells me
I'm not reading floats right, no idea why
L118[15:11:34] <Amanda> well shit
L119[15:11:40] <Amanda> I've got my endian
messed up
L120[15:16:09] ⇦
Quits: TPG24 (~ThePiGuy2@host-78-144-113-28.as13285.net) (Remote
host closed the connection)
L121[15:19:21] <Amanda> Success!
L123[15:21:14] <Amanda> so no-argument
component calls work! :D
L124[15:26:42] <Amanda> Now to implement
cbor encoding so that component calls can actually accept
arguments
L125[15:36:14]
⇨ Joins: Hawk777
(~Hawk777@2607:c000:828c:ba00:9923:89fd:ac87:5662)
L126[15:44:20] <Amanda> Hey Hawk777 -- I
got my CBOR decoder working. I can now call argument-less component
methods
L127[15:51:33] <Amanda> Hawk777: check
%oclogs for some screenshots. (I'm not doing the GPU stuff, that's
just because I tried using program_list to select tests, which
ultimately didn't work, but it did bind the GPU )
L129[16:04:13] <Hawk777> Nice!
L130[16:04:18] <Hawk777> And yeah, way too
many things come back as floats.
L131[16:04:24] <Hawk777> Things that
really ought to be integers.
L132[16:04:27] <Hawk777> But that’s OC for
you!
L133[16:04:36] <Amanda> I think that's
being fixed up in 1.8
L134[16:04:43] <Hawk777> I guess OC didn’t
care because Lua doesn’t care.
L135[16:04:49] <Hawk777> OK!
L136[16:04:58] <Amanda> I seem to recall
seeing that int he change logs anyway
L137[16:05:08] <Amanda> But maybe it needs
arch support?
L138[16:06:38] <Hawk777> Well, under the
hood, a method call returns an Object[], and OC-Wasm turns
instances of Byte, Short, Integer, and Long into CBOR integers, and
instances of Float and Double into CBOR single- and
double-precisions. So it should work, and I think I have seen a few
integers pass through already. It’s just that so many method calls
return things that ought to be integers as instances of
Float.
L139[16:07:26] <Hawk777> On the one hand,
if those methods now return integers under the hood in 1.8, then
yay for better data types, but also I guess it means I have a bunch
of rework on my Rust libs :(
L140[16:09:29] <Amanda> oh wait, maybe
not. Maybe it's just making integer lua types work better
L141[16:09:37] <Amanda> as arguments, that
is
L142[16:09:41]
<Forecaster> %sip
L143[16:09:41] <MichiBot> You drink a
silent grathnode potion (New!). The bottle turns into a grathnode
axe.
L144[16:10:06]
<Forecaster> huh, matching potion and
weapon
L145[16:10:17] <Hawk777> Meh, I probably
should have made a FloatableInt wrapper type or something that
accepts both CBOR integers *and* CBOR floats, for those cases where
the data is morally an integer, and then I wouldn’t have to
worry.
L146[16:14:16]
<Sky>
%sip
L147[16:14:16] <MichiBot> You drink a
forked titanium potion (New!). Sky looks up and sees the moon smile
at them for a second.
L148[16:14:37]
<Sky>
%tonk
L149[16:14:37] <MichiBot> I'm sorry Sky,
you were not able to beat Forecaster's record of 3 hours, 56
minutes and 19 seconds this time. 3 hours, 13 minutes and 10
seconds were wasted! Missed by 43 minutes and 9 seconds!
L150[16:14:44]
<Sky>
what
L151[16:14:51]
<Sky> oh i
missed that
L152[16:14:52]
<Sky>
rip
L153[16:17:51] <Amanda> Hawk777: what
happens if you pass a byteString to a String argument?
L154[16:31:09]
<Feris>
where I can modify mod to use screen without keyboard?
L155[16:36:33]
⇨ Joins: ThePiGuy24
(~ThePiGuy2@host-78-144-113-28.as13285.net)
L156[16:40:15] <Hawk777> Hm, a CBOR
ByteString goes into the Java world as a byte[], while a CBOR
string goes into the Java world as a java.lang.String. In the
Arguments class, which component APIs use to get access to method
call arguments, there is a checkString method and a checkByteArray
method; the latter is not used very much, only in the hologram,
data card, drive, filesystem, and Internet card APIs, and only a
few times in each. In the Lua arch, both a
L157[16:40:15] <Hawk777> oded as strings
(because AFAIK there is no such thing as a byte array), and a Lua
string serves either purpose with UTF-8 encoding. In OC-Wasm no
conversion is done, so you have to pass whatever the API
expects.
L158[16:40:38] <Hawk777> Feris, screens
without keyboards should work fine?
L159[16:46:27] <Hawk777> You can’t
right-click on them, I think, but you should still see the text on
the texture of the block itself in-game.
L160[16:46:47] <Hawk777> And I think if
they’re high enough tier you can even still receive touch events by
punching them.
L161[16:51:58]
<Forecaster> >Feris: where I can modify
mod to use screen without keyboard?
L162[16:51:58]
<Forecaster> what exactly do you mean by
"use"?
L163[16:52:34]
<Feris>
just use screen like with keyboard but without keyboard, interact
with screen
L164[16:53:05]
<Forecaster> that's not possible unless
you make an on-screen keyboard
L165[16:53:24]
<Forecaster> or change the Java code and
re-compile the mod
L166[16:54:46]
<Forecaster> T2 and T3 screens work as
touch screens even without a keyboard attached
L167[16:55:38]
<Feris>
>Forecaster: or change the Java code and re-compile the
mod
L168[16:55:39]
<Feris>
that's what I mean ...
L169[16:56:58]
<Forecaster> the code is on github, have
fun 😛
L170[16:57:18]
<Feris> no
shit bro
L171[16:57:31] <Hawk777> So you want an
interactable screen, but you don’t want to have to find space to
hide a keyboard? It can’t be about crafting ingredients, since
keyboards are really cheap.
L172[16:57:59] <Hawk777> Or do you want
the screen to open into a GUI so you can read the text more easily,
but without the ability to type?
L173[16:58:04] <Hawk777> Just curious what
exactly the goal is.
L174[16:58:30] <Amanda> Woo. I can compile
my component test with my cbor encoder and it works.
L175[16:58:47] <Amanda> Now to try and
actually pass arguments.
L176[16:59:10]
<Forecaster> >Feris: no shit bro
L177[16:59:10]
<Forecaster> If you've never done Java
coding or minecraft mods before maybe OC isn't the best first
project
L178[16:59:12]
<Feris>
>Hawk777: Just curious what exactly the goal is.
L179[16:59:12]
<Feris> i
want to use openscreens mod for flat screen and make panel on
pillar so i dont have space for keyboard
L181[17:00:12]
<Forecaster> then try it
L182[17:00:21]
<Vaur>
%tonk
L183[17:00:21] <MichiBot> I'm sorry Vaur,
you were not able to beat Forecaster's record of 3 hours, 56
minutes and 19 seconds this time. 45 minutes and 44 seconds were
wasted! Missed by 3 hours, 10 minutes and 35 seconds!
L184[17:00:26]
<Forecaster> the worst that can happen is
the annihilation of the universe
L186[17:01:16] *
Saphire whimpers
L187[17:01:20]
<Feris> i
need to import forge to project?
L188[17:01:32] *
Saphire whispers the name of the horror from the depth of the
internet...
L189[17:01:33]
<Forecaster> I don't use Eclipse
L190[17:01:36] <Saphire> JSON-LD...
L191[17:02:24]
<Feris>
>Forecaster: I don't use Eclipse
L192[17:02:24]
<Feris>
then what I should use to modify it?
L193[17:02:50]
<Forecaster> I use IDEA, but that's just a
personal perference
L194[17:03:06]
<Feris> so
OpenComputers is writed in idea?
L195[17:03:15]
<Forecaster> ...no
L196[17:03:28]
<Feris>
then in what?
L197[17:03:36]
<Forecaster> IDEA is an IDE
L198[17:03:40]
<Feris>
ik...
L199[17:04:40]
<Forecaster> OC has over 100
contributors
L200[17:04:54]
<Forecaster> they've probably used every
program imaginable to write code for it
L201[17:04:54]
<Feris> so
i can use IDEA to modify yea?
L202[17:05:25] <Hawk777> Source code’s
just text files, so you can edit them in whatever you want. The
build process uses Gradle. If IDEA can run Gradle, then yes. If it
can’t, then still yes but you’d have to go to a command line to
compile.
L203[17:05:37]
<Forecaster> maybe you should look up the
basics of minecraft modding
L204[17:05:50]
<Feris> i
need to look up for basic to edit one line xD?
L205[17:06:07]
<Forecaster> apparently, since you're
asking all of these questions
L206[17:06:58]
<Feris>
>Forecaster: apparently, since you're asking all of these
questions
L207[17:06:59]
<Feris> i'm
asking because it's way quicker than studying basics, i just want
to edit one line...
L208[17:07:12] <Amanda> then edit it in a
text editor and run gradle
L209[17:07:19]
<Sky>
>Forecaster: I use IDEA, but that's just a personal
perference
L210[17:07:20]
<Sky> IDEA
is *amazing*
L211[17:07:21] <Saphire> I am not sure if
"one line" is all it takes
L212[17:07:28]
<Feris>
>Saphire: I am not sure if "one line" is all it
takes
L213[17:07:29]
<Feris>
?
L214[17:07:43]
<Feris>
it's just IF
L215[17:07:45] <Saphire> You want screens
to act as if they have keyboards attached to them always?
L216[17:07:51]
<Feris>
yes
L217[17:08:11]
<Forecaster> well I don't have time to
teach you how to open, edit and compile a minecraft mod
L219[17:08:45]
<Feris>
>Forecaster: well I don't have time to teach you how to open,
edit and compile a mine…
L220[17:08:45]
<Feris>
where i'm asking for your time?
L221[17:09:11]
<Forecaster> `"i'm asking because
it's way quicker than studying basics, i just want to edit one
line..."`
L222[17:09:30]
<Forecaster> you apparently want someone
to guide you through the steps you need to do to make this
change
L223[17:09:48]
<Nadja>
Saphire: What the hell are you doing with JSON-LD? :D
L224[17:09:49]
<Feris>
>Forecaster: `"i'm asking because it's way quicker than
studying basics, i just want …
L225[17:09:49]
<Feris> why
do you think it's about your person? it is a public channel
L226[17:09:55]
<Forecaster> instead of doing your own
reading
L228[17:10:33]
<Feris>
>Forecaster: you apparently want someone to guide you through
the steps you need to d…
L229[17:10:33]
<Feris> i
don't want someone to guide me, i just asked for what IDE i need to
use and do I need to import forge XDD
L230[17:10:42]
<Sky>
>Feris: i don't want someone to guide me, i just asked for what
IDE i need to …
L231[17:10:42]
<Sky> You
can use anything
L232[17:10:57]
<Sky> from
poking bits on your storage device to buying a multi thousand
dollar IDE
L233[17:11:11] <Amanda> I submitted a PR
to OC written in Sublime, in neovim, fuck I think I even made one
small edit in nano once
L234[17:11:26]
<Sky> Hot
take: nano > vim
L235[17:11:28]
<Sky>
/s
L236[17:11:34] <Saphire> Hm
L237[17:11:35]
<Nadja>
>Feris: why do you think it's about your person? it is a public
channel
L238[17:11:35]
<Nadja>
Look, if Forecaster tells you off for being an annoying git chances
are *very* high you are in the wrong. Don't pick a fight with the
people that made this community please.
L239[17:12:04]
<Feris>
>Nadja: Look, if Forecaster tells you off for being an annoying
git chances are …
L240[17:12:05]
<Feris>
lmao
L241[17:12:20]
<Sky> I
don't think `lmao` is the correct response to that.
L242[17:12:33] *
Saphire dabs
L243[17:12:39] <Saphire> Relay nicknames
properly set up
L244[17:12:42] <Saphire> Yay
L245[17:12:44]
<Feris>
>Sky: You can use anything
L246[17:12:44]
<Feris>
yeah i get answer to this question before, but what about forge? do
i need to import it when i cloned it from github?
L247[17:12:48]
<Nadja>
\o/
L248[17:12:58]
<Sky>
\o/
L249[17:13:12]
<Nadja> So
Saphire, if I now chat from here and IRC it looks the same or what?
:P
L250[17:13:15] <Saphire> it gets a bit
annoying to try and distinguish the monochrome usernames of those
on the other side
L251[17:13:19] <Saphire> Ssssorta?
L252[17:13:28] <Saphire> I mean there's a
prefix icon
L253[17:13:31] <Amanda> @Nadja cases are
different
L255[17:13:44]
<Sky> from
OClogs
L256[17:13:54] <Amanda> You're Nadja on
discorded, nadja on irc
L257[17:13:55]
<Nadja>
Amanda: Yes, on purpose. Otherwise everything pings all the time.
^^'
L258[17:14:08]
<Feris>
>Feris: yeah i get answer to this question before, but what
about forge? do i ne…
L259[17:14:08]
<Feris>
thanks for answer
L260[17:14:11] <Amanda> It... shouldn't? I
thought Corded did antiping on the username
L261[17:14:17] <Saphire> urgh, it does not
save the capitalisation
L262[17:14:21]
<Forecaster> Corded puts a ZWS in
usernames
L263[17:14:27] <Saphire> Wait no hm
L264[17:14:35]
<Sky>
What's a ZWS?
L265[17:14:42] <Saphire>
Zero-Width-Space
L266[17:14:43]
<Forecaster> Zero Width Space
L267[17:14:43]
<Nadja> I
can't seem to tell Quassel to specifically ignore *pings* from
Corded
L268[17:14:46]
<Sky>
Ah
L269[17:14:47]
<Sky> Fair
enough
L270[17:14:59] <Amanda> Or do you eman a
discord ping is also pinging your IRC?
L271[17:15:04] <Amanda> not when you
talk
L272[17:15:08]
<Nadja>
Yep
L273[17:15:09]
<Nadja>
That one
L274[17:15:10] <Hawk777> Feris, AFAIK you
should just be able to clone and run Gradle. But I’ve never
actually tried.
L275[17:15:11] <Amanda> fair
L276[17:15:12]
<Nadja>
When I talk it's fine
L277[17:15:51] <Amanda> Hawk777: good
mews! I'm apparently generating invalid cbor! :D
L278[17:15:57] <Amanda> or no cbor at all,
let's see
L279[17:16:24] <Saphire> cbor?
L280[17:16:24]
<Feris>
>Hawk777: Feris, AFAIK you should just be able to clone and run
Gradle. But I’ve n…
L281[17:16:24]
<Feris>
thanks
L282[17:16:39]
<Nadja>
Concise Binary Object Representation
L283[17:16:45]
<Nadja>
msgpack but in IETF
L284[17:16:55]
<Nadja> or
JSON, but in binary and in less shite :P
L285[17:17:44] <Hawk777> Oh fun! Yeah
error reporting is not the greatest; I didn’t really think of a
reasonably efficient way to ship more than an integer across the
syscall boundary, and I figured mostly things should be hidden
behind strongly typed libraries so it shouldn’t affect applications
too much. Except you’re writing the library, so now you get to
share in the pain :/
L286[17:18:46] <Saphire> Nadja, soooo..
what are your thoughts on JSON-LD
L287[17:19:05] <Amanda> Hawk777: even a
"log" method that has the same ABI as error would be
great, even if it just outputs to the server stdout, rather than
sprinkling an error everywhere
L288[17:19:15]
<Nadja>
Saphire: Depends, what's your threat model? :P
L289[17:19:46] <Saphire>
...hahahahahah
L290[17:19:48] <Saphire> Good one
L291[17:19:52] <Saphire> ...god it
fucking
L292[17:20:01] <Saphire> Allows utterly
arbitrary stuff and just, aaaa
L293[17:20:10] <Amanda> WEll, my arguments
tuple is outputting... ARRAY(length 3)
L294[17:20:13] <Saphire> You are not even
guaranteed to EVER resolve the context of any JSON-LD
document
L295[17:20:15] <Amanda> Nothing else.
:D
L296[17:20:15] *
Saphire claps
L297[17:20:36]
<Forecaster> My threat model just says
"Fire all the missiles!!!!"
L298[17:20:49]
<RedstoneParkour> Well a tuple is
basically an array of arguments
L299[17:20:51]
<Nadja> I
mean JSON-LD is just one way of encoding semantic web information
in a computer-readable format. I wouldn't say it's the worst way,
but I certainly don't think it's the best one.
L300[17:20:51] <Saphire> You can
technically create a malicious JSON-LD serving server that just...
chases the parser around through thousands of contexts all
referencing new and wild contexts
L301[17:21:21] <Hawk777> Hm, yeah, logging
might be useful, it would be a bit of a PITA to find the output in
a lot of cases, but it could be done (it would probably write to
the Minecraft log file I think).
L302[17:21:31] <Hawk777> Though then a
user could DoS a server by filling up its log files.
L303[17:21:38]
<Nadja> So
really, there are two discussions to be had: Firstly if the
semantic web is "a good idea" and secondly if JSON-LD is
a reasonable representation of it ^^
L304[17:21:41] <Hawk777> Then again if a
server has OC installed maybe they can do that anyway, I
dunno.
L305[17:21:46]
<RedstoneParkour> Maybe then have it
output to the debug log?
L306[17:21:59] <Saphire> Nadja: idk,
semantic web is... a thing
L307[17:22:01] <Hawk777> Is the debug log
rotated or something?
L308[17:22:06] <Hawk777> Or limited in
some way?
L309[17:22:20]
<RedstoneParkour> Not sure
L310[17:22:22]
<Forecaster> 45% degree logs are best
logs
L311[17:22:34]
<Forecaster> I don't know why I put a % in
there
L312[17:22:38] <Amanda> Hawk777: could put
it behind a config option, making it a noop if off
L313[17:22:42] <Hawk777> True.
L314[17:22:48] *
Saphire rotates you by 0.45Pi
L315[17:22:58] <Hawk777> Yeah that is
actually something I think I would find useful too.
L316[17:23:02] <Hawk777> Might add it one
day.
L317[17:23:06] <Amanda> and default to
off, would help when debugging locally, but not present a security
risk
L318[17:23:08]
<Forecaster> ohno
L319[17:23:08] <Saphire> Wait no,
0.9Pi
L320[17:23:33]
<RedstoneParkour> Wait, imaginary rotation
(0.9 * P * i)?
L321[17:24:31] <Saphire> ...no, Pi as in
the constant
L322[17:24:58]
<Forecaster> but I don't want to be
constantly rotating
L323[17:25:02]
<Forecaster> that sounds terrible
L324[17:25:14]
<RedstoneParkour> ...well Unicode has
support for the Greek alphabet so just use π instead of Pi
L325[17:25:25]
<RedstoneParkour> (hope that went over
Corded correctly)
L326[17:25:42]
<Nadja> Be
a contratian, use 🥧 instead.
L327[17:25:59]
<Forecaster> or 🍕
L328[17:27:32]
<Nadja>
>RedstoneParkour: ...well Unicode has support for the Greek
alphabet so just use π instead…
L329[17:27:32]
<Nadja>
anyway, elitism serves nobody and entering greek letters using a
non-greek keyboard is annoying, so shush. Writing it out is
fine.
L330[17:27:46]
<RedstoneParkour> yeah that counts
L331[17:28:09]
<Forecaster> just give everyone greek
keyboards, problem solved!
L332[17:30:21]
<RedstoneParkour> well if you want to do
that travel back in time to about 800-500 BC, when Greek was a very
prominent language (at least in Europe)
L333[17:30:59]
<Forecaster> no no, you just give everyone
an extra greek keyboard so they can type π as needed
L334[17:31:12]
<Nadja>
Greece has a population of 10 million, I think we can still safely
classify greece as prominent language.
L335[17:31:12]
<Forecaster> in addition to their normal
keyboard of course
L336[17:31:22]
<RedstoneParkour> maybe a 'greek' modifier
key?
L337[17:31:55]
<RedstoneParkour> but then all other
languages with special alphabets would also want their own
key
L338[17:32:07]
<Forecaster> you could program that
yourself, on windows using AutoHotkey
L339[17:32:16]
<Forecaster> for example
L341[17:32:27] <Saphire> A
L342[17:33:35]
⇨ Joins: zick (~zick@45.150.26.190)
L343[17:33:36]
<Nadja>
Saphire: Do you need a hug? :P
L344[17:34:13]
<Forecaster> or an equivalent value in
keyboards?
L345[17:34:27] ⇦
Quits: zick (~zick@45.150.26.190) (Client Quit)
L346[17:34:46]
<Forecaster> I have no idea how many that
would be though
L347[17:35:02]
<Nadja>
What's the equivalent value of affection and care in
keyboards?
L348[17:35:31]
<Forecaster> that probably depends on how
much someone likes keyboards
L349[17:35:50]
<Nadja> How
do you quantify affection anyway?
L350[17:36:01]
<Forecaster> with keyboards, of
course
L351[17:36:11]
<Forecaster> wait...
L352[17:36:16]
<Nadja>
Well then, how much keyboard is affection?
L353[17:36:48]
<RedstoneParkour> That differs from person
to person
L354[17:36:52]
<Forecaster> I'd start at 1 keyboard = 1
affection
L355[17:37:16]
<Forecaster> might need to adjust balance
in a later patch
L356[17:38:11]
<Nadja>
>Forecaster: I'd start at 1 keyboard = 1 affection
L357[17:38:12]
<Nadja> I
feel sorry for you :P
L358[17:39:17] *
Saphire sobs
L359[17:39:32] <Saphire> Why are JSON-LD
IDI fragments
L360[17:39:51]
<Forecaster> Sadly I own about as many
keyboards as I have RL friends
L361[17:40:31] <Amanda> Hawk777: if you do
add the log function, maybe also report some more exceptions as
well. For instance, sprinkiling a log output to the
ExceptionTransformer let me figure out some stuff where zig was
generating an "unreachable" instruction. Also Maybe for
other exceptions you turn into ErrorCodes as well, like
cborDecode
L362[17:41:53] <Amanda>
s/report/log/
L363[17:41:53] <MichiBot> <Amanda>
Hawk777: if you do add the log function, maybe also log some more
exceptions as well. For instance, sprinkiling a log output to the
ExceptionTransformer let me figure out some stuff where zig was
generating an "unreachable" instruction. Also Maybe for
other exceptions you turn into ErrorCodes as well, like
cborDecode
L364[17:48:36] <Hawk777> Yeah, that makes
sense, probably again optionally based on a config tunable.
L365[17:48:43] <Amanda> Fair
L366[17:49:37] <Hawk777> Guess I have to
figure out how to do config then; I don’t have any config tunables
yet!
L367[18:01:16]
⇨ Joins: TPG24
(~ThePiGuy2@host-78-144-113-28.as13285.net)
L368[18:02:34] ⇦
Quits: ThePiGuy24 (~ThePiGuy2@host-78-144-113-28.as13285.net) (Ping
timeout: 189 seconds)
L369[18:10:11] <Amanda> Hawk777:
sdfjsndfjksdfsdfsd -- Figured out why gpu.set was returning
cborDecode.
L370[18:10:38] <Amanda> Hawk777: I added a
log to every place it was raised, thinking I had made a mistake in
my encoder: "[14:09:38] [OpenComputers-Computer-2/ERROR]
[ca.chead.oc-wasm]: Failed to encode CBOR value: Not an
Object[]"
L371[18:11:30] <Amanda> Wait. That's
toJavaArray
L372[18:17:48] <Amanda> Fixed. :D
L373[18:17:54] <Amanda> I was passing the
wrong pointer in, my bad
L374[18:18:05] <Amanda> Thought I found an
encoding error
L376[18:18:45] <Amanda> So, component
invocations are now Working*
L377[18:19:36] <Amanda> Let's see what
happens after the 5min timer is up, I'm curious what happens when
main returns
L378[18:19:47] <Amanda> %remindme 5m check
ocwasm-zig comp
L379[18:19:47] <MichiBot> I'll tell you
"check ocwasm-zig comp" in 5m at 10/30/2022 06:24:47
PM
L380[18:24:48] <MichiBot> Amanda REMINDER:
check ocwasm-zig comp
L381[18:25:00] <Amanda> Answer: It does an
unreachable
L382[18:27:07] <Hawk777> Ah, by “when main
returns” you mean the main coroutine, I guess? Because the
entrypoint *function* is returning all the time.
L383[18:27:25] <Hawk777> Anyway, sounds
like lots of progress is happening!
L384[18:28:35] <Amanda> yeah
L385[18:29:24] <Amanda> I need to poke my
code so that main can return an error union
L386[18:29:42] <Amanda> Then I don't have
to do ugly stuff like "var gpus = comp.list("gpu")
catch |err| return computer.throw_error("Failed to list GPUs:
{}", .{err});"
L387[18:31:56] <Amanda> I should also
probably implement map en/decoding...
L388[18:32:03] <Hawk777> Ah yeah,
definitely need to build up some error handling infrastructure to
make things more ergonomic.
L389[18:37:40] <Amanda> Hawk777: gimme a
poke when you get around to adding the log stuff? Would be very
helpful for my flow, lolol
L390[18:38:10] <Amanda> %choose halucunate
or continue working on cbor
L391[18:38:10] <MichiBot> Amanda: Haven't
you always gone with "halucunate"? Hm, maybe not.
L392[18:38:16] <Amanda> Sounds good
L393[18:42:27] <Hawk777> Will do.
L394[18:42:47] ⇦
Quits: Hawk777 (~Hawk777@2607:c000:828c:ba00:9923:89fd:ac87:5662)
(Quit: Leaving.)
L395[18:46:27] ⇦
Quits: ben_mkiv
(~ben_mkiv@200116b8146a5d00fe3497fffea975f2.dip.versatel-1u1.de)
(Killed (NickServ (GHOST command used by
ben_mkiv|afk!~ben_mkiv@2001:16b8:1e53:4400:fe34:97ff:fea9:75f2)))
L396[18:46:29]
⇨ Joins: ben_mkiv|afk
(~ben_mkiv@2001:16b8:1e53:4400:fe34:97ff:fea9:75f2)
L397[19:16:20] ⇦
Quits: DBotThePony (~Thunderbi@31.220.170.28) (*.net
*.split)
L398[19:16:20] ⇦
Quits: Victor_sueca
(~Victor_su@190.pool90-165-120.dynamic.orange.es) (*.net
*.split)
L399[19:16:20] ⇦
Quits: ping (~uwu@femboy.me) (*.net *.split)
L400[19:16:20] ⇦
Quits: cyn1c (~cynic@a.silly.computer) (*.net *.split)
L401[19:16:20] ⇦
Quits: Pokey (~pokey@vmi238643.contaboserver.net) (*.net
*.split)
L402[19:16:20] ⇦
Quits: LeshaInc (LeshaInc@fomalhaut.me) (*.net
*.split)
L403[19:16:20] ⇦
Quits: Corded (~MichiBot@pc-logix.com) (*.net *.split)
L404[19:16:20] ⇦
Quits: ashka (~postmaste@server4.shellgratuit.com) (*.net
*.split)
L405[19:16:20] ⇦
Quits: gruetzkopf (~quassel@daemon.gruetzkopf.org) (*.net
*.split)
L406[19:16:20] ⇦
Quits: Oddstr13 (Odd@satomi.openshell.no) (*.net
*.split)
L407[19:19:39]
⇨ Joins: DAMIK_BELUGA (~DAMIK_BEL@176.230.14.23)
L408[19:19:54]
⇨ Joins: DBotThePony (~Thunderbi@31.220.170.28)
L409[19:19:54]
⇨ Joins: Victor_sueca
(~Victor_su@190.pool90-165-120.dynamic.orange.es)
L410[19:19:54]
⇨ Joins: ping (~uwu@femboy.me)
L411[19:19:54]
⇨ Joins: cyn1c (~cynic@a.silly.computer)
L412[19:19:54]
⇨ Joins: Pokey
(~pokey@vmi238643.contaboserver.net)
L413[19:19:54]
⇨ Joins: LeshaInc (LeshaInc@fomalhaut.me)
L414[19:19:54]
⇨ Joins: Corded (~MichiBot@pc-logix.com)
L415[19:19:54]
⇨ Joins: ashka
(~postmaste@server4.shellgratuit.com)
L416[19:19:54]
⇨ Joins: gruetzkopf
(~quassel@daemon.gruetzkopf.org)
L417[19:19:54]
⇨ Joins: Oddstr13 (Odd@satomi.openshell.no)
L418[19:19:54]
anarchy.esper.net sets mode: +v on Corded
L419[19:21:47]
⇨ Joins: shlopa16 (~shlopa16@176.230.14.23)
L420[19:21:55] <shlopa16> hello
L421[19:22:07]
<Forecaster> hi
L422[19:22:23] <DAMIK_BELUGA> hi
L423[19:22:47]
<Forecaster> @Michiyo🎃 I just noticed your
jenkins server put a build of OpenSec in OpenCargo for some
reason
L424[19:23:14] <DAMIK_BELUGA> lol me
chating on open computers mod
L426[19:23:49] <DAMIK_BELUGA> what is
it
L427[19:23:54]
<Michiyo🎃>
That's not OpenSecurity, that's a misnamed build artifact
L428[19:24:21]
<RedstoneParkour> well it's quite known
that OC has an IRC client as a loot disk
L429[19:24:25]
<Michiyo🎃>
Or.. I'm wrong
L430[19:24:28]
<Michiyo🎃>
and wtf jenkins
L431[19:25:13]
<Forecaster> The commits are all for
OpenSec
L432[19:25:26]
<Michiyo🎃>
... wtf the project config for OpenCargo is pointing at OpenSec's
repo
L433[19:27:58]
<Michiyo🎃>
... WTF I just pointed it to the right repo and forced a build...
and it uploaded to OpenSec's CF page
L434[19:28:00]
<Michiyo🎃>
q_q
L435[19:28:29]
<Forecaster> huh
L436[19:28:36]
<Michiyo🎃>
Aaaand I can't do anything with it because it's still
processing
L437[19:29:31]
<Michiyo🎃>
ok, archived it now to figure out what the hell is going on
L438[19:29:32] ⇦
Quits: shlopa16 (~shlopa16@176.230.14.23) (Ping timeout: 189
seconds)
L439[19:31:15]
<Forecaster> just so you know I haven't
used the jenkins builds
L440[19:31:21]
<Forecaster> I just build it myself
L441[19:32:13]
<Michiyo🎃>
Then I'll just disable the project on CI then as I don't have time
to bash my head against it
L442[19:33:23]
<Forecaster> Maybe, one day, you'll be
incredibly incredibly bored
L443[19:33:46] <Corded> *
<Michiyo🎃> looks at her work backlog, personal backlog, and
desire to do any of either
L444[19:33:50]
<Michiyo🎃>
yeah..... maybe
L445[19:34:28]
<Forecaster> when you say you looked at
the desire, you used a microscope I assume
L446[19:35:32]
<Michiyo🎃>
Yeah
L447[19:35:50]
<Forecaster> %sip
L448[19:35:52] <MichiBot> You drink a
fluffy orange potion (New!). Forecaster turns into an otter until
they stop thinking about it.
L449[19:36:01]
<Forecaster> aw man
L450[19:49:20] ⇦
Quits: DAMIK_BELUGA (~DAMIK_BEL@176.230.14.23) (Remote host closed
the connection)
L452[19:50:54]
<Forecaster> It's amazing the kind of
garbage some companies sell...
L453[19:51:59] <Amanda> %choose iced
creams?
L454[19:51:59] <MichiBot> Amanda:
"iced creams" doesn't really seem like a good idea right
now.
L455[19:52:12] <Amanda> Okay, but,
consider: Iced creams.
L456[19:52:22] *
Amanda beams a bowl of choco-mint chip in front of herself,
noms
L457[19:52:29]
<Forecaster> This video is about
"Audiophile network switches"
L458[19:56:30]
<AR2000>
Who want to buy my 8bit (big endian) to 8bit (big endian) digital
to digital converter ?
L459[19:57:01]
<Forecaster> do you take non-fungible
tokens?
L460[19:57:25]
<Nadja>
Depends, what is the transfer speed and latency and what's the
permissible voltage differential?
L461[20:18:19]
<Forecaster> About the same speed as an
unladen swallow
L462[20:27:04] <Amanda> An african or
martian?
L463[20:27:35]
<Sky>
>Corded: TPG24 has quit IRC (*.net *.split)
L464[20:27:35]
<Sky> what
the hell happened here?
L465[20:27:45] <Amanda> IRC split in
half
L466[20:28:02]
<Sky>
oh
L467[20:28:13]
<Sky>
>AR2000: Who want to buy my 8bit (big endian) to 8bit (big
endian) digital to d…
L468[20:28:13]
<Sky> Would
this not be 8 wires on a breadboard?
L469[20:28:17]
<Forecaster> IRC networks consist of
multiple servers
L470[20:28:21]
<Sky>
Ah
L471[20:28:24]
<Sky> and
one of them died?
L472[20:28:42]
<Forecaster> sometimes one server
temporarily loses connection to the rest, ie it's split from the
network
L473[20:28:50]
<Sky>
Ah
L474[20:28:53]
<Forecaster> no, it's just a connection
that goes down
L475[20:29:10]
<Forecaster> the people on the split
server can continue talking to eachother as if nothing
happened
L476[20:29:43]
<Sky> I
see, but everything else sees them all as leaving the
network?
L477[20:29:53]
<Sky> and
when the connection is regained they all join the network
again?
L478[20:29:58]
<Forecaster> yes, and they see everyone
else leaving instead
L479[20:30:06]
<Forecaster> yep
L480[20:30:12]
<Sky> I
see
L481[20:40:22]
<caterpillar> >Nadja: Have fun, go
build it. It's not that easy to do sadly ^^'
L482[20:40:22]
<caterpillar> ~~Add internet capabilities
to Sedna~~
L483[20:42:05]
<Riley>
There’s a abandoned PR for it. It’s possible, but I think security
was the main issue.
L484[20:42:32]
<Forecaster> psh, security, who needs
it
L485[20:42:48]
<Riley>
Though I think it would be fine if you could choose an interface on
the hosting server.
L486[20:42:58]
<Riley>
That way you could use a firewall if you care.
L487[20:43:30]
<caterpillar> There could be a config file
with allowed URLs
L488[20:43:44]
<caterpillar> Maybe would be a little bit
more secure
L489[20:48:41]
<Riley> I’d
prefer a system that allows me to route through my own rules.
L490[20:48:58]
<Nadja>
>Riley: There’s a abandoned PR for it. It’s possible, but I
think security was t…
L491[20:48:58]
<Nadja> No,
the main issue is that you can't do actual IP level networking
without elevated permissions on the host and that is as you might
realize a *very bad idea*.
L492[20:55:17]
<Forecaster> It requires a form filled out
in triplicate, buried in the backyard and discovered 10 years
later
L493[20:59:57]
<Riley>
>Nadja: No, the main issue is that you can't do actual IP level
networking witho…
L494[20:59:57]
<Riley> It
looks like some people are working on a userspace implementation as
of early this year.
L495[21:15:34]
<RedstoneParkour> Maybe something like
QEMU's user network backend?
L496[21:15:49]
<Z0idberg>
Ok WTH, Facebook Marketplace is now dangerous
L497[21:15:51]
<Z0idberg>
Xd
L498[21:17:14]
<Forecaster> how so?
L499[21:22:43]
⇨ Joins: S|h|a|w|n (~shawn156@67.218.67.153)
L500[21:23:11]
<AR2000>
>Sky: Would this not be 8 wires on a breadboard?
L501[21:23:11]
<AR2000>
no, it's way better than that. It's a 16 pins silicon chip. 8
inputs and 8 output. With a really low power usage
L503[21:32:50]
<Inari
「オ兄デレ」「狐っ娘」> :Kek:
L504[21:32:55]
<Inari
「オ兄デレ」「狐っ娘」> what dumb stuff ppl buy into
L505[21:33:03]
<Inari
「オ兄デレ」「狐っ娘」> and then placebo themselves into thinking it
works
L506[21:33:16]
<Z0idberg>
What dumb people buy
L507[21:34:16]
<Z0idberg>
>Forecaster: how so?
L508[21:34:16]
<Z0idberg>
Somebody was selling a toddler's KKK uniform as a "casper
costume"
L509[21:37:45]
<Forecaster> uuh
L510[21:38:09]
<Forecaster> Questionable to even make
such a thing in the first place
L511[21:56:17]
<Nadja>
>Riley: It looks like some people are working on a userspace
implementation as o…
L512[21:56:18]
<Nadja> No,
like this is a fundamental problem you can not work around. You
could add a peripheral that gives you basically TCP offloading via
the in-game RPC, but you can't get raw IP sending capabilities as
you'd need.
L513[21:59:11] <Amanda> Basically, to have
the same level of security as OC1, and not requiring a root, You'd
need to implement an entire TCP/IP stack in Java, and filter with
that
L514[21:59:52]
<Nadja>
Nope
L515[22:00:12] <Amanda> That was my
understanding anyway
L516[22:00:14]
<Nadja> You
can't send raw ip without elevated privs on any of the common
OS
L517[22:00:22] <Amanda> You'd NAT and
translate
L518[22:00:37] <Amanda> turn an TCP
connect packet into an socket.open
L519[22:01:07]
<Nadja> Ah,
right. I guess you could do that, yes. Would at least allow you
outgoing.
L520[22:01:08] <Amanda> That was what
Sangar was saying anyway
L521[22:01:46]
<Nadja> But
that doesn't allow you custom routing and where's the fun in that
:P
L522[22:02:15] <Amanda> I mostly see this
ending with an RPC component, honestly. There's not really any
other way to do it without root, or admin intervantion
L523[22:02:24] <Izaya> maybe it'll
encourage people to do interesting things rather than just bridge
in-game IP networks :^)
L524[22:02:25]
<Nadja> And
also it'll randomly fail when you send ICMP or any of the other
control plane messages which I think the linux userspace does not
expect or handle.
L525[22:02:49]
<Nadja>
Izaya: You're implying IP is not interesting. You'd be very
mistaken if so :)
L526[22:03:51] <Izaya> it can be
interesting, but going from "any option is equally valid"
to "everything but IP are third-class citizens" is
sad
L527[22:04:10]
<Nadja>
Well all other options other than IP are strictly worse than IP
:P
L528[22:05:02] <Izaya> I don't care enough
to argue
L529[22:05:26]
<Nadja>
It's also not an opinion you can change my mind on ^^
L530[22:05:44] <Izaya> Good talk.
L531[22:05:51]
<Nadja>
<3
L532[22:07:11] <CompanionCube> inb4
pedantic 'but *which* IP? v4 or v6?'
L533[22:07:56]
<Nadja> I
don't particular care about legacy IP if I don't have to
¯\_(ツ)_/¯
L534[22:07:58] <CompanionCube> anyway the
real shit decision is the sadly common 'anything but HTTPS is
second-class'
L535[22:08:03]
<Riley> Can
it work like sound drivers do? Have a server with the raw
connection capabilities and the Minecraft server can communicate
using some protocol to use connections. It doesn’t get rid of the
permission issues, but it isolates the problem to a single
component.
L536[22:08:05] <CompanionCube> good
opinion
L537[22:08:51]
<Nadja>
>Riley: Can it work like sound drivers do? Have a server with
the raw connection…
L538[22:08:51]
<Nadja>
It's not that it can't work. It's that it's a bad idea to give the
minecraft process elevated permissions to the *network*
L539[22:09:17]
<Nadja>
Especially given that you're running basically arbitrary
user-submitted code.
L540[22:10:05]
<Nadja> And
with tun/tap you still have to manage that adapter which is quite
annoying to do under windows.
L541[22:10:32] <CompanionCube> shame
there's not a single-interface CAP_SYS_ADMIN for the tun/tap
thing
L542[22:11:21]
<Riley> Do
people really host servers on Windows? I guess people play
singleplayer.
L543[22:12:01]
<Nadja> Yep
and "it's internet but it only really works on Linux, if
you're playing multiplayer and you do some external setup" is
not that good a sale.
L544[22:13:18]
<Riley>
That’s sad to hear. My condolences to anyone running a Windows
server.
L545[22:15:08]
<Riley>
>CompanionCube: anyway the real shit decision is the sadly
common 'anything but HTTPS is…
L546[22:15:08]
<Riley>
fwiw that would fulfill most people’s needs, but wouldn’t work with
any existing userspace programs.
L547[22:15:33] <CompanionCube> true, but
it was more of a general comment covering both in-game and
IRL.
L548[22:16:11] <CompanionCube> could maybe
do HTTPS via a fake in-game WAN or something
L549[22:16:35]
<Nadja> Or
just via RPC peripheral
L550[22:16:51] <CompanionCube> cursed:
wireguard over rpc
L552[22:17:14]
<Nadja> We
did wireguard over IP in OC2 :P
L553[22:17:19] <Izaya> what if:
L554[22:17:32] <Izaya> emulate a modem
module to provide "WAN"
L555[22:17:38] <Izaya> like, an LTE modem
module
L556[22:17:41] <CompanionCube> that
background colour
L557[22:17:44] <CompanionCube> just, no,
why
L558[22:18:10]
<Nadja> You
mean internet via serial?
L560[22:18:20] <Izaya> or
serial-over-USB
L561[22:18:30] <Izaya> dialup modems could
be cute though
L562[22:18:40] <CompanionCube> Izaya: i
mean, the *monitor's* background colour
L563[22:18:42]
<Nadja> I
mean but how do you map those packets to the actual internet on the
host side?
L564[22:18:54]
<Nadja>
Getting raw ip packets to the host computer is the easy part.
L565[22:19:07] <Izaya> ATDT
210001218092-443
L566[22:19:28]
<Nadja> But
what do you do with the ICMP packets that somebody sends? Or the
ones with fake source addresses?
L567[22:19:43]
<Riley> IP
over IRC
L568[22:19:58] <Izaya> let people run
dialup ISPs over a TCP socket
L569[22:20:15]
<Nadja> You
still need to terminate that :P
L570[22:20:26] <CompanionCube> Izaya:
tired of PPPoE or PPPoA, introducing PPPoRPC?
L571[22:20:32] <Izaya> that's a problem
for the ISP
L572[22:20:34]
<Nadja>
Like that's all that I'm saying. Terminating whatever transport
layer you invent is the complex part :)
L573[22:20:47]
<Nadja> And
the one that requires elevanted permissions
L574[22:20:53]
<Nadja>
*elevated
L575[22:21:14] <Izaya> Riley: you jest,
but the first WAN implementation for Minitel was Minitel over
IRC
L576[22:22:49]
<Nadja> But
yeah, if you have termination figured out, getting internet in OC2
is like less than 200 lines of Java :P
L577[22:25:18] <CompanionCube> HTTPS
CONNECT would be feasible, but not only does that only work for IP,
it only does TCP!
L578[22:27:22] <CompanionCube> someone
*did* write a standard for CONNECT-UDP in 2020 though
L579[22:27:37] <CompanionCube>
s/standard/draft standard/ oops
L580[22:27:37] <MichiBot>
<CompanionCube> someone *did* write a draft standard for
CONNECT-UDP in 2020 though
L581[22:27:38]
<Nadja> It
would, but then what? Especially if you — as Riley said — want to
be able to set up your own routing, or even just multiplex on the
other end.
L582[23:05:03] <gruetzkopf> nadja: we need
to do another rebase
L583[23:05:17] <gruetzkopf> and think i'll
implement some more tunneling protocols
L584[23:08:09]
<Nadja> ye
we should
L585[23:08:42]
<Nadja>
Especially since hypatia may just get stable network soon and we
can actually *use* networking from within OC2 :P
L586[23:14:50]
<AR2000> I
think I'm missing something.
L587[23:14:50]
<AR2000>
Can someone give me the tldr about the ip issue. With OC you can
open a outgoing tcp/socket.
L588[23:14:50]
<AR2000> No
UDP or listening, but you still can have a raw TCP/IP socket
L589[23:15:12]
<Nadja>
There's nothing raw about a TCP socket.
L590[23:15:40]
<Nadja>
Notably, you can't send custom ip packets, or worse, custom
ethernet ones.
L591[23:15:53]
<Nadja> And
linux interfaces must be on one of those two levels.
L592[23:16:21]
<Nadja> Not
necessarily ethernet and IP specifically mind you. Just that level
of control.
L593[23:17:08] *
Amanda broadcasts wifi packets containing log4j
exploits
L594[23:17:11]
<Nadja> You
could totally replicate what OC can do in OC2, using a custom
peripheral. But then the Linux APIs can't give you networking, you
have to do it *all* yourself.
L595[23:17:24]
<AR2000>
Why would you want to use anything else than TCP/IP. Even the new
QUIC layer is using UDP because going lower in the OSI stack could
cause issue
L596[23:17:34]
<Nadja>
That's a stupid take.
L597[23:17:48]
<Nadja>
sorry, *ignorant* take.
L598[23:18:03]
<Nadja> You
can't do networking without going down to at least IP.
L599[23:18:42]
<AR2000>
Mostly internet routers not handling non TCP or UDP IP
packets
L600[23:18:46] <Amanda> You're missing the
point. Ar2000, it's not that we necessarily*want* to but that we
*must* for real-internet interactions on the vms
L601[23:18:54]
<Nadja>
Yeah, but they are handling *IP* packets, are they not?
L602[23:19:08]
<Nadja> So
not being able to send *IP packets* won't really work, will it
now?
L603[23:19:44] <Amanda> That's just the
level of abstraction that were working with on the host/guest
boundry
L604[23:19:59]
<Nadja> And
an userspace application without elevanted packets can't send
custom IP packets. Which it has to so that the emulated hardware
*on the VM side* can actually work.
L605[23:20:11]
<Nadja>
custom doesn't mean weird.
L606[23:20:18]
<AR2000>
>Nadja: Yeah, but they are handling *IP* packets, are they
not?
L607[23:20:19]
<AR2000>
Not really
L608[23:20:19]
<AR2000>
Some of them only handle ICMP, TCP and UDP. Why IDK. That's what I
learned in a http3/QUIC presentation
L609[23:20:24]
<Nadja> It
just means "the application does the entire building of the IP
packets"
L610[23:20:32]
<Nadja>
>AR2000: Not really
L611[23:20:33]
<Nadja>
Some of them only handle ICMP, TCP and UDP. Why IDK. That's …
L612[23:20:33]
<Nadja> All
of which are wrapped in IP :)
L613[23:20:48]
<AR2000>
>Nadja: It just means "the application does the entire
building of the IP packets…
L614[23:20:48]
<AR2000>
Might be dropped by ISP's infrastructure
L615[23:20:53]
<Nadja>
Nope
L616[23:20:59] <Amanda> Question, @AR2000
what do you think the /IP means in TCP/IP
L617[23:20:59]
<Nadja>
You're missing the point, 100$.
L618[23:21:16]
<AR2000>
Internet Protocole
L619[23:21:22]
<AR2000> I
know
L620[23:21:33] <Amanda> It means TCP over
IP
L621[23:21:47]
<Nadja>
Again, you can totally do what OC does, via custom peripherals.
*But that is not what any of this is about*
L622[23:22:01] <Amanda> IP is the
container that holds icmp, tcp, udp
L623[23:22:06]
<Riley>
Internet ponies obviously. When you send a request over your
internet tube it is dropped into a saddle bag and transported via
pony to the destination.
L624[23:22:08]
<Nadja>
Because what OC does does not integrate with the Linux interfaces
at all.
L625[23:22:39]
<Forecaster> %tonkout
L626[23:22:40] <MichiBot> Aw jeez!
Forecaster! You beat your own previous record of 3 hours, 56
minutes and 19 seconds (By 2 hours, 25 minutes and 58 seconds)! I
hope you're happy!
L627[23:22:41] <MichiBot> Forecaster has
tonked out! Tonk has been reset! They gained 0.006 tonk points!
plus 0.01 bonus points for consecutive hours! Current score:
3.79191524, Position #1
L628[23:22:57]
<AR2000>
>Amanda: IP is the container that holds icmp, tcp, udp
L629[23:22:57]
<AR2000> I
know. I studied networking
L630[23:23:01]
<Nadja>
Goddammit forecaster.
L631[23:23:35]
<Nadja>
>AR2000: I know. I studied networking
L632[23:23:36]
<Nadja> you
sure? :P
L633[23:23:47] <Amanda> @AR2000 Then you
should understand why saying "we don't need IP we have
TCP" is nonsense
L634[23:24:55]
<AR2000>
>Amanda: <@256917157559009281> Then you should understand
why saying "we don't nee…
L635[23:24:56]
<AR2000> I
didn't say we don't need IP if we have TCP.
L636[23:24:56]
<AR2000> I
was just asking why reinventing the wheel when when have TCP
already to handle IP connexion
L637[23:25:00]
<AR2000> Or
UDP
L638[23:25:01]
<Nadja>
Okay, different question: What do you think should happen if a
program in the OC2 VM sends an ICMP packet to it's network? Let's
say a ping to a different host in the same LAN.
L639[23:25:16]
<Nadja>
Like, what happens to that ICMP packet?
L640[23:25:36]
<AR2000>
ICMP in IP in Ethernet on whatever hardware you are using
L641[23:25:46]
<Nadja>
Yeah but what happens to it?
L642[23:25:54]
<Nadja>
Like okay, it's in the OC2 vm, great!
L643[23:25:56]
<Nadja> And
then?
L644[23:25:57]
<AR2000>
Encapsulated
L645[23:26:05]
<Nadja>
What do you mean with encapsulated?
L646[23:26:32]
<AR2000>
Put one inside the other
L647[23:26:40]
<Nadja> put
what into what?
L648[23:26:53]
<AR2000>
ICMP in IP in Ethernet
L649[23:27:06]
<Nadja>
Okay, I now have ICMP in IP in Ethernet, in the OC2 vm.
L650[23:27:07]
<Nadja> Now
what?
L651[23:27:13]
<AR2000>
And Ethernet on electron or photons
L652[23:27:29]
<AR2000>
>Nadja: Now what?
L653[23:27:30]
<AR2000>
You do the opposite
L654[23:27:31]
<Nadja> Yes
yes sure, but after that. It's now in the OC2 mod, it can do
something with that packet
L655[23:27:36]
<Nadja>
What does it do with that packet?
L656[23:27:46]
<AR2000>
Take the Ethernet, find IP in it, find ICMP in it
L657[23:27:56]
<Nadja>
Okay, I have the ICMP packet!
L658[23:28:13]
<Nadja> In
the OC2 mod, so in the JVM running on the host computer in
userspace
L659[23:29:04]
<AR2000>
Issue is, some routers on internet will look at Ethernet, then IP
since they route IP, but will check the protocol encapsulated in IP
to help with routing. If they don't know it, they might drop
it
L660[23:29:12]
<Nadja> But
I'm not at some router
L661[23:29:16]
<Nadja> I'm
in the OC2 mod
L662[23:29:29]
<Nadja> I'm
still on the host computer, running in a JVM in userspace.
L663[23:30:11]
<AR2000> Do
you use the host network ?
L664[23:30:12]
<AR2000> It
may not let you put anything you want in the IP packet
L665[23:30:19]
<Nadja>
Yeah, exactly :)
L666[23:30:28]
<Nadja> To
send that ICMP packet in the host network I need elevated
permissions
L667[23:30:33]
<Nadja>
Because I need *raw IP*
L668[23:30:47]
<Nadja>
Y'know, exactly what we've been telling you that we need :)
L669[23:30:52]
<AR2000> So
make the same choice than QUIC, and put your protocol on top of
UDP.
L670[23:31:01]
<Nadja> But
what happens with the ICMP packet?
L671[23:31:09]
<Nadja>
What do I do with that?
L672[23:31:31]
<AR2000> If
you have a custom ICMP do the same as QUIC and build it on top of
UDP
L673[23:31:38]
<Nadja> No
I don't have custom ICMP.
L674[23:31:42]
<Nadja> I
just have ICMP.
L675[23:31:51]
<Nadja> You
know, the normal Internet Control Message Protocol
L676[23:31:56]
<Nadja> The
one you need to ping things.
L677[23:32:16]
<AR2000>
QUIC used UDP because it us the closest to raw there is. Just put
your things in it
L678[23:32:16] <CompanionCube> and for
other non-ping things
L679[23:32:26]
<Nadja> But
what do I do with ICMP?
L680[23:32:33]
<Nadja>
Okay I can wrap it in UDP, then what?
L681[23:33:04]
<Nadja>
What port do I use for that ICMP-in-UDP packet?
L682[23:33:36]
<AR2000>
>Nadja: Okay I can wrap it in UDP, then what?
L683[23:33:36]
<AR2000>
Then you are good.
L684[23:33:36]
<AR2000>
Like you take out ICMP from IP, take your things out of UPD
L685[23:33:48]
<Nadja>
Okay but what happens on the receiving end?
L686[23:33:54]
<Nadja>
They don't expect UDP
L687[23:33:55] <Amanda> What's the use of
ICMP-in-UDP though, I can't talk to anything with that
L688[23:33:56]
<Nadja>
They expect ICMP!
L689[23:34:13]
<Nadja> But
I'm not sending them ICMP. I'm sending them ICMP-in-UDP
L690[23:34:20]
<Nadja>
They are just going to drop that :(
L691[23:34:26]
<AR2000>
You can send ICMP without UDP.
L692[23:34:26]
<AR2000>
The OS will let you do it
L693[23:34:31]
<Nadja>
Nope
L694[23:34:44]
<Nadja> Not
custom one anyway
L695[23:34:58]
<Nadja> I
can tell the kernel to send an ICMP packet.
L696[23:34:59]
<AR2000>
>Nadja: They are just going to drop that :(
L697[23:35:00]
<AR2000> No
custom ICMP ???
L698[23:35:04]
<Nadja> But
I can't tell the kernel to send *this* ICMP packet.
L699[23:35:51]
<Nadja> For
that I'd need a raw socket on the IP level.
L700[23:36:35]
<Nadja>
Then I'd still need to be a router and do quite ugly NAT, but
that's okay, that's been done before
L701[23:37:16]
<Nadja> If
I could get a raw socket on the ethernet level however I could skip
keeping any state, and just take the IP packet that I got from the
OC2 vm and just send that as-is!
L702[23:37:24]
<Nadja>
Don't need to care about anything :)
L703[23:38:29]
<Nadja>
Well, I do need to care about IP packets I receive that aren't for
the host itself and forward them to the OC2 VM because they may be
for that VM, but that's all in all pretty easy.
L704[23:40:02]
<AR2000>
Other solution : encapsulate IP or even Ethernet in UPD
L705[23:40:02]
<AR2000> vl
host decapsulate to UDP, give it to OC2 vm, and oc2 find IP and
more in it
L706[23:40:17]
<Nadja>
Encapsulation is not the problem.
L707[23:40:20]
<Nadja> Or
the solution.
L708[23:40:23]
<Nadja>
*Termination* is.
L709[23:40:37] <Amanda> Except we're nto
trying to talk to OC2 from OC2, we're trying to talk to, Google, or
Amazon, or whatever your webhost of preference is
L710[23:40:40]
<Nadja> And
termination is a problem you can't wish away.
L711[23:40:51]
<Nadja> And
it's also a solution that just works.
L712[23:41:01] <Amanda> WE can already
talk to OC2 from OC2 on the same hsot.
L713[23:41:19]
<Nadja> We
can also talk from OC2 to any host on the internet thanks to
termination :P
L714[23:41:22] <Amanda> We want to be able
to talk on IRC, download files, etc
L715[23:41:31]
<AR2000>
Make the vm read all icmp or simulate them.
L716[23:41:32]
<Nadja> And
vice versa for that matter ^^
L717[23:41:44]
<Nadja>
>AR2000: Make the vm read all icmp or simulate them.
L718[23:41:45]
<Nadja>
That needs elevated permissions.
L719[23:41:51]
<AR2000> To
read?
L720[23:41:54]
<Nadja>
Yep
L721[23:41:59]
<AR2000>
Crap
L722[23:42:24]
<Nadja>
Really now, if this problem was that simple we'd already done it
that way.
L723[23:43:03]
<AR2000>
And why can't you give oc the socket?
L724[23:43:04] <Amanda> Believe it or not,
we're not a bunch of shit-flinging monkies, we actually knwo what
we're talking about usually
L725[23:43:05]
<Nadja>
There is a "simple" solution, it's called termination
resp. tunneling and the only thing it requires is some set up on
the outer host (or, with VXLAN, on another host due to Linux'
limitations)
L726[23:43:21]
<Nadja>
@AR2000 Because that is now how any of that works.
L727[23:43:48] <Amanda> The guest talks to
the host using a virtio fake ethernet device
L728[23:43:49]
<Nadja> At
this point you are being ridiculous.
L729[23:43:53]
<AR2000>
>Amanda: Believe it or not, we're not a bunch of shit-flinging
monkies, we actuall…
L730[23:43:54]
<AR2000>
And I'm trying to understand the issue. You know it, I don't
L731[23:44:53]
<Nadja> For
clarification, this is not a theoretical discussion.
L732[23:44:57] <Amanda> Except you're not
framing it as "More information please" your attitude
reads as "Just do <wrong thing> EZ"
L734[23:45:04]
<Nadja> *We
know what we're doing*
L735[23:45:31]
<Riley> It
seems you limit who can view your tweets. Can you post a
screenshot?
L736[23:45:37]
<Nadja> Ah
right
L739[23:46:22]
<Nadja>
gruetzkopf was the brain behind that, I'm just the pretty set
dressing. But I still know how it works :)
L740[23:48:02]
<Riley> And
this is done with termination tunneling as you described above and
the issue is it requires extra setup on the host side?
L741[23:48:04]
<AR2000>
Can you give me a use case where writing a custom ICMP is required
?
L742[23:48:19]
<Nadja>
>Riley: And this is done with termination tunneling as you
described above and t…
L743[23:48:19]
<Nadja>
This is done with VXLAN specifically
L744[23:48:46] <Amanda> It's not
"Custom" as in "special snowflake magic values"
it's "custom" as in "Not from the host IP, MAC,
etc"
L745[23:49:13]
<Nadja>
>AR2000: Can you give me a use case where writing a custom ICMP
is required ?
L746[23:49:13]
<Nadja>
Counterpoint: Tell me why **not being able to send** ICMP is
acceptable.
L747[23:50:20] <Amanda> You could do work
in the host to pretend to tbe the other end, and send everything on
the VM's behalf, as I mentioned earlier, but @Nadja mentioned the
drawbacks for that, besides all the extra work
L748[23:53:03]
<AR2000>
>Nadja: Counterpoint: Tell me why **not being able to send**
ICMP is acceptable.
L749[23:53:03]
<AR2000>
Open a socket, the OS send the required ICMP, close it, it also
does
L750[23:53:19]
<AR2000>
You don't need to send icmp yourself
L751[23:53:20]
<Nadja>
@Riley in short because yeah fuck no, I'm to nobodies surprise not
in the mood for lectures anymore; OC2 (the mod) takes (ip) packets
from a special virtio network interface and sends them to a
terminating host using VXLAN, i.e. UDP. The terminating host has a
VXLAN terminating interface (i.e. fully in *kernel*-space),
receives said packets and routes them as configured. So in essence
we have a virtual trunk between OC2 (the mod) and the
L752[23:53:20]
<Nadja>
terminating host. Due to limitations in Linux the kernel running
the mod can't be the one terminating the trunk. In-Game it's a
virtio interface so Linux natively supports it and allows the
normal boring socket-based operations on this boring ass interface
that appears as a normal (IP) interface to everything.
L753[23:53:28]
<Nadja>
>AR2000: Open a socket, the OS send the required ICMP, close it,
it also does
L754[23:53:28]
<Nadja>
That's not how that works.
L755[23:54:20] <Amanda> You don't manually
construct ICMP packets to send using the linux sockets API
L756[23:54:31] <Amanda> Or are you just
saying what I said, twice now.
L757[23:55:24]
<AR2000>
>Amanda: You don't manually construct ICMP packets to send using
the linux sockets…
L758[23:55:24]
<AR2000>
Because you don't need to.
L759[23:55:52]
<AR2000> I
think I found what I'm missing: do you have a entire LAN in the vm
?
L760[23:56:08] <Amanda> So, you're saying
parse the ICMP packet, construct the same packet using the linux
socket API, then ssend that.... so same thing I said thrice
now
L761[23:56:33]
<AR2000>
>Amanda: So, you're saying parse the ICMP packet, construct the
same packet using …
L762[23:56:33]
<AR2000>
No, I'm saying never make ICMP and let the OS do it
L763[23:56:47] <Amanda> ... So, the linux
APIs?
L764[23:57:00]
<AR2000>
>Amanda: ... So, the linux APIs?
L765[23:57:00]
<AR2000> Or
window but yes
L766[23:57:18] <Amanda> Okay, where do you
get the values to instruct the OS to do this from the guest?
L767[23:57:37] <Amanda> Sat, from an ICMP
packet transfered over the virtual ethernet device, to the
host
L768[23:59:27]
<Nadja>
@Riley Since it's virtio how it's represented to code running on
the virtualized hardware is well-defined, it's basically a circle
buffer for (IP) packets that are to be send out from a network
device; you don't get to send ethernet packets around but you don't
need to, switching would be performed in the OC2 mod on the java
side. The advantage of VXLAN specifically is that you can have up
to 2^24 different and independent VLAN, so you could
L769[23:59:27]
<Nadja>
have up to 2^24 different simulated network cards in-game, with
each of those being (potentially) routed in a different way on the
terminating end (or dropped entirely!), so that way its pretty
reasonable in terms of safety too, you can have it so only known
and pre-configured network cards get to route to the interwebs
:)