Minecraft PC IP: play.cubecraft.net

LauraMoneybags

Well-Known Member
Sep 15, 2014
141
99
103
It seems there is some pressure on rubik as the only dev. working on CCG, and then only part-time.

To ameliorate this, perhaps the rest of us could contribute. If a sticky could be posted in this sub-form giving more details about what software the server runs (Bukkit? What version?) it would help. It would mean that instead of just posting random suggestions, there would be a generic method of looking for publicly available, compatible plugins that could implement any suggestions relatively quickly. It might reduce then reduce the load on rubik or allow other staff members to implement things.

Where I'm coming from: I have considerable C++ and some python experience, but no Java or modding experience in general. Even if there was a sticky that just gave software version numbers and pointed to a list of FAQs for the different software that CCG uses it would be a good start.
 

LauraMoneybags

Well-Known Member
Sep 15, 2014
141
99
103
EDIT: looking through, it seems that many (most?) of the adaptions are in-house by rubik. Still, some publicly available ones must be used. It's finding out which public plugins could be added to the server that I'm getting at.
 

LauraMoneybags

Well-Known Member
Sep 15, 2014
141
99
103
Thanks, a good start. I think it's more than this though, buycraft for example. For example, are the Skywars voting and server ranks features custom then?
 

alyphen

Well-Known Member
Jan 4, 2014
101
109
118
28
127.0.0.1
seventh-root.com
Thanks, a good start. I think it's more than this though, buycraft for example. For example, are the Skywars voting and server ranks features custom then?
I used to help out sometimes (I was the one that originally taught Luke (rubik) Java), but after the EULA & DMCA issues, followed by the Bukkit community falling to pieces, I quit Minecraft.

The servers run Spigot, and they are nearly always on the latest build. They're linked together using BungeeCord.

Java is very similar to C++ (syntactically), although you have to consider everything that's not a primitive a pointer. Everything is a reference. Python went in the exact opposite direction and made everything pass-by-value. Java also supports something called JNI, which allows you to call native code written in C++, and it's also possible to use Python on the JVM using a library called Jython.

Luke's code can be fairly hard to follow, so you need to spend a fair deal of time getting your head around some of it before you can contribute much, so it's probably not the best thing to jump into if you're new to Java and the Minecraft modding scene. Now is probably the worst time to start, but if you grab yourself a copy of the Bukkit API (or one of it's many derivatives) and a Spigot server JAR form someone that still has one (halothe23 keeps copies, could ask him) you could get a fair amount of practice in before having a look at trying to do some more large scale stuff.

A lot of the software stack used by CCG is fairly unique, so there's not so much that's usable in terms of public plugins, and even then, it becomes a maintenance problem because if the author doesn't support servers this large (or networks in general) or stops maintaining it for whatever reason then the dependency has to be resolved and it would have to be reimplemented (I once had to rewrite pretty much all of Heroes' functionality back in the 1.4-1.5 transition for another server because Heroes decided to stop supporting Bukkit and didn't work on the (then-new) update.

The other (could-be-)problem is that Luke, similar to myself, is incredibly egotistical and will avoid other people's code as much as possible so he gets control over everything. Admittedly, he's still in school, so it's not such a feasible solution some of the time.

I've been throwing around ideas for a little while to create a new platform for CCG so that we can gradually phase away from Minecraft - although this isn't really feasible within the next year, with C++ experience and no Minecraft dependency, you could get somewhere.

I hope this helps in some way, and if you need any help with Java in general, ping me in #cubecraft on FreeNode, if I'm around, I'll happily teach you the basics and get you off the ground (with your prior programming experience, especially in another C-derived language, this should be a moderately painless and brisk experience)
 

LauraMoneybags

Well-Known Member
Sep 15, 2014
141
99
103
Firstly, I must thank you for the unexpectedly detailed response.

So it is apart from a few details mostly custom-made - some labour indeed! I see what you mean about updates. I read a little about Bukkit's seeming demise, so I guess at some point you will have to move from Spigot. I think I'll take your advice and play around with Spigot first though. It seems quite heavily mirrored since the official site that had the take down. It's a good reason to learn Java, actually. I'd meaning to to add another to the small list I have.

Public plugins

Sure, though seeing as the many of the Bukkit plugins I've seen are GPL. As the server isn't distributing the software, they can be borrowed and edited to make them fit-for-purposes. Should make things easier?...
 

alyphen

Well-Known Member
Jan 4, 2014
101
109
118
28
127.0.0.1
seventh-root.com
Firstly, I must thank you for the unexpectedly detailed response.

