#general
3141 messages · Page 586 of 4
that’s when doubles be like
i think they fixed that but since entities aren't blocks...
everything from positions to motion vectors uses floating points
i think float is/was used in a lot of places still
and as the numbers get larger the precision gets smaller. so entities start being...fuzzy
would have to fully get rid of all float's
Floats are faster though so probably for best
though pos is all double now, as well as vectors
Really?
i mean, doubles have the same issue
they just retain enough precision for a lot longer
that kind of stuff can substantially increase memory footprint though
I was under impression floats were less accurate but faster
havent you seen the 1gb/s demon lol
actually its bytes/strings that take up most of it
most machines these days are 64 bit, so they handle 64 bit math in hardware natively
id love if we could figure out an easy reduction on string usage
and often can do bigger stuff like 128 and 256 bit calculations natively as well with special instructions
but that's more complicated
Strings are 82% of my data as of now lmao
@slim nymph yeah in minecraft's case floats & doubles aren't the biggest issue, but in other applications it can be
I wasn't specifically talking about minecraft there
there are other applications I've seen where switching from int to long increased heap usage by 5+ GB
That’s crazy, must be using a lot of ints
@slim nymph just call .intern() on every string, that'll reduce usage 
How much memory does each java object actually consume
I wish Java had native string slice support
depends on the object...
an empty java object consumes 24 bytes at minimum I think
not counting any pointers
ya 24
Because like a Boolean doesn’t just take a bit and a byte doesn’t actually take a byte. How much wrapping does java use around that data
once you start putting shit into it it takes up a lot more
lol don't worry about Boolean
but also compressed oops is a thing
unless you're retarded you will always be using the cached instances
Java has ways of optimizing pointers if you have under....i forget how big the heap can get
but they are called OOPS which is fun
32gb
I may be retarded
4 gb max int * 8
you're here
What do you mean by cached instances tho
The wrapped types tend to have a cache for values
boolean true == Boolean.TRUE
cached instances still need pointers to them
but primitive values live on the stack
so it's not free
just allocation-less
the pointer lives on the stack unless it's contained by a heap object
well yeah ur right in that sense, a Boolean ref is 4 bytes
or 8 if you're over 32gb heap
wait holup
So the Boolean object is better to use than a primitive Boolean?
i just read that zgc doesn't support compressed oops
no
I have very low IQ sorry
just keep using true/false and stop worrying about optimizing
zgc uses colored pointers, it doesn't have room for compressed oops
but those colored pointers let it scale to like 2+ TB of heap
so it's really meant for heaps well past 32GB anyways
I wonder how much worse my code is in my attempts to optimize crap
minecraft isn't, other people are
G1GC will probably be the best GC for MC thanks to aikar's optimized flags
Still debating over GC's?
he's basically configured it to exactly handle minecraft's stupid allocation rate
bunch of people running zgc on j14 are getting less pauses
In the end does it really matter
that said they're probably also using more cpu
yes
(yes)
zgc aint free
it needs more testing
also read barriers :^)
I don't really trust most people's claims
oh and then someone reported that once your heap is full you get lots of allocation pauses
yeah that's common with any allocator?
well, it's all hearsay aint it
My servers are using 1% cpu when idle with Shenandoah.
when idle
no one fucking cares
what did i tell you about shoving shen on us without data
are we gonna do this for a third day in a row
Idk, but it's different then G1GC which was using a bit more than that with idle.
that's irrelevant
snoop
but also I don't really care about your server unless you have profiling info to share with us
again, I trust very few people on this matter
Specifically profiling data from what software?
if u knew what u were doing u'd know what data you need
I don't operate a server with any kind of traffic so I can't do tests myself
I also cba
someone will do it I'm sure
Does anyone know how to motivate oneself to get off their ass and get to work on code
I do
But I’m lazy
get the fuck off discord
that's such a stupid response barty
do you need help with that one? :^)
True, cya
(Wiz looking for a reason to use the hammer)
as someone who loves writing code and has to deal with massive burnout, I can tell you that's literally the stupidest fucking thing to say
Everyone here is so aggressive
Okay I said I’d get off and I will I just wanna ask one more thing as I relate to Demon really hard on this, what’s the best way to deal with burnout or at least mitigate it?
do something else
don't force yourself to do something when you don't feel it, you'll just teach yourself to dislike what you used to like doing
I took a year and a half long break (at least) and only recently started working on stuff again and even now I'm working at 1/2 capacity compared to what I used to

