#help-server
1 messages · Page 132 of 1
Update
I just realized that my build is outdated. I’ll figure out how to update it. Thanks for the swift response!
just re-run build tools
Yeah, I first used the java -jar BuildTools.jar --rev latest
command but that gets you the 1.21.3 version. But after I used java -jar BuildTools.jar --rev 1.21.4
it did get me the newest version. Thanks.
yeah 1.21.4 wont be latest until it's stable
theres a fucking discord dedicated to commands?
Commands, rps, datapacks. They are geniuses over there
o
somebody made fucking portal 2 in mc with resource and data packs and it's fucking insane
I will pay 15$ to whoever will fix my shaders folder for 1.21.3 since on 1.21.3 there was changed paths or how shaders work idk. But its not working since textured armors have no texture.
which is the best anti bot plugin / which ones should you use?
whitelist /hj /sar
?
Just limit accounts per IP/spam filters. that’s the best you can do
There’s no such thing as a bot account checker There’s no way to verify if it’s a bot. No matter what any plug-in claims.
They use a database of already existing unique user IDs that are known to be bots. This is a database that has to be built upon. So it’s just not accurate.
Some plugins that do this are,
Grief Prevention and CMI
They also have Anti-VPN plugins if thats strikes your fancy
Yeah, it is paid, But they have a config setting along the lines of Limit-Accounts-Per-Ip
I set mine up for 3-5 per IP, not many households have that many players
This is for you to decide lol
Thats an antibot plugin
I wouldnt pay someone money for an antibot plugin in my dreams
I would like to disable proxy vpnt as well so I ask
So no dont use that
Okey
Plenty of free ones 🤣
So use cmi and griefprevetion
You can use what you want, im not gonna sit here and tell you
But will give advice on questions
someone else might know a better plugin, who knows
Hi, I've already written on tuesday, my friends and me have a Server on aternos with spygot and the geyser plugin. We have the highest version possible but since the 1.21.5 update on bedrock I get the error message "outdated client, please use 1.21.4" Is this a problem with spygot or with geyser?
Geyser
Do you know how to fix it?
Step 0 in the installation instructions smh
You might be able to combine it with via version for some extra support? Idk
Geyser only supports 1.20.3 natively
For other versions you need ViaVersion/ViaBackwards installed
No idea
ViaVersion displays this "outdated client, please use 1.21.4" from the console log, so it isnt up to date yet? - have the same issue
It worked with 1.21.4 for me
Olivo is an entire version behind smh
You need ViaBackwards if you're on 1.21.5 .4*
Geyser uses an older client version
causing that message
Ok
not 1.21.5 but 1.21.50
I have bedrock client 1.21.50 and ViaVersion displays said message
Do my Friends loose their Spawn and items If I install the Plugin?
No
I'm talking about the server version
Will give it a shot - sorry for the dumb questions/statements - Ijust dipped into hosting MC because kids in my kid class wanted to play together - some have JE and some BE and I have to learn on the go
I have downloaded viaBackwards now and I can join the server but for whatever reason I can only craft with one specific wood type
What wood types did you try?
The only Woodtype I can craft a wokbench with is Black oak boards
But I could craft sticks with any other wood
Shovel and hoe work with any woodtype, pickaxe only again with black oak boards
Does the issue happen on a Bedrock or Java client
On bedrock/ps5
Does the crafting work fine on Java edition?
You're currently relying on two protocol hacks to run fine
So it's a bit hard to know if it's a ViaVersion/ViaBackwards issue or a Geyser one
Before the 1.21.50 Update and before viaBackwards, only with geyser everything worked fine
I guess 1.21.4
How long ago was it?
Last friday it worked good
Then you were running .3
Which is why it worked fine
.4 is a decently sized update so the plugins are still being worked on
to add support
So i should Just wait?
Yeah you'll just have to wait
or if you have a backup you can revert to that if you want
But don't downgrade the server on the existing world
Ok thank you for your help
?services
If you wish to request or offer development/art/building/administration services, please do so at https://www.spigotmc.org/forums/services-recruitment-v2.54/
Sorry!
DecoderException: net.md_5.bungee.protocol.verflouPacketException: Cannot receive byte array longer than 4096 tgot 101148795 bytes E io.nettu.handlen.codec.MessageToMessageDecoder:101 My server is 1.21.1 based and when i try to send messages on client 1.21.4 in the server i get instantly kicked with above text. does anyone know where it went wrong?
Make sure ViaVersion is up to date
i just updated it
and still occurs
Can you send messages to a 1.21.1 client fine?
yes
whats the ticks equivelent of System#currentTimeMillis?
whats this?
Inventory saving
why it causes lags...
because its io
why it gives huge tps loss like 20 -> 13 like every minute
the fuck kinda hardware you running
and is it newer than from 1998
offline mode is not supported

u mean by ppl from this serv or it can give me tps loss
so you expected a different result
Kinda
why no
?whereami
they already got told off in paper
why ppl so evel and cant just help... whats the diff between online and offline mode? its just 1 string in config
lol
kekw