So it is apart from a few details mostly custom-made - some labour indeed! I see what you mean about updates. I read a little about Bukkit's seeming demise, so I guess at some point you will have to move from Spigot. I think I'll take your advice and play around with Spigot first though. It seems quite heavily mirrored since the official site that had the take down. It's a good reason to learn Java, actually. I'd meaning to to add another to the small list I have.



Sure, though seeing as the many of the Bukkit plugins I've seen are GPL. As the server isn't distributing the software, they can be borrowed and edited to make them fit-for-purposes. Should make things easier?...
Often it's easier to write things from scratch than try to figure your way around someone else's code - even so, some pieces of other plugins occasionally make it into the codebase (for example, I think Double0negative's spawn lock code made it in there somewhere) and quite often sections of libraries end up being copy-pasted in - which, again, makes a maintenance nightmare because updating the code every time a plugin updates with this amount of minigames is a huge undertaking.
If there was a more manageable aount of code, and Minecraft was still a feasible platform for the near future, the first thing I would do would be to split out a common library with common CCG functions, since there is often a lot of code duplication & technical debt that needs to be solved.
 

LauraMoneybags

Well-Known Member
Sep 15, 2014
141
99
103
Often it's easier to write things from scratch than try to figure your way around someone else's code
Personally I find it the other way for large projects I am not so familiar with. With smaller stuff I already know how to do, it's always easier the way you say.

technical debt

I am very familiar with this. I support a creaking simulation package written by several dozen people who didn't seem to talk to eachother very much about how to write their code.

Eh, I'll have a stab. I still have a full time job - as a combination of physicist and C++ developer - so it might take a while...
 

LauraMoneybags

Well-Known Member
Sep 15, 2014
141
99
103
So I got spigot from a a couple of links down when googling for "spigot mirror". I have then been following:

http://wiki.bukkit.org/Plugin_Tutorial

Setup up the workspace and JDE, and have managed to get to:
...
[21:39:56 INFO]: [FirstPlugin] Enabling FirstPlugin v0.0.1
[21:39:56 INFO]: [FirstPlugin] onEnable has been invoked!

So I'm on the right track, I think, thanks for the pointers.

I guess there is only so much time until 1.8.1 comes out, which I guess will destroy the Universe without anyone to update Bukkit/Spigot...
 

alyphen

Well-Known Member
Jan 4, 2014
101
109
118
28
127.0.0.1
seventh-root.com
So I got spigot from a a couple of links down when googling for "spigot mirror". I have then been following:

http://wiki.bukkit.org/Plugin_Tutorial

Setup up the workspace and JDE, and have managed to get to:
...
[21:39:56 INFO]: [FirstPlugin] Enabling FirstPlugin v0.0.1
[21:39:56 INFO]: [FirstPlugin] onEnable has been invoked!

So I'm on the right track, I think, thanks for the pointers.

I guess there is only so much time until 1.8.1 comes out, which I guess will destroy the Universe without anyone to update Bukkit/Spigot...
That tutorial recommends using Eclipse - IntelliJ is a LOT better at handling things like Maven/Gradle, Git, and the autocomplete is a lot smarter, so I'd recommend using that instead.
Next step is to get some basic listeners and commands working, then you can start writing largely independent code that just interfaces with Bukkit using the commands and listeners.
 
  • Like
Reactions: LauraMoneybags

NLRicardoFTW

Well-Known Member
Apr 25, 2015
86
9
83
23
Europe
www.ricakarta.nl
It seems there is some pressure on rubik as the only dev. working on CCG, and then only part-time.

To ameliorate this, perhaps the rest of us could contribute. If a sticky could be posted in this sub-form giving more details about what software the server runs (Bukkit? What version?) it would help. It would mean that instead of just posting random suggestions, there would be a generic method of looking for publicly available, compatible plugins that could implement any suggestions relatively quickly. It might reduce then reduce the load on rubik or allow other staff members to implement things.

Where I'm coming from: I have considerable C++ and some python experience, but no Java or modding experience in general. Even if there was a sticky that just gave software version numbers and pointed to a list of FAQs for the different software that CCG uses it would be a good start.
Ask it! @rubik_cube_man
 
Members Online

Team online

Latest profile posts

A picture of my cat sleeping having kitty dreams
1000053259.jpg
kfccaleb wrote on WayneX4's profile.
You can now have a follow after I played with you!
How do you make spoilers with a name?
Reesle wrote on ZachTart26's profile.
Welcome to the Official Cubecraft Forums! If you need help with something, feel free to DM me or a staff member anytime! Have a great day! :D
Top Bottom