Thank you, that’s very true recently I feel like I’m forcing myself to do something I used to be so inspired and passionate about. Maybe it’s time for a break and to switch projects for a while
Oh wow you've never agreed with me before @static badge
I think I have
prove it
I agree that taylor swift isn't good music
bye
mod abuse
gg
it was a ban

i mean, if aikar keeps fucking up his patches he'll stop contributing anyway
Somebody was actually showing something earlier, apparently ZGC has this cool feature where it will pause a thread if its allocation rate is too high or something like that
so I am done
#drama bois
pfft don't blame him
and yes, we covered that cat
ZGC is such ❤️
out of everything this shit is only 10% of the reason I'm done
am i the other 90%
no
:(
whats the other 90
but seriously everyone here is probably sick of me complaining so I'm not gonna go over this again
😦
ooh mcdev has over 200k non-unique downloads now
furry
leaf is a dank furry, get it right
:monkaS:
dont give up
smh he just comes back and yall harassing him already
zbk had no idea how his IDE worked
i broke my minecraft
i instantly die when i respawn lul
i set the world border to the max range
but its still outside it somehow
I feel like I've gotten used to the whole world being in hermit mode without realizing it
Hermit mode? The borders?
Oh NVM you mean the real world staying inside
Thinking is hard
I just drove back from the grocery store and on the way back it occured to me that I've gotten used to the coronavirus world
I need to go to the grocery store ugh
Thursday is the best day of the week to go
so I'll either need to do it tuesday or something idk
//sidenote:
so what exactly are the zgc flags for Java 14
unlock experiemental and -XX:+UseZGC and -XX:+AlwaysPreTouch
honestly that one has always just been anti dumb plugin
sure but wont actually make a difference unless you have said dumb plugins running said explicit gc
so if I was to use Java 14 on my client, it would look like this?
-Xms2G -Xmx2G -XX:+UnlockExperimentalVMOptions -XX:+DisableExplicitGC -XX:-UseParallelGC -XX:-UseParallelOldGC -XX:-UseG1GC -XX:+UseZGC -XX:+AlwaysPreTouch ?
aha! is alive!
r they far away from u
What a join message
java.nio.channels.ClosedChannelException: null
at io.netty.channel.AbstractChannel$AbstractUnsafe.write(...)(Unknown Source)```
anyone know how to fix this error?, player cant join server
get in the help channel you scoundril
good morning ladies
Is it possible to DM people on the Paper forums?
I can't seem to find a message button.
what happened to leaf boi
he's still here
yes but that drama tho
Holy this is cool https://github.com/Macuyiko/minecraft-python
wait what is this:
https://hub.spigotmc.org/javadocs/bukkit/org/bukkit/conversations/Conversation.html
since when is that a thing
long ago
I have never seen that used anywhere until now
shame on you
no u
👻
The conversations API is really powerful, but yeah, it's not used as much
probably because it's not that user friendly
it's great though
Java 1.8 😐
the error is pretty clear in itself, just report it to optifine
alright, this was probably the best support case of this year yet: running ProtocolSupport AND ViaBackwards.. on a 1.8 server, and ignoring both of these giant banner warnings https://i.imgur.com/AjB94RV.png
and sending me a private message instead of waiting 3 seconds in the support channel
👏
👏
Waiting 3 entire seconds? That's way too long.
Drama.
Just Leaf getting buzzed by someone changing his patches.
.-.
alright, now they messages me again in private
even though they already got the response in the support channel
Why would anyone willingly message Kenny
I don't know, they're an absolute lunatic!
Y'all look I just made ugly:
public <T, V extends PlotFlag<T, ?>> T getFlag(final V flag) {
final Class<?> flagClass = flag.getClass();
final PlotFlag<?, ?> flagInstance = this.flagContainer.getFlagErased(flagClass);
return FlagContainer.<T, V>castUnsafe(flagInstance).getValue();
}
Sometimes I'm impressed with my ability to write dumb code
ah an ugly, I love it.
generics r the worst, I love them
Generics are great as long as you don't try too hard. When you do, it becomes hell.
@heady spear i'm watching this swedish streamer and hes like "sweeds dont give a fuck about quarantine" xD
very true
Guys, tell me please, decided to make a classic server on 1.8, which core is better to choose? paper?
What is QuaRAmTinE?
so anyone good with tensorflow and machine learning?
.g plugin npc shop 1.15.2
(DiscordBot) https://www.spigotmc.org/resources/supremeshops-block-sign-gui-shop-npc-merchants-renting-dynamic-prices.70235/ -- SupremeShops Block/sign/GUI shop, NPC merchants, renting ...: "The most complete and powerful shops plugin ever seen for Spigot. [1.7-1.15] [test server available]"
Instead of central AC, we need central compressed air.
Hello, I'm searching a normal survival server that uses CubicChunk, does anyone know such Minecraft server ?
.g CubicChunk
(DiscordBot) https://www.curseforge.com/minecraft/mc-mods/opencubicchunks -- OpenCubicChunks - Mods - Minecraft - CurseForge: "Mar 23, 2020 ... Q: Can MCEdit load CubicChunks worlds? A: No, but a replacement of MCEdit that is planned to be compatible is currently worked on...."
what project
prolly his system info plugin thingy
epic
also found the culprit
emacs 
truly worth its name, "eight megabytes and constantly swapping"
that's what you get
lmao
Anybody know any good free anticheats
Anybody know any good free anticheats
https://www.spigotmc.org/wiki/anti-cheat-list-bukkit-and-spigot-1-14-x/
The home of Spigot a high performance, no lag customized CraftBukkit Minecraft server API, and BungeeCord, the cloud server proxy.
Look at the review etc ^^
I tried horizon, worked well
do you also want a cookie with your anticheat?
but I do not use anticheat anymore, cheaters are funny 🙂
.
Hello,
Do you know any good plugin just to give spawner (any type, like blaze) to a player?
I generally just give the player a spawner and an egg
I did finally get spawners working iirc, but they're a PITA
can create problem with player that change other players spawners etc.. :c
I just saw that ^^
And also that
https://www.spigotmc.org/resources/silkspawners-updated-to-1-15.69705/
time to try :p
:maybe try using epicspawners
:
my son said something similar to that 😛 my response was simply that schools are probably trying to separate work from play (and discord is aimed at gamers for gaming)
using discord for classes sounds like the worst idea possible
beginning with occasional outage 👀
school of a friend of mine uses teamspeak for online classes
our uni partially uses mumble, both are pretty fine, cuz dat self hosted-ness and security
is discord also trying to do that game launcher thing lol
Billy, well 🤷 that sounds reasonable
didn't discord stop trying to be a game store?
https://vuegg.now.sh
wow this is cool o.o
vue GUI generator
yeah they closed the store and I think you only have access to what you had downloaded already
advertising to gamers was a smart move on discord's part, and personally i believe its why its been so successful. but to try and change that image now, its a bit late for that ^_^ plus they still have remnants of it all over the place that would make it non-appealing to anything not gamer related (especially like a school, or business, or medical group trying to save the world from covid-19)
also Zoom is designed for conferencing and large calls so there's that
i've heard that Zoom has a few security flaws tho
I think that's a fair point, Billy.
but yeah
just use an open source one ¯_(ツ)_/¯
it does but supposedly they've been working to fix them
Discover secure and private ways to communicate with others online without letting any third parties read your messages.
I went on the github marketplace lol
oh lol
Didn't think people actually use it
phoenix: that's just another app no one has ever heard of
Nevermind, that's actually a list of apps
these three are literally the ones almost everybody who cares about open source and privacy has heard of ¯_(ツ)_/¯
if u cover ur eyes when you talk to people u cant see the covid so it ignores u
jitsi is also pretty cool for video conferences
we could also change classes to night time when covid is sleeping
the github marketplace is pretty neat tbh
there are some cool stuff on there
is* >.<
so the book Java Concurrency in Practice, is it outaded? it's from 2006 and uses Java 5 o.o
probably missing some of the new fancy toys available but i think a lot of principles hold true
been a long time since i looked at it tho
chunk generation is asynchronous, right?
you have a data file for structures or something which is "large" enough that it's apparently taking too long to save
not really, there is no debug for it afaik
best you've got is to look in the data folder of the world(s)
possibly related to https://discordapp.com/channels/289587909051416579/492517675680006144/693844736972161106 dunno
oh yay a 117mb scorebvoard file
yea, could be that too
Pretty sure that's saved in the same place
(large scoreboard files can also cause a whoooole massive set of other issues)
o while you're here do you know where the structure & ore generation occurs? like which classes?
https://giphy.com/gifs/justin-bieber-food-yummy-dZRlFW1sbFEpG good luck finding that
wooo
Does anyone know if there will be an Enable Zero Tick Farms feature for Paper 1.16?
no
lol no
we don't add bugs back to the game that mojang has fixed
will you bring back a fixed bug
fucking rolling my eyes so far back into my head that i feel pain
or another 200€ mcmarket scam
😍
this is gonna be the next reason people dont ever update from whateverthefuckversion
just so they can have zero tick
never got that to work properly, lol
what in the fok is that new default IJ font https://i.imgur.com/2uVDnwc.png
or it may just be larger 
using the default font
it's too large
then it's too small lmao
13 is larger than before, 12 is smaller
so ehhhhh
what do you use, phoenix :p
just use Liberation Mono
runs
https://i.phoenix616.dev/cIRTl0YY.png size 14 btw
?
looks just like consolas
no idea, I don't know any fonts. lol
ah, yeah
it's called rainbow brackets or w/e and it's dumb fite me
it is dumb but i like it anyway, it brings color to this dull world
the real problem there
gonna install it right now.
is why do you have 4 nested for loops
semantic highlighting brings all the color I need
I also have rainbow indention markers ;D
granted that code never worked and I revised it to use one for loop instead but that's beside the point
use matrices
yes
Yes.
idk, i dont use amd
I have a free version of this if anyone wants it https://www.myfonts.com/fonts/tabular-type-foundry/comic-code?tab=glyphs
Everything is bad compared to something.
o.O
uh
I think I'll keep my Fira Code though

KennyTV: I like my font/colours
looks too purple :D
what's the font and size?
speaking of mcmarket memes
or wait, sorry
I could take Velocity, slap on the BungeeCord API, and then sell it as "optimized BungeeCord"
for 300€, of course.
I mean velocity should implement the bungeecord API
I could call it FuryCord, and yes, sell it for $300
KennyTV: https://i.imgur.com/FI9794u.png
and don't link the source
that's the proper look, sorry
being compatible with bungeecord plugins would boost velocity's appeal quite a lot
KennyTV: settings: https://i.imgur.com/WsCbqsy.png
I'm just scared of the indention
font reminds me of Menlo, the default Monospace font on macOS
2-space indentation is something I wish I started doing a long time ago
4-space indents just waste space
it all looks so squashed :x
just keeping font size normal/not high is enough for me
Yeah, I think supporting the Waterfall API in Velocity might be a better idea than making my own Sponge-inspired API.
ah
In retrospect, I think I should've just done a separate implementation of BungeeCord without all the barf
Lmao. IntelliJ now is asking me to replace some ternary operators with Math.max(int a, int b). Same thing, but wrapped in that method.
Because the actual universe of Velocity plugins is really small, and that's excluding the fact the biggest publically known user is... my server
Well, more like "suggesting".
IntelliJ is right
I did.
I almost got someone to switch to Velocity, but :"Muh Plugins".
but the method call overhead of math.max... /s
you only need Via, that's it
LiteBans
some people actually believe that wiz
I actually was gonna say that, wiz. :P
it's nuts
were you going to say that non-ironically?
method call overhead
jvm has jit
jit can inline

@HotSpotIntrinsicCandidate
public static int max(int a, int b) {
return a >= b ? a : b;
}
wait that's a git
jit is fake news
runs
Please be patient, I have autism. 
what is insane about it
Paper AOT lib when?
run openj9 lol
not used to that fancy cool suggestions
Someone actually made a native image and AOT for Paper.
if you havent tried intellij it'll blow your mind
omg the stdlib uses >=? hat's inefficient, since it has to run 2 instructions instead of 1. You should definitely not call that method
i used to use eclipse, switched to IJ and have never looked back
smh
i used it a while ago but i didnt know how to do things so i gave up
and went back to eclipse
There was a time long ago when that was actually true in C land, but yeah
It's a bit different setup but so worth it
Aren't both > and >= separate assembly instructions? Maybe the cpu does two things, though.
yes they are both individual instructions in practice
this would be optimized by the compiler, no
even on platforms where they're not the compiler will just transform that into a < check
So does the CPU have to perform two operations? Since they're both two different instructions in Assembly and not a combination of multiple instructions.
no it's probably a jge instruction
TIL jnl "jump if not less" http://unixwiz.net/techtips/x86-jumps.html
Okay, I see what you mean now, only on platforms where they're not equal the transformation to < happens. I was confused as to why it would optimize if they were just separate instructions.
yeah on x86 the concept of not having enough instructions isn't really a thing
finally
inb4 switching all >= to < /s
inb4 using >> 2 instead of / 4
It's the same.
:oo
(or me being stupid)
inb4 multithreaded bitshifts

Then we can finally sell this on mc market for 800 dollars 🙂
I can send packets to clients not on the server thread right
inb5
a = a^b
b = a^b
a = a^b
instead of
c = a
a = b
b = c
but allocating another variable
yes iso
What?
KennyTV: guess what
What if my server runs out of memory because of that variable, hmm?
Lmao.
This is clearly an important optimization.
well, just download more ram
XD
all real programming languages should support a, b = b, a syntax
Java left the chat
then you can use the single swap instruction
Swap the variables.
KennyTV: I dunno :P
Python left the chat.
...python has that
But Python is not a "real" programming language. :>
That shit is like better Bash, no more. :>
This is why we should switch the entire project to Assembly - finally we can use the swap instruction.
python is just a snake, smh
Kotlin's way of doing it is, uh...
Ew.
a = b.also { b = a }
Wtf is that
^
and then there's Java
it's language abuse is what it is
XD
@cosmic raft I already did that but with xor above
wait did IJ always show docs on hovering over methods? https://i.imgur.com/F8diXfa.png
for clarity the also extension function is not intended to be used like that
oh interesting
then it's on by default now I suppose
or I was just blind and deaf
Afaik there's a delay before it shows.
I think it was 1000 ms by default, but may have changed
now it's -30ms, it shows before you even think about hovering for it
quite a nice feature, glad I see it now lol
not exactly a thing you need to do very often
the closest thing I do to swapping is
final A a = this.a
this.a = null;
// do something with a now
what should I have for lunch
i basically never actually swap variables
@ancient bolt tacos
why do you even ask!
kashike I get panic attacks from having to declare variables as final because "Local variable used in lambda expression must be final or effectively final"
I just slap a final in front of everything :p
The amount of times that it happens and is also super inconvenient is just argh
I usually either remove the stream (if it is a stream) and just write it out normally, or for anonymous classes throw another final variable at it.
@cosmic raft okay order placed for tacos
we wouldn't have expected any less
woohoo
Woo woo!
once more: imagine living in the us
@onyx steeple seems overly optimistic
Shaded areas indicate uncertainty
that's a lot of uncertainty lol
Link?
what are you talking about, yes there are shaded areas?
If Hack had ligature support, I'd switch. But it doesn't, so I'm keeping Fira Code
they have less uncertainty
they have a lot more data because their leadership isn't so horrifically incompetent
@peak dirge I don't like the ligatures anyways
all they do is make it harder to read
I like the ligatures myself, to the point where it is almost no-go if there are no ligatures.
@still smelt check per-region
fair.
Try Cascadia Code. :>
Hmmm...
Cascadia Code looks too bold for me
NaN != itself
per IEEE-754 floating point number standard
cool now I've killed two laptop batteries
Generics, boiii.```Java
public interface Manager<R, C> {
void add(R r, C c);
void remove(R r, C c);
}```
only if they are keys and values
which, doesn't really look cuz why would you need the value to remove
I wrote that like two years ago. :P
And this is some retard thing I made too. :P ```Java
public class MultiInstanceManager<R, C> implements Manager<R, C> {
@Getter
protected final Multimap<R, C> data = Multimaps.newMultimap(new ConcurrentHashMap<>(),
() -> Collections.synchronizedList(new ArrayList<>()));
public void add(R r, C c) {
data.put(r, c);
}
public void remove(R r, C c) {
if (data.get(r).equals(c)) remove(r);
}
public void remove(R r) {
data.keys().remove(r);
}
public Collection<C> get(R r) {
return data.get(r);
}
}```
It's weird. I don't like it.
My sister works at a nursery home and one of the nurses + one of the elders have confirmed covid-19 :\
Tbf half of Swedish nursery homes have confirmed cases by now buuuuut
The only solution is to burn the nursery home.
Especially the elders!
we should burn all those zarbage people!
ez, just purge sweden
and that.
There you go: ```Java
public class SingleInstanceManager<R, C> implements Manager<R, C> {
@Getter
protected final Table<R, Class<?>, C> data = HashBasedTable.create();
@Override
public void add(R r, C c) {
data.put(r, c.getClass(), c);
}
@Override
public void remove(R r, @NotNull C c) {
data.remove(r, c.getClass());
}
public void remove(C c) {
data.values().remove(c);
}
public C get(R r, @NotNull C c) {
return data.get(r, c.getClass());
}
}```
Yeah, I use Lombok. 
and let's burn landis next
Man you really just wanted to use generics and lombok everywhere
.lombok
[03:01:27] <gabizou> fuck you and the lombok horse you rode in on
Well, that made some things easier...
Wtf
Like this: ```Java
public class CooldownManager extends SingleInstanceManager<UUID, Cooldown> {
public boolean isCooldownOver(UUID uuid, Cooldown cooldown) {
return !data.values().contains(cooldown) || get(uuid, cooldown).getDuration() < System.nanoTime();
}
public double getRemainingTime(UUID uuid, Cooldown cooldown) {
double seconds = TimeUnit.NANOSECONDS.toSeconds(get(uuid, cooldown).getDuration() - System.nanoTime());
return Math.max(seconds, 0D);
}
}```
Hmmm...
Just realized something.
you can always add more generics
^
Just ask kash for inspiration
It doesn't look like the generics and inheritance are doing much good here :P
XD
Viper one does not simply access non-static fields in static context.
For cycle vs forEach method. :>
I'm gonna call them cycles now
Or "agains". A for again.
You mean in other programming languages?
while agains
indexed agains
I don't know about keywords, but I like calling Exceptions "up" in Java.
Instead of "e".
I prefer to name them ignored
yeah I too just wrap all my methods in try catches with ignored exceptions
and my plugins have been error free ever since!
catches wiz
the worst part of that is that its a photo
Oh man, gotta love macros
I wish it would be accepted to use a preprocessor for java
Would do so much fun shit
Oh, good, then we can just do #define barf(msg) throw new RuntimeException(msg) in our codebase
At Mineteria we practice barf-driven development
is PlayerConnection.lastKeepAlive the player's ping
nah u die u not alive = ded
so how would I find their ping
Player.Spigot#getPing
o
for some ungodly reason it's only exposed with paper
and for another ungodly reason it's in the spigot class
yes
but where is it located
oh lol
oO
shhh
how easy are we talking
calling a setter
Can someone explain why I cant find my pc in port forwarding for verizon router?
no because we cannot see your network
vroom vroom
owo
you'll have to be more detailed
you can't find your PC how? on the web UI to configure a port forward?
get a portscanner to check if its open
I'm good.
wat
on some you can select from a list of devices on the network @worn ember
the formula for the chunk thing isn't very specific
wtf imagine not runing hardware from 1990
wait like the area of chunks loaded?
apparently on the vanilla server (no se sobre paper) server operators will not be kicked if their client fails to send a keep alive
wut
@still smelt isn't that just (2*view-distance + 1)^2 more or less or do I understand wrong
a ver
alright so i'm done port forwarding. Would I use my computer's ipv4 address or my public ip?
@proven stag you can join using your computer's IPv4 address only on your local netework. On any other network, use your public IP
also if you are playing on the same machine as the server you can use 127.0.0.1
or localhost correct?
Or localhost
Will I have to set this to my public IP? server-ip=
okay.
Will I have to do anything like Static NAT?
This is unacceptable, the parantheses are weighted or something
The server-ip settings is primarily intended for deployng multiple minecraft servers on a single computer through dedicated interfaces.
ah okay.
ah
max player count isn't 420, missed potential.
missed potential is TPS not shitting the bed
If I was to use 2 routers to get to my pc
aren't you still on 1.12? pfff
would I have to turn on bridge mode?
achoo
uh
uh
big house you know
yeah
Would I have to do anything in Port Forwarding Rules making 25565 a protocols?
bruh
but how are your routers set up?
not a network guy but a wild guess I'm probably wrong - on the first router forward the port and on the second router also forward the port, or just have the first router in DMZ
that sounds right ^
not a network guy either tbf
i'd just put the server on the outermost router ¯_(ツ)_/¯
I was once behind 2 routers and I think that's all I had to do
but it was a few years ago
Sorry DMZ?
DMZ opens all the ports
I don't know much
alright
it basically turns the router firewall off
(for devices in the DMZ only)
DMZ is named after the irl term
What do you guys use for your IntelliJ font? On my tiny screen JetBrains Mono doesn't look very good. What should I be using instead?
yeah you have to specify which device is DMZ'd
yes
if you need multiple pcs just use port forwarding
this is confusing
i'll dm you
DMZ is the lazy way to go if you're the only one on the network and you are confident leaving all your ports open is a good idea, but behind 2 routers it would just eliminate the first firewall for you as the second router would still be port forwarding
router 1 has firewall, router 2 has firewall, port forwarding pokes holes in the firewall but router 2 needs the same hole open in router 1 to work, dmz on router 1 to open all the ports for router 2 on the first routers network and then you only have to deal with port forwarding on router 2
this is how I think it would be tbh haven't done 2 routers in a while and I'm a network novice
the proper way to go is to setup port forwarding on router 1 and match that on router 2
iirc
router 2 is basically sublicensing its internet to you and it needs permission from router 1 to do anything
you could also just use a switch instead of router 1 and have router 2 be the only router, depends why you need router 1 in the first place
once again, network noob, take everything I say with a grain of salt 🏃♂️
if you are heavily taxing the network or have a lot of people eating internet make sure router 1 isn't a 15 year old POS
Guys, tell me please, decided to make a classic server on 1.8, which core is better to choose? paper?
what does core refer to 
I use some apple cores to power my minecaft
Still interested about MC performance on a IBM main frame...
omfg nload is literally garbage >.>
ESXI showing different usages than nload, so i don't know what to believe
Hm. Is it too risky to run Paper on a 1TB NVMe disk without RAID and rsync all changes every 15 mins to a RAID1 8TB HDD pack?
depends on how you quantify risk
Well, we have a small production server with 20-40 players online on average
Use iftop instead of nload.
if I purchased another drive and RAID1'd them, downtime would be minimal since I could just use the other drive
true
@velvet garden data redundancy if you are doing any kind of business is always a must
Use iftop instead of nload.
do i need to sudo it?
Mmh, I know. I'm just trying to decide between going over budget and more redundancy
You do.
TX RX.
jenkins is so bad compared to teamcity ugh
so TX is upload?
teamcity is so powerful it's so simple to do basically anything
and RX is download?
and cum being total since i went into iftop?
just tried to test ping related code.. on localhost with a ping of 0 
That's one good name.
cum/m > cumulative bandwidth usage
That would be something like tcpdump.
Look at all the shitty armorstand names in real time.
can you please send some highlights?
They made a discord? 

I am still unable to comprehend why Maven doesn't ship itself with a wrapper like Gradle does
having to install it locally is eh
Maven is a lot more stable, things rarely break because it doesn’t ever Chang
no need to ship a wrapper
Gradle is the odd build system for shipping a wrapper, most of them don’t
Gradle also moves a lot faster and breaks things sometimes
Makes sense they do
Gradle is stable, whether you choose to update to unstable releases is your choice
No it isn’t
It moves quickly, updating versions regularly breaks things
That’s the context of stable in build systems
That’s fine, it’s not a problem
And using a wrapper is one of the reasons it’s fine
I am more about the comfort of the end-user
You could argue that everyone should have Maven installed, but should they really?
Which is why build tools don’t traditionally include wrappers
You could easily do with maven what gradle does if you’re concerned about that
The wrapper is literally a script and a jar
It’s just not a concern for most
@heady spear tbh spigot discord seems to mirror the forums to me
spigot forums are a cringe fest
kinda to be expected tbh
The Spigot forums used to be really nice
before all the bukkit kiddos moved over there
I know I could, it's just something that is nice to have by default
Actually the annoying part is that the wrapper isn’t required in gradle
I didn't know Spigot existed until December 2018
So every now and again I come across a project without one, and I go install a gradle copy locally, but their build file is out of date so my (usually newer) local copy bitches
what does the wrapper do
also the maven wrapper project is quite good 😄
I see that being an issue, yeah
Lets the project specify which version they use so it can be downloaded and used automatically
https://github.com/takari/maven-wrapper but it's going to be a part of maven itself
Had it happen once to a friend of mine
Which is good because gradle moves quicker than tradition build tools
that seems pretty useful, what causes a wrapper to be missing?
And that results in breakage if you can’t “bind” to your specific version
It’s optional
Well also, it's useful for people that don't have gradle installed at all. Not just for version parity and whatnot
The ones that don't are probably users that don't really know how Gradle works though
Not that I can blame them on it
You’d think, sadly doesn’t seem to always be the case
Definitely part of it though
but yeee maven wrapper is a part of 3.7 now you can live out all your maven dreams :]]
That's nice
One I remember was an android lib whose maintainers were strictly against binaries in the repo
So lolno wrapper for me
no wrapper no need for the config
:^)
it was fun figuring out which version of gradle they used
because it was like a year behind >.>
Yeah but if you don't think about contributions at all it's just straight out stupid lol
At least point it out somewhere
tbh I think it was a mostly internal lib
but the gradle version wasnt doc'd anywhere
so can we see mvnw bundled with paper soon? lol
I don't know how gradle works it scares me and yells at me and stares menacingly at me in kotlin
that's groovy, not kotlin
you can use kotlin in gradle
nvm then
honestly adding it won't hurt, because then one dependency less for end users to set up; but then again paper has CI
if maven moved fast enough it was an issue I might be interested
but atm its just being added because "muh gradle"
maven is in all the usual repositories already
how many PRs need to be accepted before one can earn the contributor role
ur mod already
yeah but he's down a channel
Just move to gradle then and problem solved 
i c
we were going to actually
yeah right, forgot about that
See this is what I mean, @olive garden.
it was part of a larger restructuring
mcMMO 2.2 is gradle and it scares me
it got put on hold because that larger restructuring got put on hold
lmao
no real reason to move to gradle just to move to gradle
if the restructure thing goes back on, that'll be when
gradle would make build time a lot faster tbh /shrug
not inherently
that was part of the restructuring
a lot of how things are done in paper dont run through maven at all, they're just shell scripts
simply moving to gradle without updating that would be very minor gains
so thats part of it
you're not wrong, but you also have to realise we'd have to spend lots of time converting everything to gradle, and then keeping it up to date with upstream
then I'd have to buy taylor swift concert tickets
honestly you can minimize the "keeping up to date with upstream" task by parsing maven pom
that's how i did it with my waterfall fork
it works quite well
if i can assume that by "keeping up to date" you mean tracking deps etc
and maven plugins, configuration, etc
what maven plugins does paper use... git describe thingy & log4j plugins thingy? iirc
relocate and a few others
I'm talking about ones that upstream does as well
it can be done, its just a lot more work than "just switch"
what
some of it already done, some of it not
yes
_INVALID_something -> something