one is against the EULA... the other isn't
guess
is it against the EULA?
iirc yes for public servers
it's against the eula for public servers, yes
the use-case is playing over (w)lan when internet is out
Exactly
I use it when I'm in a car
Debugging spigot plugins
lol
I always use offline mode for dev servers when I don't need to test UUID-requiring shit
this way I can get alts in
the java sun http server ladies and gentlemen
http://localhost:8080/text/?data=hi%20how%20are%20you{
(my entire system is based around audiences and them having a UUID)
yeah but things like loot drops etc
the project I'm working on depends on teams which are just stored as UUIDs inside the db
oh lol
fair then
some sort of fixed UUID gen could be used for player names I guess
would allow everyone to have consistent UUIDs
🤔
I also made audience extensions such as forEachTeam(Indexed), mapTeams(Indexed), forEachPlayer, forEachEventPlayer etc
it's so gooddd since most things are an audience
do you not like their coding style or sth
"everything" is meaningless
well yeah but it's much faster to say "I just plainly don't like adventure" over trying to list everything
it's a preference ¯_(ツ)_/¯
list everything
I do not have the time 💀
so you hate their coding style
that's funny bevause you do the EXACT SAME THING
I don't tho, plus it's not just about the coding style
sure fuck it
except you do lmfao
is there anything on paper blocking string dupes?
Ike, us anti-adventure chads have a lot riding on this type-up. You better not disappoint
?whereami there's an option btw
what
ask in the paper discord
Minimessage is dogshit, I hate it's syntax, I hate the API surrounding it, it's confusing and (imho) named pretty badly, what the fuck is Tag.selfClosingInserting???
Audiences are meh I suppose they are not that bad
The text component api makes me want to kill myself, who thought that Component.keybind().keybind("key.jump") is a good idea?? Component shouldn't have methods for it's subclasses, nor should it be the way you make a component 🙄
TextSerializers are... surprisingly not the worst of the library, but they can be improved 100%, again I'd use identifiers for the text serializers and have some sort of registry for them instead of static classes
json support is, well, json support can't argue with that
minimessage (x2) makes me want to submit myself to the entire geneva checklist, I especially dislike the popOr(String), it's... it's a method, and it throws some error
bossbars are fine, I mean, I wouldn't implement them that way (I'd just use identifiers for the bossbar.. but whatever)
Key.key keeps showing their beloved pattern of repeating shit twice, just like Sound.sound
asStop is deranged, it returning another Sound is ofr lunatics, and audience.stopSound(sound.asStop()) is for mentally ill people
Title.Times.times is arguably the worst naming I've ever fucking seen, again their beloved ClassName.className naming scheme for things
Books follow the same pitfalls
the tablist is the one sane thing
resourcepacks are... fine, I suppose?
also the whole way they do things is weird to say the least, naming each adapter by the platform? That is pretty odd, you should really just have a module and share the naming, makes cross-developing easier & it's more abstract imho
Points from just looking at the docs, I probably have more, probably not, can't waste more time on this
@full nexus
and apparently cc: @nova ledge
again their beloved
ClassName.classNamenaming scheme
literally not the case and you do the same thing lmfaoo
You’ve done well my boy, the anti-adventure council approves
Text.empty(), Text.literal("literal text"), Text.translatable("some.translatable.key") etc
I don't do
to the third point... you know you don't even need that lmfao
Text.text().literalText("some literal text")
Isn’t it just
last line: I just read the docs, I don't really care to learn this API because I just don't like it lmao
Component.text(“text”)
it is
which takes in 3 durations
I mean it's made to be statically imported
and makes a Times object
if a library is made to be statically imported it's not a good library
and what's wrong with that
case in point
the only time I see it as acceptable is for OpenGL & co which have hundreds of methods already prefixed with gl
I love shitting on things I know almost nothing about and refuse to read the docs on how to use it
I wrote that message while reading the docs
please enlighten me on how I did not read the docs
isn't that from C
yeah
the way you're abusing the text buildrrs is crzay
wym
.
oh yeah, I know
but still, you shouldn't just have ClassName.className
if adventure was good I'd be using it
GigaChad
@fallow gust are you seeing this
if lynx sees that I don't care lmao
ya'll can seethe all you want claiming adventure is good lmfao
I don't develop adventure
The method names are like this because they are meant to be statically imported
again, static imports should not be used lmao, just name shit properly and get on with your day (not you as in you lynx ig)
Why should static imports not be used
assume you're dealing with a pretty large class (not ideal, but happens)
evaluatePlayerPerformance(player);
is this part of the class, the superclass, or a static import?
Click on it and see? I don't see how that is an argument
what if you're not in your ide
exactly
you don't, which is why I have my personal convention to make it readable:
this. <- own class (if implemented and not part of super class)
super. <- super class (if you want to call the base superclass method or not implemented)
Actual.methodCall() for everything else
this is a terrible point because shit like abstractions exist
So it's your personal opinion
Thanks
Beyond you apparently coding in notepad, I don't see a reason static imports for methods is a bad thing
they blend in too well with everything else tbh, it makes stuff unreadable
at least for me, esp because of eyesight issues I just miss the method calls (no themes do not help unless I make them burn my eyes)
Sure, if you don't like that, that's on you
Just, not a good argument as to why they are objectively harmful
tl;dr: they reduce clarity (imho) and make method calls hard to spot and see the souce of
¯_(ツ)_/¯
But yea, they can also be used without a static import yea
As pointed out above, there are overloads taking most values
It's just an option with this naming
damn I missed an argument about API design
Static factory method names like of prevent such static import fun for the people that like it
yeah but it is utterly unreadable with things like Title.Times.times
I mean, you'd statically import that
He doesn't
why would you not statically import it
that's also why I don't use of, I don't design my api around static imports because (see above), but I also don't make it utterly unreadable and try to give a flow to my method calls to make it easier to read
But eh, yea not a fan of the nested types I agree
like, literal("Text"), if you want to, fine, I just prefer reading Text.literal lol
Well Component.text("Text") is there for you
but Component, as I said earlier, shouldn't know about it's subtypes :P
why
Pretty sure it's a sealed interface anyway?
there's nothing wrong with a top-down approach
Like, yea, that's just how that goes
It even has a whole language syntax for interfaces knowing it's subtypes
Everything should be separated in my eyes, not one thing should go top -> bottom, it should be bottom -> top, composing everything (to the limit of java's extent which requires some thing to implement others ig but let's digress)
I am not sure I can reason with that to be honest, there is no reason for a parent to not be aware of the existence of its children, that's why sealed interfaces are a thing
makes it easier to refactor
No
¯_(ツ)_/¯
even more so in a well-defined system such as the component one, there are like 8 different component types and that's about it
I don't go in my Message class and add methods for every single message, that'd be insanity lol
you do if there are 8 message types
What?
MessageTeleport would then be Message.teleport() that's... weird
Component isn't text, it is a type which encapsulates text and style, then its subtypes add to that
what if i extension method it
Your messages are all the same, Messages
TeleportMessage is just a specific state of that type
I suppose so, but like, I don't go and do Message.literalText(""), that's pretty much what I'm seeing in adventure
just with Component.text("")
What?
because it is impossible to maintain when you want to provide more than just ~8 types and want to make your API useful outside of the defaults
adventure: Component.text("text")
That's all the component types that'll ever exist
you don't provide more than the existing types, it is a well-defined system
what if I want a special type of component, which still boils down to an existing one but has it's own custom things on top
That's something that would need to be defined by advent
What if they add a new one!
And then also respected by the platforms
yeah that's not a design I'm interested in working with lol
You send a component to a player, paper needs to know how to turn that into nms
That does not work if you shit in some random impl
? lol
it shouldn't "turn that into nms"
Are you high
what else would it to
Or intoxicated
it would just send whatever stream of data the component says it should be
??? lmfaoo
and then the component decides what to encode as
components aren't messages, they're constructs that define messages
I'll do you one better
The component should turn itself into what?
A byte blob?
So now your components need to be version specific so the vanilla client accepts them??
I mean tbf it could serialise to NBT since adventure also does that
Like you are rage baiting
the client needs to be aware on how to decode and render it, for vanilla minecraft that comes down to the existing component types and the server needs to be aware on how to encode it. What you're saying would require a mod on both sides for it to work at all
even then, adventure only handles what would be the vanilla component system, any extensions upon that would be outside of the scope for obvious reasons
var message = Text.literal("hi");
player.send(message);
// message is processed by the PlayerConnection component
// a message transformer (for Text in this case) is requested by the type of the incoming message
// the message transformer is asked to transform the message into XYZ format
// the component then sends it however
// all of this can be replaced / edited / overridden, it's not hard-baked into the server, nothing of this is, it's provided as a default, but that's all it is, a default.
```slight change from what I said earlier but whatever, this is what I like, which is the furthest from adventure that I can think of
I always fall for these trolls man
this is not a troll, this is genuinely how I'm making my API lol
trolls yea
Man, last time I saw something from your API you were trying to define persistent logic on items not via nms components but by callback code
wym
Ooo bro bringing up the repos
Like, think it through and write it out, you'll hit the wall faster than one direction members
I've been doing that, and I haven't seen any walls yet ¯_(ツ)_/¯
1D fans catching strays right now
have you done a single minecraft update with that API yet
Ike I like your code man, you’re not a troll for having opinions, keep your head up king 👑
Actually has that API produced anything useable? Like you joined a server and received text?
not really, I'm working on implementing the standalone version right now lol
see my previous message
Yea mb
so no, nothing yet, because I don't have the time and I'm not coupling it with minecraft enough for it to be able to load yet lol
I also do not tend to see walls when I still haven't made it out of the bed
world#getFullTime is always returning the exact same number for me. Regardless of time or if I've restarted the server it is always 18431
simple, groundhog's day
you would see the walls though
like
and you definitely don't
ohh the daylight cycle be froze
no, you'd just see the ceiling unless you're sleeping on your side (which you shouldn't btw, it's bad for you)
fr, I usually just stay awake on my side and sleep on my back, 10/10 sleeping experience (when I can sleep)
Idk, we'll see what it ends up in if you ever produce something. At least from my somewhat useful experience in API design, the concept in my head goes great, the interfaces go great, the impl becomes a bit annoying and then using it you realize it does not do what you were thinking it could
that's why I'm mainly working on implementing a fully testable version first, then adding it into a server, less time spent worrying about mc implementations and more about the actual design of things
I mean, it is, one of it's points is relying little on the mc server
I don't believe what they're asking for specifically with components is practically hard to implement, but it's definitely a convoluted system. It'd be essentially a serializer/transformer which would reduce whatever data you throw at it to the exsting component types, which if you can't do automatically (this would make it hard to implement then) then you're going to waste more time defining transformers than defining the actual messages
who is they here
you
ah thanks
🫵
I love transformers I would marry one (not the vehicles)
it'd be interesting for a well-defined set of messages, if anything. But most messages aren't
hello guys, i am currently trying to upgrade my server from 1.20.x -> 1.21.4, I downloaded the build tool "java -jar BuildTools.jar --rev 1.21.4" and tried to launch with --forceUpgrade as ab arg. After the server launched the version was still on 1.20.x. Would really appreciate your help :)
Did you replace the old Spigot jar with the new one
the first one not
ill delete it and start the build again right?
No
Replace the old jar with the new one
Delete spigot.jar and rename spigot-1.21.4.jar to spigot.jar
Also if you ran BuildTools inside of your server folder I really don't recommend that
You'll end up with a bunch of files that aren't really needed
thats probably true, teached everythig myself and i dont now a workaround 😅
@tawny dust thank you very much, it is working now <3
anyone know why my port forwarding doesn't work
I can direct connect via ip address but port forwarding won't work so others outside the network cant join
(please ping me when replying)
your networking might be in a CGNAT
contact your ISP and see
what does that mean
You may also not have a static IP address configured in your router.
It depends on your router.
?portforwarding
?portforward
Man, there are too many commands from the bot that I just can’t remember rn
?port-forwarding
There is a tutorial out there.
Most of the time you can just look up your router model and find a guide for Minecraft port forwarding
But the main thing is that you need to make sure your router won’t change the internal IP that is assigned to your machine.
Your public IP is also an issue, but your will have to contact your ISP for that.
Wouldn’t recommend it since it leaves your vulnerable to the open web, but to each their own.
omg im lost
ive found this video ima follow
https://www.youtube.com/watch?v=9P6ZfH9pDjI&ab_channel=DIYTechTips
okay im lost
Not every ISP allows you to portforward
This does look correct
Make sure people from outside the network use the public ip and not the internal one (starting with 192)
ive just looked up my ip address again and its changed
both the old ip address and the new one dont work
Yeah not the best idea to share those
tiz why removed
What OS are you hosting the server on? Windows?
windows
why when i do /skull it gives steve or alex
Send the output from /version EssentialsX
Did you allow Java through the firewall?
can i send in dms? cant send pics here
am on 2.20.1
?img
Can't send images? That's because you're not verified! Use !verify to complete verification.
Alternatively, you can upload screenshots to any image hosting site and share the link.
Here's some screenshot utilities that you can use to upload images.
Lightshot: https://prnt.sc
Imgur: https://imgur.com/upload
Flameshot: https://flameshot.org
i think so
!verify
Usage: !verify <forums username>
bru aint doing all that
adwad
Yeah that's quite old
am on aternos what am i supposed to do
Not much you can do
bro fudge
It is the latest stable build but it's from August 2023
Before the major nbt changes happened
if i switch to paper would it solve problem you think
No
Probably ran fine before nbt change
so spigot fault?
no
is why it wont work u think?
you're simply using an essentialsX version for an older version
1.21.0?
how do i fix?
yes
You can't
bru
ok but explain, why it work months ago but not now
You were probably on 1.20
1.20.1 is the latest version the EssentialsX version you're using officially supports
No
oh
Tiny fix that doesn't make any major changes
You sure you weren't on 1.20 before?
Also is the server running online mode?
online mode is a setting in your server.properties
It can be set to false when internet isn't available to allow for local play
However it's often misused
yes
i can direct connect using 192.168.1.55 but cant join threw ip address
Hm yeah your ISP might not allow it then
well it was working a few days ago so idk why it isnt working now
Your IP likely changed
Which is why having a static IP is important for long term severs
idk how to do that 😭
Did your public IP change or was it your private one?
my ipv4 address changed
Make sure your internal one didn't change
Because that can happen if you don't lock it
privet didnt change
192.168.1.55 didnt change
If the private one didn’t change, then all you would have to do is give out the public IP to those who need it.
i switch to paper, and it work
It most likely is. EssentialsX has been for paper dev for a while now. They probably don’t check too much for compatibility with spigot anymore.
not to be rude but i am waiting on help if anyone is available 💜
Sounds like your ISP doesn't support port forwarding
A lot of consumer connections don't these days
ISPs are from the devil itself
did you ad a portproxy using netsh
whats that?
(so probs no)
do these in a command line:
netsh interface portproxy add v4tov4 listenaddress=0.0.0.0 listenport=25565 protocol=udp connectaddress=<YOUR LOCAL ADDRESS> connectport=25565
netsh interface portproxy add v4tov4 listenaddress=0.0.0.0 listenport=25565 protocol=tcp connectaddress=<YOUR LOCAL ADDRESS> connectport=25565
also these for good measure:
netsh advfirewall firewall add rule name="Minecraft TCP" dir=in action=allow protocol=TCP localport=25565
netsh advfirewall firewall add rule name="Minecraft UDP" dir=in action=allow protocol=UDP localport=25565
netsh advfirewall firewall add rule name="Minecraft TCP" dir=out action=allow protocol=TCP localport=25565
netsh advfirewall firewall add rule name="Minecraft UDP" dir=out action=allow protocol=UDP localport=25565
<YOUR LOCAL ADDRESS> being the device's lan address, i.e. 192.168.0.<device unique number>, you can check this in the internet properties or by doing `ipconfig
edit: yours seems to be 192.168.1.55 by looking at the previous messages
one second
im doing netsh interface portproxy add v4tov4 listenaddress=0.0.0.0 listenport=25565 protocol=udp connectaddress=192.168.1.55 connectport=25565 and its coming up with this
is that the only thing it says?
yes
are you sure that is your local ip address?
can you just send the whole ipconfig output
hm that's weird
try removing the protocol from the command ig
netsh interface portproxy add v4tov4 listenaddress=0.0.0.0 listenport=25565 connectaddress=192.168.1.55 connectport=25565
(if you are still on the netsh session, you may have to type exit to quit from it)
it might have worked?
done
well, can you connect now?
do netstat -aon | findstr 25565
in cmd?
yeah
do tasklist | findstr 4556 now
what service is using the 25565 port lol
tasklist /svc | findstr 4556 what does this print
if it was the minecraft server it'd have been a jvm process I believe
uh well it doesn't really matter, kill it with taskkill /PID 4556 /F
can you start the server fine now?
make sure you don't have any other instances of the server oepn
are you sure you've done the port forwarding config properly in your router settings?
Help with DeluxeMenus
Hello together, i have a server with spigot for the newest version, and my server is crashing after i hit an creaking mob. is it a common Problem ?
Update your spigot jar, I believe this was fixed
my server is on g portal ho do i update it there ?
No idea
Hello, i am using spigot in my Minecraft server. There is a login and lobby map on my server, but when i enter the server, i enter the pass and on the login page and it remains it the same map. What should i do to autimatically teleport to the other world after entering the pass?
Offline mode is not supported
hello, i was hoping for some help with spigot. i have everything downloaded, the eula set to true, i ran my start.bat, and the .yml and .json files have populated. i'm trying to launch my spigot-1.20.1.jar, which is how i've opened spigot servers in the past, and it asks which program i want to use to open it. one option is "F:\minecraft\bin\javaw.exe" -jar "%1" %* and the other is the generic java platform binary
not really sure how to get the thing to open or how to connect to it. things seem to have changed in since 2020
the one with the messed up name causes a loop that keeps asking me which program to use to open it and the generic java selection closes that prompt window and does nothing else
Double clicking to run isn't really what you're supposed to do
You should be using a startup script in a bat file
You can use https://docs.papermc.io/misc/tools/start-script-gen to generate one
turns out that i just wasn't seeing what i expected. i did run the bat but the gui wasn't what i expected tosee. it's running and i realized that i had to create a 1.20.1 installation to be able to connect to it. i think this'll work
hello
can someone please help me
i just cant find the solution for this plugin in crazy crates
i cant find this nowhere in the files, so i cant rename it
i cant send the photo lol
but please someone msg me or help me
?img
Can't send images? That's because you're not verified! Use !verify to complete verification.
Alternatively, you can upload screenshots to any image hosting site and share the link.
Here's some screenshot utilities that you can use to upload images.
Lightshot: https://prnt.sc
Imgur: https://imgur.com/upload
Flameshot: https://flameshot.org
?ask
If you have a question, please just ask it. Don't look for staff or topic experts. Don't ask to ask or ask if people are awake or available. Just ask the question to the channel straight out, and wait patiently for a reply. Make sure you use the right channel regarding the topic of your question. Create a thread in case the channel is already in use!
I need help with having a spigot server for 1.17
?ask
If you have a question, please just ask it. Don't look for staff or topic experts. Don't ask to ask or ask if people are awake or available. Just ask the question to the channel straight out, and wait patiently for a reply. Make sure you use the right channel regarding the topic of your question. Create a thread in case the channel is already in use!
guys, hi! please help with PlaceholderAPI, I want to create a localization in English for a time (date), for example, my auction plugin uses %time% and as I have it in English all the time, but I want to do it in Russian and I don’t know how to do this, please help . A total of 13 placeholder hook(s) are active:
battlepass, deluxemenus, javascript, luckperms, math, pinger, player, playerpoints, skinsrestorer, spark
statistic, tab, vault
maybe I should use javascript?
You would need to request a russian language option from the auction plugin developer. Place holders are coded by the plugin developer
Papi might support russian translation idk
what if I create a script in javascript (filler plugin extension) to intercept %time% where it will change to Russian words :)? Will this have a big impact on performance?
// Функция для перевода времени на русский
function translateTime(input) {
// Входное значение должно быть в формате "3day 21hour 19minute 47second"
const translations = {
day: ['день', 'дня', 'дней'],
hour: ['час', 'часа', 'часов'],
minute: ['минута', 'минуты', 'минут'],
second: ['секунда', 'секунды', 'секунд']
};
// Склонение слов в зависимости от числа
function pluralize(count, forms) {
if (count % 10 === 1 && count % 100 !== 11) return forms[0];
if (count % 10 >= 2 && count % 10 <= 4 && (count % 100 < 10 || count % 100 >= 20)) return forms[1];
return forms[2];
}
// Заменяем английские слова на русские
return input.replace(/(\d+)(day|hour|minute|second)/g, (match, number, unit) => {
const count = parseInt(number, 10);
if (translations[unit]) {
return `${count} ${pluralize(count, translations[unit])}`;
}
return match;
});
}
// Получение значения %time% из PlaceholderAPI
var inputTime = placeholders('time'); // Placeholder %time%
// Если значение пустое, вернуть заглушку
if (!inputTime) return 'Время не указано';
// Перевести и вернуть значение
translateTime(inputTime);
why not just use localdatetime extension
does it use your plugin's logger
if it does, I assume you can use a log filter
if it isn't your plugin then you'd have to make a plugin that hooks into the root logger however that's only possible in spigot, in paper it's trickier
Sir this is help server
they're a developer so I had assumed they were asking for their own plugin lol, don't think there's a setting in spigot to disable that logging
best one could do would be open an issue in the jira about it
Can't send images? That's because you're not verified! Use !verify to complete verification.
Alternatively, you can upload screenshots to any image hosting site and share the link.
Here's some screenshot utilities that you can use to upload images.
Lightshot: https://prnt.sc
Imgur: https://imgur.com/upload
Flameshot: https://flameshot.org
I did a d it says a private message is sent to ur spigotmc acc
And when I checked there is nothing
Give it a sec
It's been 5 mins
Then it should be there
I mean i need to sign up in the spigotmc website with the acc that's linked to discord right?
Open your private message on Spigotmc
Dms bro
bro what, its something to do with spigot
multiple plugins are showing that crap
don't think there's a config for it, you can make an issue in the jira about it though
Im sure it can be resolved without a ticket, this seems like extremely excessive logging
Wonder if theres a setting
I need help
i have a Crossplay server and they found a problem
the problem is in bedrock, they can't craft items that need wood because they need a specific wood to craft which is the dark_oak_log
can someone help me?
can u elaborate?
wait I'll show you instead
yo
i have a quick question
someone pls help rq
why cant i change the percentages in my files below 1
no matter what i type for example 0.5
it just wont show up in my crate im creating rn
i even tried 0.9 and it didnt show up once in 100 spins
when i tried 1 percent i showed up several times
and i even won itonce
i sent a private message to you
what file?
crazy crates
my own crate
i mean everything above 1% works
but i want it to be more rare
below 1
you can't put it below 1%
use different crates plugin
thanks
welcome
anyone help
i have a Crossplay server and they found a problem
the problem is in bedrock, they can't craft items that need wood because they need a specific wood to craft which is the dark_oak_log
what plugin are sou using
geyser
via version
via backwards
via rewind
veinminer
yeah, that's the problem
@amber snow bro see
aternos
Yep
you're gonna have a hard time finding a plugin that happens to work well and is in aternos library
I didn't even find one on the internet
https://fmhl.devloo.xyz/ if you are looking for a free host
The biggest site with all the free minecraft hosters. Updated all the time!
No jobs plugin currently support 1.21.3
well, that's a shame
U can send a pic if u know one
That's compatible to 1.21.3
you'll probably have to wait till jobs reborn supports 1.21 or find a different one honestly
O
Alright then
Btw is this 24/7?
it is a host tier list, not a host itself
some of them might be, idk
Oh
hi, i have spigot installed on my server and i wanted to install fawe but if try to use anything except for //wand this error comes up: java.lang.RuntimeException: lava.lang.reflect.InvocationTargetException
how can i fix this?
server is on version 1.21.4
FAWE doesn't support 1.21.4 yet
oh i didnt know thats unfortunate but thank you!
are there any similar plugins i could use?
Normal worldedit
The build is still experimental so as always use with care
https://builds.enginehub.org/job/worldedit?branch=feature/1.21.4
Downloads and builds for the WorldEdit project. Download beta and test builds!
thanks a lot!
with what plugin can i make custom gui shops that can be opened through npc's?
probably a combination of like deluxemenus and citizens or something
hi yall, if the 4GB for paper server is great?
I am planning to run server for my friends, atleast 15 players would play at one time.
3gb minimum, its plenty
I just made a new server on 1.21.1 but xp orbs arent stacking
i looked in the config changed it from -1 to 3 but nothing has changed
Can Spigot use fabric mods?
No
No
Am I only able to use spigot plugins?
On Spigot, yes
Bukkit plugins will work too
Could I install fabric into spigot server?
No
there's something for the other way around apparently (aka installing spigot on fabric/neoforge/forge), it's called arclight
you'd have to ask in their discord about how it works though
You can use um Cardboard I think?
eh im prolly not smart enough
thx for everyones help
I know im asking dumb questions but I dont know much
Cardboard is a mod you install to a Fabric server, that enables Spigot usage
Cardboard is a Fabric mod that adds support for the popular Bukkit/Spigot modding API.
This mod lets you use plugins that are made for Bukkit and it's derivatives (Spigot & Paper) with Fabric.
So instead of using a Spigot Server. You just use a Fabric Server, and you are capable of installing Spigot plugins overtop.
yes, i will try that
it is the same thing almost, paper got only better optimalizations
hey so how can i make it so my friends can join the server thats running on my pc
No it isn't the same thing almost, paper is very far off from spigot with countless API and internals changes as well as those countless performance and bug fixing patches
it is, it can both tale bukkit plugins. But as you said paper is more optimized
but plugins are pretty much universal, no big difference for example like between folia and bukkit
The difference in behaviour is huge
Look into “Port Forwarding” the port you have the server setup with
Yes, Paper can load Bukkit/Spigot plugins, but the server is so fundamentally different that
A) you are not guaranteed they will work properly, like at all, don't even expect them to if they are a large plugin
B) if they work, you are not guaranteed that they will keep working
C) paper is fast, sure, but this speed comes for example at the cost of breaking a lot of redstone builds
D) folia is completely different from normal bukkit, you can't really use bukkit plugins on folia unless they're really simple
the redstone breakages are most/if not all just CB issues
not even spigot just
old CB issues
not really, 'cause they work for me on Spigot
Probably just paper making something really bad a little bit worse
outside of, actually, one
iirc the orbital blaster from Iforgothisnameletmegolookitupandedit doesn't work on paper but does on spigot
it worked for me
so maybe I just fucked up the build 💀
and it ended up working
because I did use it on a spigot server once
it 100% does not
when that shitstorm landed we looked into that for a while
What if we fixed them
that would be great
actually yeah why aren't they fixed yet in paper if paper claims to fix shit 💀
just, some of the issues around e.g. hopper speed are due to CB making copies of items for events
Reimplement the entire bukkit api when
I am doing just that ray
if you wanna help I'll open it up soon :P
It's nearly able to sustain itself lol
food {
player.damage(1);
}
I would love to
I thought you were not reimplementing bukkit
why implement a terribly aged API
A proper bukkit impl would be neat, because cb is absolute ass
a proper API would be neat, because bukkit is absolute ass (in some areas)
Bukkit is generally meh
I am not reimplementing bukkit
I am making my own API lol
I concur
I personally prefer the fabric approach, but having an API is really handy a lot of the time
well thats not what you said so I was confused
oh my bad lol
fabrics approach is dying at the frontdoor rn with mojangs content drops
That is the usual trade one does when designing API abstractions for a third-party controlled code base
a pain in the ass but more stable
At the end of the day, someone always has to suffer
The neat thing that I love about fabric is that there is never something I can't do, just sometimes there are things that require more mental capacity than I can give lol
The neat thing about an API tho is that I do not have to suffer through updating my mods/plugins when a new micropatch releases
the server is made up of
A) Loader
B) Branches
C) Plugins
The loader is responsible for orchestrating data around the various parts of the server and providing the basics for everything else to latch onto
The branches are what then implement the more high-level concepts of the API, for example player connections need to be represented as a component and have their logic work with the whole component/transformer api. You can add your own branches to make your own API and access internals but they require a restart. Branches basically work through mixins (which I prefer to patches tbh)
A plugin then takes the API provided by the loader & the branches (loader API is core api to represent a plugin, fyi) and acts on that, you can actively upgrade / edit / replace the functionality of the server by replacing branches, but then actually using it is done through a plugin.
I'll share more details about the full architecture once I'm done writing it lmfao
Do you have a paper on the server architecture written
TL;DR: basically branches can be thought of as current fabric API libraries: fuck with internals, make it an API, plugins can be thought of as current bukkit plugins: don't fuck with internals, use the API
not fully, I'm changing it as I go in some cases as I notice more performant & cleaner ways to handle stuff
Understandable
I like writing specifications or papers on my stuff when I'm doing theory, to get a clear understanding of what I have to achieve
I'm debating as to if running plugins as a separate process is a good idea or not, on one hand it would allow for isolated, repeatable environments which can be locked down to prevent damage, on the other it is a x10 pain in the ass to get running
You could probably just give them some kind of isolated classloader and chill
nah, you can't isolate them that way
java dropped support for security managers and you can't reload them then
the JVM doesn't support unloading fully
Then make it support that
You could definitely do some funnies to get it to work
wdyt @fallow gust
how would you implement API access on a separate process
cross-process communication is neither fast nor fun
mapped memory or sockets I suppose
I know lynx lol
technically you can go around it
by having the plugin JVM cache data and stuff
for example only world-affecting stuff is send as a request
and the server is updated of all needed information
tbf, I do not see the upside of that in the first place
plugin A would still potentially run into unexpected state due to plugin B messing with shit
wym
like, just world state or whatever
which is kinda what all incompatibilities on bukkit already come from
plugin B doing something that isn't vanilla that plugin A expected to behave like vanilla
oh I mean yeah but I'm more-so talking about dependency conflicts and locking down plugins to not allow malicious actors from being able to damage the server as a whole
yeah fair point, that can be mitigated with another branch which introduces something like i.e. custom player movement abilities implemented by a plugin
but yea, you could lock file access a lot more with separate processes
and network access
my main concern is security I guess, also if a plugin hangs it literally can't kill the server so that's good I guess?
Well, also a big question.
If a plugin is dying, should the server keep running?
I mean, it could be made an option on a per-plugin basis
i.e. "critical ass plugin if this crashes die"
or "funny gimmick that can be restarted"
ykwim
Well, not really on a per plugin basis, but on anything that runs on the main thread
if the world guard port to your API (lol) dies while preventing a block placement, the server would need to await the plugin process to respond with it being done
no matter what, as otherwise it isn't main thread
well yeah, again that could be fixed with a fucking insane idea separate branch which handles worlds async LMFAOOOOOOOOOOOO
yeah but I know what you mean
it should probably be stated as "this plugin is critical, XYZ could hang but don't restart" or something like that, need to think about it
smartest idea ever
frfr
I mean the world itself has to be sync because that's insane otherwise
but things like player updates can be async, it's just network lol
but yeah, this could exist
given that from a separate process it is forcefully async
probably won't though
why am I thinking of this I should be working on my cv
the most relatable message you ever sent
lol yeah, there is some dude who is hiring (and works for my dad -- he wants like defer devs and tbh I need money) so I'm writing my cv to send it to him lol
noice, good luck on the application 💪
tyty
mb I meant folia is completly different than bukkit
i agree that spigot and paper are different. But the requirment amnout for ram is same
and both of thme were build on bukkit, tho like you said they are now different on outside
but there is still some slimmaritiy
atleast in the basic thing
I got spigot to run at 300MB of ram I don't know what you're on 💀
lol thats so low
yep
my server crashes when i hit the creaking, I have coreprotect spark and simple voice chat
Update Spigot
there is no update
There is
That issue was fixed a week ago
If you're sure there isn't send the output from /version
That's not the full output
Also the command should tell you if there's an update or not
?img
Can't send images? That's because you're not verified! Use !verify to complete verification.
Alternatively, you can upload screenshots to any image hosting site and share the link.
Here's some screenshot utilities that you can use to upload images.
Lightshot: https://prnt.sc
Imgur: https://imgur.com/upload
Flameshot: https://flameshot.org
Running the command in your console should make the output easier to copy paste
To verify yes
This server is running CraftBukkit version 4399-Spigot-33ece3e-ff9a8bf (MC: 1.21.4) (Implementing API version 1.21.4-R0.1-SNAPSHOT)
[18:07:56] [Server thread/INFO]: You are 5 version(s) behind
but i cannot choose a newer version
Update your server manually or ask your host to do it
gportal
i mean i could just change the spigot.jar but idk where to get the newest version
?bt
^^ You run BuildTools
i got that
Now run it
wait is that the same file as the server file?
The tool will create the new jar
and you then take the new jar and replace the old one on your server
so it is a server file? bruh
yes i mean that
is that also the same file i need to put into intellij or eclipse to code? because i tried and intellij just dont want to accept it
server still crashes
What are you using Intellij for?
i tried to code an plugin that tracks the death of all mobs even if not killed by a player
If you want to make plugins you should use a proper build system like Maven or Gradle
I can recommend Maven
i used maven
i did that
Then you have your project setup
[18:17:19] [Server thread/INFO]: This server is running CraftBukkit version 4399-Spigot-33ece3e-ff9a8bf (MC: 1.21.4) (Implementing API version 1.21.4-R0.1-SNAPSHOT)
[18:17:19] [Server thread/INFO]: Checking version, please wait...
[18:17:20] [Thread-10/INFO]: You are 5 version(s) behind
same again but this is the newest
That's still outdated
i selected latest in buildtools
but the creaking was still there so that makes no sense
Yeah you're using the old jar
i deleted the old one
And you replaced it with the new one?
yes
Sounds like you need to contact your host
If they're overriding the jar there's not much you can do
ok
Anyone know a good fishing tournament plugin and graves plugin
Gonna search on my own, recommendations would be great (Latest)
hi guys i cant find my "dynamic" folder in my mmoitem plugin can i create that and how?
alright I updated my server to 1.21.4 from 1.21 and it seems when I use the /locate command to search for pale gardens, it'll give me coordinates, but at those coordinates its just old minecraft generation, did I miss something when updating?
also maybe I missed it before but it's CRAAAAZY useful that the server pauses after no one being in it for 60 seconds! idk if that's new for 1.21.4 or if its something I added previously that I don't know about but OMG it is AMAZING!!
alright I looked it up, and it just seems to be a bug in general (found in the minecraftbedrockers subreddit, kinda weird since I'm on Java) but I'm just gonna assume the locate command is broken for now!
Hello everyone,
I’m currently running a server on Purpur 1.21.1 and have encountered a strange issue. It seems that some mobs—whether naturally spawned, from spawners, or even MythicMobs—are randomly becoming immune to damage. This doesn’t happen consistently, but rather affects mobs randomly, regardless of their origin. They don’t have any special tags, gear, or effects that would explain the invulnerability, and I can’t find any pattern to it. Has anyone else experienced this issue or knows what might be causing it? I’d greatly appreciate any insights or suggestions.
Thanks in advance!
You should probably ask in the Purpur Discord as their software is different from Spigot
?whereami
yeah
Can I get some help?
Our server is running SPIGOT MC
We have made a bedwars server
Now the problem is sometimes the world doesn't load chunks
Like the map is incomplete. It doesn't render sometimes even our spawn
What version are you on
And this doesn't happen in lobby . This happens in the bedwars games
1.8.9
The server is made on 1.8.8
And also viaversion is installed
I'll send u the list of plugins
Uh. How to upload??!
It doesn't allow me
?img
Can't send images? That's because you're not verified! Use !verify to complete verification.
Alternatively, you can upload screenshots to any image hosting site and share the link.
Here's some screenshot utilities that you can use to upload images.
Lightshot: https://prnt.sc
Imgur: https://imgur.com/upload
Flameshot: https://flameshot.org
!verify
Usage: !verify <forums username>
!verify LightShot
A private message has been sent to your SpigotMC.org account for verification!

handles worlds async