Forums - Open Redstone Engineers
Free university project for ORE - Printable Version

+- Forums - Open Redstone Engineers (https://forum.openredstone.org)
+-- Forum: Announcements (https://forum.openredstone.org/forum-102.html)
+--- Forum: Announcements (https://forum.openredstone.org/forum-7.html)
+--- Thread: Free university project for ORE (/thread-15532.html)



Free university project for ORE - PabloDons - 12-08-2019

So my university has a free project course (INF219) that is basically any project of my choice that I work on during the entirety of the semester it runs. Don't mind the limited number of projects thing, they're very broad and you can pretty much wiggle your way into one of them with any project. I decided I will do a project for ORE and asked staff to post this in announcements and got it through! We're talking at least 6-10 hours a week for 4 months! A lot can be accomplished in that amount of time and I'd be a dumbass if I didn't make it useful for something.

I’m mainly planning on building better tools for staff and improve the infrastructure, but I’d like to know what the community thinks are things with ORE that needs improvement. There’s lots that can be improved with ORE. What do you guys think is important and needs a better system? One such improvement I’m already planning on building is account syncing. One much needed application is forum and Discord roles which means we can finally moderate these places much easier which will open it to more permissions that is otherwise too risky to give.

Some ideas I need feedback on
There is a few things that I just don't know how to approach. I'd like some feedback on what you guys think is best for each.

#1: I am not sure how to implement this, but a better forum is much needed. Our forum is almost never used anymore, which is a shame. I think it is important for people to find a place to show off their projects and have people give feedback. What do you think would be a good way to improve this?

#2: People sometimes need to be able to reach out to staff quickly. Best way currently is pinging them on discord, which I think is a pretty bad way. It can overlap with a lot of personal stuff, and mixing those two is often very messy.

#3: New members should be introduced to ORE easier. I’m thinking this is a particularly important part that has huge room for improvement. I have no clue how this could be done or what’s best. I will likely have to approach this using trial and error.

If you have any input, please leave a reply or send me a PM! Anyway I'm really looking forward to working on this because it's been so long since I've sat my ass down and just coded for hours on end and I miss it.


RE: Free university project for ORE - RedCMD - 12-08-2019

make F3+N work ingame


RE: Free university project for ORE - PabloDons - 12-08-2019

(12-08-2019, 11:36 PM)RedCMD Wrote: make F3+N work ingame

This is actually pretty easy to do. Problem is that the client checks if they are OP before attempting it. For this to work, the clients must think they are OP even though they're not. It's frankly very hacky and I'd prefer not to have it. shortcuts /gmc and /gmsp work good enough imo

Either way, this is not the kind of projects I'm thinking about. This is more of a simple feature that could be added with a plugin, but I'll be writing a whole system by myself as the project. Please keep small features to the petitions subforum.


RE: Free university project for ORE - ElectroPlaysMC - 12-08-2019

if possible, rework worldedit to not crash the server

eg. no worldedits over x amount of volume unless admin gives ok or smth

it's getting annoying whenever someone fucking stacks 1000 chessboards (looking at you repsi) or something and the server lags for a good 2 minutes


RE: Free university project for ORE - PabloDons - 12-09-2019

(12-08-2019, 11:49 PM)ElectroPlaysMC Wrote: if possible, rework worldedit to not crash the server

eg. no worldedits over x amount of volume unless admin gives ok or smth

it's getting annoying whenever someone fucking stacks 1000 chessboards (looking at you repsi) or something and the server lags for a good 2 minutes

I totally agree it's annoying. We've tried our best to solve this using tools like FAWE but there's always something that breaks. There are a ton of great minds working on making WE more efficient every day, but the biggest hurdle right now is how minecraft itself works. We don't want to impose too severe limits on builders because limits are incredibly annoying. Imagine having to ask an admin to allow you to do something every 5 minutes while working on something huge. Suddenly they're AFK for a bathroom break and you're sitting there counting seconds. The servers are running on very powerful hardware right now which makes a huge difference at least.

One of the things I'm planning on building is a rigorous logging system which nick already started on. This will allow us to much more easily crack down on users who abuse WE too much as an incentive to keep their usage moderate. I am sure this will help greatly, but if you have any other ideas on how to improve this problem, I'm all ears.


RE: Free university project for ORE - coderboy14 - 12-09-2019

For contacting moderation, one idea is use something like RocketChat. I've deployed various instances of it in Dockerised containers, and you can configure a tech-support like embeddable chat thing. It looks very professional, and keeps work and personal separated. It also can be used either as a staff and developer only communication tool, since you can create multiple chat rooms, or depending on the permissions system (mind you, I never really looked into that stuff, since I used it mostly with friends and family) it could be used as another chat location, similar to Discord. There are applications for iOS, Android, macOS, and Windows, so it's easily there.

I think Zoho also offers a tool like this. I know they offer free (to a limit) email with a custom domain, which is really handy, and I think also their drive tool is included with the free package. Might be worth checking out?

For the forum, I admit I can't be too insightful here. I actually JUST signed up for the forum to reply to this port after seeing it on Discord. My only experience with forums are setting up a few Discourse forums and using Reddit. Haha.


RE: Free university project for ORE - PabloDons - 12-09-2019

(12-09-2019, 12:08 AM)coderboy14 Wrote: For contacting moderation, one idea is use something like RocketChat. I've deployed various instances of it in Dockerised containers, and you can configure a tech-support like embeddable chat thing. It looks very professional, and keeps work and personal separated. It also can be used either as a staff and developer only communication tool, since you can create multiple chat rooms, or depending on the permissions system (mind you, I never really looked into that stuff, since I used it mostly with friends and family) it could be used as another chat location, similar to Discord. There are applications for iOS, Android, macOS, and Windows, so it's easily there.

I think Zoho also offers a tool like this. I know they offer free (to a limit) email with a custom domain, which is really handy, and I think also their drive tool is included with the free package. Might be worth checking out?

That sounds amazing. I will definitely be checking those out. Thanks for the great input!


RE: Free university project for ORE - MCB18 - 12-09-2019

This might not be what ur looking for, but we should have a simple CPU that is broken down into its different parts, so that people who don’t know what a NOT gate is can see how the CPU works.

What I mean by broken down is that everything is spread out, and the components are simple. I.E., an RCA ALU that can do simple ALU things in one area, simple RAM in another area, the ROM explained, and some simple programs it can run, etc.

I realize that it would be ridiculously slow, because of the bussing and outdated components (that are simpler to understand) and bussing, but speed wouldn’t be the point.


RE: Free university project for ORE - coderboy14 - 12-09-2019

(12-09-2019, 03:54 AM)MCB18 Wrote: This might not be what ur looking for, but we should have a simple CPU that is broken down into its different parts, so that people who don’t know what a NOT gate is can see how the CPU works.

What I mean by broken down is that everything is spread out, and the components are simple. I.E., an RCA ALU that can do simple ALU things in one area, simple RAM in another area, the ROM explained, and some simple programs it can run, etc.

I realize that it would be ridiculously slow, because of the bussing and outdated components (that are simpler to understand) and bussing, but speed wouldn’t be the point.

I find that pretty great. I've been slowly working on all the components of a processor, and many are complex to get your hand around. It took me forever to get most of the circuits for an ALU to work. The only part of the ALU I still can't get is the comparing circuits correct. Being able to see everything sounds really useful. I'm sure the community has a lot of people who can help with this. Even I, somebody who is pretty basic compared to most of this community, could help with building RAM, ROM, and math circuits.

Building busses IMHO is the simplest part of all this. Heck, even the CPU itself is pretty gosh darn like a complex bus, since in a lot of my designs anyways, the cpu is pretty much only opening gates to transfer data to the right spots.


RE: Free university project for ORE - PabloDons - 12-10-2019

(12-09-2019, 11:19 PM)coderboy14 Wrote:
(12-09-2019, 03:54 AM)MCB18 Wrote: This might not be what ur looking for, but we should have a simple CPU that is broken down into its different parts, so that people who don’t know what a NOT gate is can see how the CPU works.

What I mean by broken down is that everything is spread out, and the components are simple. I.E., an RCA ALU that can do simple ALU things in one area, simple RAM in another area, the ROM explained, and some simple programs it can run, etc.

I realize that it would be ridiculously slow, because of the bussing and outdated components (that are simpler to understand) and bussing, but speed wouldn’t be the point.

I find that pretty great. I've been slowly working on all the components of a processor, and many are complex to get your hand around. It took me forever to get most of the circuits for an ALU to work. The only part of the ALU I still can't get is the comparing circuits correct. Being able to see everything sounds really useful. I'm sure the community has a lot of people who can help with this. Even I, somebody who is pretty basic compared to most of this community, could help with building RAM, ROM, and math circuits.

Building busses IMHO is the simplest part of all this. Heck, even the CPU itself is pretty gosh darn like a complex bus, since in a lot of my designs anyways, the cpu is pretty much only opening gates to transfer data to the right spots.

It isn't quite the kind of project I was looking for. Though any one of the more advanced builders are capable of doing something like this and I'd definitely like to see it. My field is informatics (mostly programming, but also systems development). That doesn't really cover redstone and education so it's kind of out of scope unfortunately.


RE: Free university project for ORE - LordDecapo - 12-10-2019

(12-09-2019, 11:19 PM)coderboy14 Wrote:
(12-09-2019, 03:54 AM)MCB18 Wrote: This might not be what ur looking for, but we should have a simple CPU that is broken down into its different parts, so that people who don’t know what a NOT gate is can see how the CPU works.

What I mean by broken down is that everything is spread out, and the components are simple. I.E., an RCA ALU that can do simple ALU things in one area, simple RAM in another area, the ROM explained, and some simple programs it can run, etc.

I realize that it would be ridiculously slow, because of the bussing and outdated components (that are simpler to understand) and bussing, but speed wouldn’t be the point.

I find that pretty great. I've been slowly working on all the components of a processor, and many are complex to get your hand around. It took me forever to get most of the circuits for an ALU to work. The only part of the ALU I still can't get is the comparing circuits correct. Being able to see everything sounds really useful. I'm sure the community has a lot of people who can help with this. Even I, somebody who is pretty basic compared to most of this community, could help with building RAM, ROM, and math circuits.

Building busses IMHO is the simplest part of all this. Heck, even the CPU itself is pretty gosh darn like a complex bus, since in a lot of my designs anyways, the cpu is pretty much only opening gates to transfer data to the right spots.

If i can find the time, i could do this, wouldn't be hard to put together a basic CPU with a simple Instruction Set then connect everthing up, with extra room so people could connect replacement parts.


RE: Free university project for ORE - coderboy14 - 12-12-2019

(12-10-2019, 01:08 AM)PabloDons Wrote:
(12-09-2019, 11:19 PM)coderboy14 Wrote:
(12-09-2019, 03:54 AM)MCB18 Wrote: This might not be what ur looking for, but we should have a simple CPU that is broken down into its different parts, so that people who don’t know what a NOT gate is can see how the CPU works.

What I mean by broken down is that everything is spread out, and the components are simple. I.E., an RCA ALU that can do simple ALU things in one area, simple RAM in another area, the ROM explained, and some simple programs it can run, etc.

I realize that it would be ridiculously slow, because of the bussing and outdated components (that are simpler to understand) and bussing, but speed wouldn’t be the point.

I find that pretty great. I've been slowly working on all the components of a processor, and many are complex to get your hand around. It took me forever to get most of the circuits for an ALU to work. The only part of the ALU I still can't get is the comparing circuits correct. Being able to see everything sounds really useful. I'm sure the community has a lot of people who can help with this. Even I, somebody who is pretty basic compared to most of this community, could help with building RAM, ROM, and math circuits.

Building busses IMHO is the simplest part of all this. Heck, even the CPU itself is pretty gosh darn like a complex bus, since in a lot of my designs anyways, the cpu is pretty much only opening gates to transfer data to the right spots.

It isn't quite the kind of project I was looking for. Though any one of the more advanced builders are capable of doing something like this and I'd definitely like to see it. My field is informatics (mostly programming, but also systems development). That doesn't really cover redstone and education so it's kind of out of scope unfortunately.

Yah, I realise that. I just replied because it's a good idea in general.

I do have an idea, but forgive my lack of OpenRedstone knowledge. I joined, because I honestly, truly, love redstone, but I have been working on my redstone skills before I actively join a server full or redstone gods. Plus, I'm kinda lazy, so my redstone skills improve slowly. Haha.

Here's a system idea though. I don't know how you handle your backup system, but a thought came to me, similar to how I sometimes handle mine. Making the server's backups downloadable, at least to members. I know there's sometimes you build something awesome in a server you wish you could have on your own computer. Either building a system that works with WorldEdit, to allow a user to download their own plot, or using the system I use to allow for full world access.

For my systems, I setup the backup systems to also work with GitHub. I honestly recommend this either way, the only question is if you make it public. Having backups on GitHub is AMAZING! If something goes wrong, let's say an exploiter destroys a huge portion of the world, or a file corruption delete a lot of things, GitHub allows for you to magically go back in time, and restore everything. Maybe if you make it public, don't backup everything. Only the save folder itself. Don't wanna share your configuration files, or (if configured) your RCON password, haha!

Heck, if you really wanna put yourself through the wringer with coding, you could make a whole mod, that is compatible with WorldEdit, where people can share their creations, to allow others to download. Heck, if you really wanna be fancy, you can make it automatically post on the forum, if their Minecraft account was verified and linked with their forum account (which would be easy). It would make it really easy to find awesome builds under a "Build Showcase" category on the forum. If their account is linked (otherwise it'd have to be posted as anonymous, I guess?), they could later come back and add a description and stuff, but just the build itself could be really nice, in my option.

These are just some roughly though out ideas, but since I thought of them, I figured I've give it to you humans to chew on, maybe you like it, maybe it makes you gag, but either way, it could inspire other ideas, that could (also) be great! Even if these ideas don't get done for your project thingy, they are still ideas that could be implemented. I never really checked this forum out, to see if there's a suggestion category. If there isn't, there should be, for the community to help improve ORE.

Sincerely, Ethan!
(I'm so used to writing emails for school, lol)


RE: Free university project for ORE - PabloDons - 12-12-2019

(12-12-2019, 05:35 AM)coderboy14 Wrote: Here's a system idea though. I don't know how you handle your backup system, but a thought came to me, similar to how I sometimes handle mine. Making the server's backups downloadable, at least to members. I know there's sometimes you build something awesome in a server you wish you could have on your own computer. Either building a system that works with WorldEdit, to allow a user to download their own plot, or using the system I use to allow for full world access.

For my systems, I setup the backup systems to also work with GitHub. I honestly recommend this either way, the only question is if you make it public. Having backups on GitHub is AMAZING! If something goes wrong, let's say an exploiter destroys a huge portion of the world, or a file corruption delete a lot of things, GitHub allows for you to magically go back in time, and restore everything. Maybe if you make it public, don't backup everything. Only the save folder itself. Don't wanna share your configuration files, or (if configured) your RCON password, haha!

Heck, if you really wanna put yourself through the wringer with coding, you could make a whole mod, that is compatible with WorldEdit, where people can share their creations, to allow others to download. Heck, if you really wanna be fancy, you can make it automatically post on the forum, if their Minecraft account was verified and linked with their forum account (which would be easy). It would make it really easy to find awesome builds under a "Build Showcase" category on the forum. If their account is linked (otherwise it'd have to be posted as anonymous, I guess?), they could later come back and add a description and stuff, but just the build itself could be really nice, in my option.

These are just some roughly though out ideas, but since I thought of them, I figured I've give it to you humans to chew on, maybe you like it, maybe it makes you gag, but either way, it could inspire other ideas, that could (also) be great! Even if these ideas don't get done for your project thingy, they are still ideas that could be implemented. I never really checked this forum out, to see if there's a suggestion category. If there isn't, there should be, for the community to help improve ORE.

Sincerely, Ethan!
(I'm so used to writing emails for school, lol)

git backups will grow in size way too much unfortunately. We're already struggling enough with the amount of data we save. Though some way for members to rollback themselves is a good idea, I'll play with some of your ideas. Right now we have daily world backups and coreprotect to record individual block actions. Some infrastructure change I'm planning is making ORE easier to deploy. So the goal is making it a self-contained package that can be installed on a different system with a single script. This will be able to handle backups as well.

Also instant sharing of builds is super interesting, though it will probably be way too big of a project for me tbh. There's a lot of intricacy that needs to be ironed out in order for it to actually be convenient. We'll see. Now downloading builds using WE already exists with schematics. We also have a schems.openredstone.org. It could definitely be better and I'm playing with the idea, but for now it works. Thanks for the feedback!