The reason why screenshots were so uncommon is because there was no screenshot button back then. It was Print Screen and MSPaint all the way.
A real man (or woman) with significant accomplishments is not self-congratulatory because significant accomplishments are selfless in nature. Moreover, these kind of people don't even have time to brag because they're constantly working to improve things non-stop.
I actually have to disagree with this sentiment in afterthought (many hours of programming and development later with it sitting in the back of my mind...), because it actually doesn't apply to indie game devs at all. We are actually some of the most selfish people as developers, because we generally make the game that we want to play, not what the community expects or wants. A self-rewarding labor of love is most assuredly not in itself selfless by nature.
In fact, why did Notch make Minecraft in the first place? Because he wanted to be known as an indie dev of reasonable quality. (Not even expecting it to explode into something too big for him to handle, just something modest to get started with, you know?) His dream was to sit down, make something simple that he personally found fun, and then go make something else that was fun. By his own standards, for himself.
The community of Minecraft at the time did not want to hear from anyone other than Notch. In I waltzed, out of nowhere, with a feature-rich alternative server, and what was the response? "Don't post it or I'll ban you for stealing money from Notch." But I kept working on it for a bit anyway. A significant accomplishment, and entirely selfish, because I personally wanted a server that could provide basic services, administrative and otherwise.
We are selfish people.
(And programmers in particular tend to be quite eccentric little puzzle-solvers.)
Time to brag is a different issue entirely. Notch certainly had time to make a miniature rollercoaster out of minecart tracks and show it off before releasing it. Was that strictly "improving things"? No, it was adding things, and then 'bragging' about it to build hype. On his blog, where he had time to write out every thought he had, every feature he was working on, and get plenty of general reactions. On what strict schedule are we that we don't have time to brag? Even Nintendo's Smash Bros. games are built entirely on Sakurai's teases and bragging about every little thing his team does (and every character he licenses) nowadays, and the hypemachine it makes is glorious. Raising public awareness that you exist and are amazing is half the business here.
The only way to be 'too busy' working is to completely turn a blind eye to everything that is said about you in return. So yeah, when I drop off the face of the planet for months/years at a time, it's because I stopped sitting around talking about how great I am and how great everything I'm doing is, and started actually doing it. Everyone works at their own pace, and not every little idea comes to full fruition.
I like you, VonKupps, and I believe that your reasoning is completely correct and justified.
I always regretted writing the server in Perl because indeed, my Perl was unthreaded and terrible at handling large amounts of data.
I had started writing a new server in C which would accept both Classic clients and Alpha SMP clients, but I didn't manage it in time.
I am well aware of the many flaws of character I had back then, and the somewhat different set of flaws I have now.
I don't even know why I'm here now, really. I guess I just wanted to exist in the public record, since indeed you can google around and find nothing. Now you know what happened, believe it or not, and that's all I could ask for.
Therefore, back to work for me. I'm still programming, it just hasn't been Minecraft related lately.
He may have really done this and the people vouching for him may have actually seen his supposed work, but I haven't, and it's hard for me to garner any information when there isn't any around the internet. Every hard search I do on the OP doesn't bring anything to the table, nor do any hard-points in the OP itself.
So, links to archives of the actual website and original threads AND files all posted within the correct time frame aren't enough for you..? It exists. It is a tangible thing that you can download and inspect, and both its make and features have been verified by so many who were there to witness it. The only thing left to question is why all of this went completely unwritten and undocumented until now, an arbitrary time nearly exactly five years in the future.
If it's real, then I'm sorry if I offend you in any way. But I want more proof, you can use archive.org if some links are dead.
You name it, I'll tell you if it exists and fetch it for you if possible. I doubt the original post of my thread was archived, and it might not even be possible for admins of this forum to retrieve it since the forum software was 'ported over' at some point when Curse acquired it...
The link is (unsurprisingly) dead, because it uses play.jsp.
The first post used to be a giant list of features and requesting people to feed me more ideas to impliment in the thread. because I was bored and uncreative. I reduced it to that after all the drama played out. (Yes, in a stupid fit of childish emotion I tried to hide by simply saying as little as possible.)
Additionally, in the OP we see claims that "Notch never had a problem with it" Whether this is true, it doesn't explain why he would say "Notch gets ed off at me sometimes" which is what the replies in that thread that assumed as much were basing it off of.
Notch was okay with my server. Notch was ed when I took his "skin previewer" applet and hacked it to accept any URL (using a basic hex editor to change literally one string), because the person who needed said hack for their website (minecraftskins.net) wanted to credit me for it. Notch immediately stepped in like "No, no no, I made this, this is MY skin previewer, all JTE did was change one line, you're not allowed to credit JTE for it like JTE made it." So I didn't get any credit for that, which is fine. They're just two entirely separate issues, is all.
The "reverse engineering" part also has the problem that there is no leg to stand on to prove it was in fact a "clean room" reverse engineering. If a person had EVER seen any of the source code or decompiled code for Minecraft, it would not have been a clean-room recreation. And even if it was, since it is a protocol and thus intellectual property that protocol and all implementations fall over the Copyright act and that copyright belongs to Notch/Mojang anyway- being able to create your own implementation using the same protocol does not free you from having to worry about intellectual property laws.
That is absolutely correct. It was not strictly "clean room" (although at the time I had absolutely no idea how to decompile OR deobfuscate Minecraft at all in the first place), nor is that relevant to legality of using the protocol and original client. But it was good enough that Notch personally gave me the go-ahead, and that was enough for me, because at that time he was the only one who mattered.
I cannot find ANY link that actually makes the source available, despite repeated promises, 5 years ago, that it would be made available.
I eventually released a dumbed-down version dubbed the "spleef server" at http://www.echidnatribe.org/Minecraft/spleef-server.zip ... This version of it was stripped of all worldbuilding components and used entirely to host automatically self-scoring self-resetting spleef matches on a tiny map at the top of the world and nothing else. Having sold the server to many people, I felt it would be rude to personally release the full thing to the public, so it only went around by private transfers from server owners to server admins, nothing else. If someone still has a pristine copy laying around, I would not be opposed to them posting it, but it's not even relevant now.
it's a typical teenage self-proclaimed "prodigy" programmer who thinks all his code output is made of gold and that his epic awesomeness has influenced his favourite things. Neither appears to actually be true or have any corroborating evidence.
Evidence exists, in exactly the manner I had described it to exist. My writing may be horribly subjective and self-congratulating, but it's not knowingly false.
I cannot find any other work done by this individual. Just a few slipshod, ancient Minecraft server scripts for which I cannot find any source code to partially confirm any sort of clean-room approach to the protocol. In fact, all I cna find is this thread and the thread I linked. That's it
I've also done work for SRB2 and the original Cave Story English fan community (before that also became a big corporate thing owned by Nicalis). I'm a wandering programmer who helps out in small, fun little game communities where a JTE might be needed.
Asserting that you were somehow pinnacle in the development process of a game during it's early years because people actually regarded you in some position of authority seems to forget that the community was also small and lacking actual talent people tend to idolize those who are able to pretend to have it. Whether this is the case now, I don't know- but it's hard to dismiss the fact that what we have here is a clear one-shot wonder. We have an ancient piece of server software script that doesn't appear to have had any sort of real release- and.... that's it. No later projects. No current projects. No articles, nothing. (the linked thread mentions a "blog" but I can find no reference for that and the thread has no link either)
Yep. I'm just another weird kid who walks in when I have something to show you, and then soon fades back into non-existence.
we have the profile of somebody who is evidently still clinging to this simple thing they did almost 5 years ago- which is in and of itself a bit sad, really.
Yes, it is sad. And I said from the start that I was here for me, not you. This is my release. I will probably never be relevant to Minecraft again. It's time to let go.
Wait, really? It was right in the ??? section at the very bottom, after the whole thing became sectioned... I think it might have been lost when http://www.echidnatribe.org/Minecraft/ was made to redirect to crafting.php, or some other url afterwards, I actually sent a Twitter tweet out about it at some point but that seems to be lost now too. >_<;;
Found it. Scroll to the bottom. Web archive doesn't lie.
And yes, the wiki did eventually get a decent crafting section and my page was no longer needed, so I stopped updating and eventually removed it.
And yes, I am a washed-up nobody who did something easy way back when everything was much simpler, reminiscing on the time when I had any relevance in the world. Is that so wrong?
I'm JTE. I joined Minecraft around nearly the beginning, way back in the Summer of 2009, when Glass Blocks and Sponges were newly implemented and the only server mods for Minecraft were simple Batch file wrappers which would read the server's text output and input bans. It's been five years since then, so please forgive me if the details of this document are a little off, or missing.
With all this eula drama blowing my way, I don't know, I guess I feel the need to write my story down so I can let go of it. I don't expect to get much attention, I'm just here to get my thoughts out.
So let me tell you about Minecraft.
Vanilla pre-Classic
Hosting a vanilla server for Minecraft was some form of Hell. There was a giant list of all public servers which anyone could use to join, absolutely no form of hack detection/prevention, no automatic map backups, and all free accounts could join and grief the extremely limited area of your map to death at any time. The most basic of gameplay building blocks were there, but that was it.
In order to manage it properly, I had to build a convoluted player trap out of bedrock I called the "frying pan" just so I could keep people from wandering off to destroy things before I got the chance to fly over and keep an eye on them. This was actually common practice at the time, and served essentially the same function as whitelisted servers.
One of the flaws of Minecraft at this point was that if a player were to walk one block away, place two blocks down where they spawned, and then hit the respawn button, it would spawn them on top of wherever they were, allowing them to break out and escape. So I had a hive of one-block-wide spaces built on top of the 'frying pan' where players who tried to break out without asking nicely would wind up trapped, essentially putting them out of the frying pan and into the fire.
The dawn of mods
Being the tinkerer I am, and knowing that indie games like to keep things nice and simple, I soon created an intermediary server Perl script, to act as a proxy between my client and my server, and set to work figuring out all of the messages passed back and forth between them. My proxy server was quickly able to perform simple modifications, such as reading slash commands (including /me), spawning idle player dummies all around the map, or allowing the placement of coal and gold ores, and even liquids.
So now we could not only build with blocks, but we could build little blockmobiles on our roads and then sit actual player characters inside them. Neat. But there was more to be done!
Using the proxy server, and with help from another early modder's research, I eventually compiled documentation of the complete networking protocol now publicly available for Minecraft Classic servers. Armed with this private research, and over the course of 26 sleepless hours, I turned my Perl script into a fully fledged Minecraft server, which could generate maps, accept any number of clients, automatically detect hackers, allow the in-place painting of blocks (and other creative tools), build trees by placing a single block (before saplings had function), and even produce custom water and lava block 'physics'. I was even able to, astonishingly enough, trick clients into re-downloading the map from the server, and therefore could host multiple maps on a single server or reload maps from the last backup on the fly. (Now we could play Spleef without having to rebuild!)
All without looking at, modifying, or compromosing any of Notch's code. Notch agreed that my server software is entirely my own creation, and I am free to do with it anything that I please.
On the forums, these very forums before they were handed over to Curse, I was heralded as the "Minecraft Hacking God" for a day or two. All of my changes were big improvements to the core function and gameplay of Minecraft itself. Even the fact that I built in a safety switch to prevent the flood of lava covering the entire server from making the server eventually freeze over near-indefinitely from the exponential growth of 'thinking' blocks was a big thing. Notch himself came to my server from IRC and flooded it with lava just to ascertain exactly how well it handles. (Answer: Not particularly well, but at least it didn't die completely and admins were still able to simply reload the map without disconnecting anyone, right?)
Back then, Notch arbitrarily had a golden name hanging over his head, being a VIP and all. I was jealous, so I invented colored names for different tiers of server moderators / administrators, the server owner (me) being colored Red (my favorite color), just so I can feel special. (The reality was that admins of my server could set their name to literally anything, at any time, on the fly, color code spam and all.) If you were ever on a Minecraft server and the server admins have red names -- I started that. Notch even went and specifically made the skin-grabbing code strip colorcodes out so that it would still show the correct skin despite having a colorful nametag in the next version.
Leaving the forum
And then I announced that I planned to add fancy new game modes to my server, so you could play a giant boardgame of Battleship with Minecraft blocks for pieces, or Zombie Tag versus like mods of other games do, and so on. The moderator Zuriki didn't like that idea, and immediately did a 180, revoking my custom forum title, and even threatening to ban me from the forums entirely should my server software ever be released there (for free and open-source or otherwise). After a lengthy and childish argument, wherein Zuriki claimed I would be "stealing money from Notch", and when finding my server software was 'production ready', I simply packed up my topic and left, dropping only my email address for anyone to contact me if they want it.
Here's where my story gets muddled, people thinking that I was fighting with Notch directly despite Notch previously stating outright that I am free to do anything I like with my server software in the first place. So I made use of that and started privately selling my server software to individual buyers for around $10 each, entirely by email, advertised solely by word of mouth. I only made around 14 sales out of that, before my server started spreading like wildfire, as each server admin shared the source code with their friends to try and program new features into it together, and those people freely shared it with more people, and so on until the market was entirely saturated. I did of course use the first bit of money to pay for my Minecraft account (which at the time, offered no benefits other than a custom skin) and the rest went to a couple Steam games and buying three more Minecraft accounts for my friends. This was the first and only time I've ever been paid for anything I programmed.
Anyway, among all of this open source server sharing (after all, it would be difficult and pointless to make a Perl script closed-source), all sorts of new game modes and life cropped up. Lava survival servers, floating water stairway challenges, I was quickly changing the very community itself by allowing the first real modding to take place. JTE servers were the best. And soon it was being replicated in other languages like Python, the same tools I pioneered becoming further expanded on with spout blocks, finite water systems, and the ability for players to cross between the server's maps individually. Now everyone could have their own sandbox to play in, and challenge packs could contain multiple "levels"...
Survival Test, indev, infdev, and Alpha
Meanwhile, Minecraft had been progressing seperately, having destroyed its basic multiplayer (and probably most of its engine) to introduce NPC creatures, zombies, pigs, and so on. With the account that I purchased, I was able to follow it all, every step of the way, from the beginning, and just sort of watch how it progressed. Since there was no networking in these versions, I didn't have much work to do, and just sort of kept my silence. Seeing Notch struggle with some of this, I offered to let me help him with programming, but he turned me down, saying he needed Minecraft to "get his name out there" first. He said that maybe he'll let me work with him on his next game, after Minecraft. (Then he went and hired someone else to be a 3D model artist, and then finally established the entire company Mojang around the success and continued development of Minecraft..)
When crafting was introduced, I made the first full recipe list graphical crafting page on my website at the time, EchidnaTribe.org
By using in-game sprites and GUI elements entirely ripped from screenshots with basic image editing software, I was able to show not only how to build every tool, but even which mobs drop what resources and how to smelt for iron. At the very bottom of the list, as a sort of in-joke, since Notch had recently removed the test Apple item from existance, I put that you need to kill Notch in order to get apples. Then right next to it, since apples still needed a use, I put that if you surround an apple with gold ingots (not blocks) you would get a golden apple.
I invented the Golden Apple, guys. (Proof, scroll down to the bottom of the page under the ??? section.)
When Secret Friday Updates rolled around, Notch loved randomly implimenting "community rumors" as actual features of the game to tease and delight everyone, based on what he heard secondhand. This is how pig saddles came to be, among other things, and to this day if you look in the source code you can see that any player named Notch will have a random chance of dropping apples, even if he had none in his inventory.
SMP
Finally, when the multiplayer mode of Alpha came out, long after scrapping nearly everything of the engine and remaking it for infinitely large worlds (a move I always felt was tremendously unnecessary and poorly implimented), it was full of bugs and problems, and split the entire community in half at the price-point, now allowing paid accounts for full servers that free accounts could no longer access. Time once again for JTE to come out and introduce things like persistent inventories and time of day locks and alternate map generators and whatnot, right? Well, not quite...
At this point, Notch kept changing up the network protocol faster than I could descipher it on my own, and this time I didn't have a random stranger leap out at me and hand me a half-finished document I could just fill in the blanks for or anything. With every new version, the client would just start crashing blatantly from the messages my server sent, and eventually I just gave up trying. Nowadays there's even full-on SSL-like encryption going on in Minecraft's networking, not just the hassle of HTTP logins to deal with.
I still have it sitting on my harddrive -- the half-finished OmniServer meant to bridge the gap between all Minecraft versions, be they Classic, Alpha SMP, or a new custom client written from scratch, with its finitely sized Classic-mode maps and day-lock in Alpha and infinitely-large segmented maps implimented in Classic, made to host all kinds of creative new arcade-like NPC-driven minigames I have a design document of, sitting forever in stasis now... It's a shame that never came to pass.
Present
I'm sure you all know what happened next. Modders started de-obfuscating the client and server's source code and making amazing new add-on packages of blocks and game mechanics, directly implimented into the server and/or client, basically all hell broke loose and the community stance on modding had shifted entirely from where it was when I introduced my little server way back when. Even before Alpha SMP was out, people were modding the Survival Test client to connect to Classic servers and spawn client-side zombies anyway.
So now we have an army of deobfuscaters, coders, and inter-dependant modders all keeping up with an endless update treadmill, because Notch never made a proper modding system for Minecraft and continued to re-obfuscate every single build because it's not a free open-source software and never has been. The community has long outgrown me, as well as the morality that drives me. In fact, the community outgrew Notch, and now it's threatening to try and overthrow Mojang as well.
Such is the modding momentum we have built from that point long ago. It all started with one awesome wandering programmer's tiny server script.
Resources:
The original JTE server distribution files, untouched since 2009 (and probably no longer functional)
The proxy tool I wrote and used to figure out the network protocol, including the original output logs.
more pre-alpha screenshots
Instead of having cats die outright when killed by monsters (if this is jarring to people and your other solution is to make cats 'invisible'), why not make tamed cats go into a sleep-like state and be "injured" when they're killed, and let the players have a chance to remove the threat and help the cat recover with food or something?
They'll die/despawn if you leave them in injured state for too long, and even though things don't target them anymore they can still be killed in the crossfire (missed arrows, explosions), as if it's just an extra 5 hearts or something... But it's better than just *poof* Gone forever.
There's this thing called bukkit, that most decent servers use. And, with it, you can do this command "/time"...
There's this thing called beds, that all vanilla servers now have as an official Minecraft addition. And, it exists, because there are stupid people who would constantly spam "/time"...
Because nobody even bothered writing a simple plugin for bukkit to just have night instantly loop around to day time the moment the sun starts to set if you're gonna play like that. :smile.gif:
Now, most decent servers would not let EVERYONE have access to "/time", would they? No, it would be a war of people constantly flipping it back between day and night haphazardly or otherwise become frustrating and stupid, as well as laggy as all the blocks change their light levels repeatedly.
Do you suppose I should only ever play on a server when there's an admin around to /time to day whenever someone's too busy to go to sleep? Is that really the best solution to you? Personally, I'm a miner, and a fighter, and I don't care what time of day it is. So everyone goes to bed and starts spamming "Zzzz..." in the chat to let everyone ELSE know that they're "not the one holding the game in night". It gets stupid and redundant.
But I have no complaints of the people. This isn't a whining thread. This is a reasonable suggestion of something that happens autonomously, nothing to be offered a popular third party workaround.
Quote from Naithal »
So you don't notice the abrupt change in color of the distance fog.
I wasn't aware that the distance fog underground changed color as well, usually I can't see that far due to darkness and walls... But yes, I suppose you're right, there could be some noticeable change after all.
It's not impossible. It only needs to be checked ONCE whenever someone goes to bed, not constantly or anything like that. Want a step by step? Okay.
[*:2zhmphi1]Take the area around a relevant player. Just a simple sphere will do, the same kind that digs caves. If you want to get fancy, take a general perspective from the player's view cone instead, stopping the check at any hidden surfaces. It should be limited to a relatively short area, regardless.
[*:2zhmphi1]Run a non-visual sunlight check on an area a few blocks larger than the scan to see if any of those blocks which are part of the scan would be affected by sunlight. (Even if they wouldn't be changed due to lightstone or flaming netherrack under a tree or something, the sunlight still TOUCHES it. The extra few blocks is so light can seep in from nearby blocks, naturally.)
[*:2zhmphi1]If so, stop checking there: You've found someone that's holding the game in night. Otherwise, repeat until all players have been checked.
This check can also be set on a timer so it only occurs once every five seconds or so, such that players who are going to bed near-simultaneously don't cause it to re-check players who haven't moved relatively far. Just count out the players who go to bed from the results of the previous scan.
How so? So you don't notice your watch skip? It wouldn't be nice to be running from a creeper and just suddenly black out only to wake up again with it standing right in front of you, you know.
Okay I've seen a lot of threads about how beds can be improved, but here's a different idea, for multiplayer ONLY.
The more people who are on a server, the harder it is to coordinate everyone to be laying in bed exactly at the same time, right? And a lot of them are gonna be busy doing other things, like mining deep underground, where it wouldn't affect them anyway.
You see that? You're in a natural cave, deep underground, mining up diamonds and gold: Day or night doesn't matter to you, because you can only see torchlight. THEREFORE, my suggestion is: People who can't see natural sunlight shouldn't need to sleep in order for beds to work for the time skip, since it doesn't affect them anyway.
This isn't to say that if everyone's in a cave it should just always be daytime, but rather that it should be calculated, whenever someone "goes to bed", if everyone else is either already in bed OR outside of areas that would be affected by natural sunlight, it should skip to day. The people building outside still need to go inside to rest, so it's not a jarring transition for anyone.
If no one's mentioned it, the betterlighting looks AWESOME, and the only thing that seems 'too dark' about it is the edges of walls and corners. The effect is that it seems to be doing its job correctly: Fading to the light level of the block next to it.
But the blocks inside walls happen to be completely black. That's why all those lighting bugs in multiplayer end up being pitch black blocks which shouldn't be.
A simple solution would be to not fade to those 0 unless your block's light level is already 1 or something.
A more appropriate complete solution might be to check if the block above/next to/below it (parallel to fade direction) is air/liquid, and if not, fade to that block's corner instead. But that's messy, might cause more lag/issues, etc.
It's all so wonderful, though. I don't even mind.
EDIT: Wait, or is it supposed to do that? Is that part of the ambient occlusion thing? Seems kinda crazy to me. I can't use it because it makes it soo hard to tell the light level in caves, where there are a lot of edges like that, and if I put a torch in a boxed in corner it hardly even lights up at all... @[email protected];
1
I actually have to disagree with this sentiment in afterthought (many hours of programming and development later with it sitting in the back of my mind...), because it actually doesn't apply to indie game devs at all. We are actually some of the most selfish people as developers, because we generally make the game that we want to play, not what the community expects or wants.
In fact, why did Notch make Minecraft in the first place? Because he wanted to be known as an indie dev of reasonable quality. (Not even expecting it to explode into something too big for him to handle, just something modest to get started with, you know?) His dream was to sit down, make something simple that he personally found fun, and then go make something else that was fun. By his own standards, for himself.
The community of Minecraft at the time did not want to hear from anyone other than Notch. In I waltzed, out of nowhere, with a feature-rich alternative server, and what was the response? "Don't post it or I'll ban you for stealing money from Notch." But I kept working on it for a bit anyway. A significant accomplishment, and entirely selfish, because I personally wanted a server that could provide basic services, administrative and otherwise.
We are selfish people.
(And programmers in particular tend to be quite eccentric little puzzle-solvers.)
Time to brag is a different issue entirely. Notch certainly had time to make a miniature rollercoaster out of minecart tracks and show it off before releasing it. Was that strictly "improving things"? No, it was adding things, and then 'bragging' about it to build hype. On his blog, where he had time to write out every thought he had, every feature he was working on, and get plenty of general reactions. On what strict schedule are we that we don't have time to brag? Even Nintendo's Smash Bros. games are built entirely on Sakurai's teases and bragging about every little thing his team does (and every character he licenses) nowadays, and the hypemachine it makes is glorious. Raising public awareness that you exist and are amazing is half the business here.
The only way to be 'too busy' working is to completely turn a blind eye to everything that is said about you in return. So yeah, when I drop off the face of the planet for months/years at a time, it's because I stopped sitting around talking about how great I am and how great everything I'm doing is, and started actually doing it.
0
I always regretted writing the server in Perl because indeed, my Perl was unthreaded and terrible at handling large amounts of data.
I had started writing a new server in C which would accept both Classic clients and Alpha SMP clients, but I didn't manage it in time.
I am well aware of the many flaws of character I had back then, and the somewhat different set of flaws I have now.
I don't even know why I'm here now, really. I guess I just wanted to exist in the public record, since indeed you can google around and find nothing. Now you know what happened, believe it or not, and that's all I could ask for.
Therefore, back to work for me. I'm still programming, it just hasn't been Minecraft related lately.
0
So, links to archives of the actual website and original threads AND files all posted within the correct time frame aren't enough for you..? It exists. It is a tangible thing that you can download and inspect, and both its make and features have been verified by so many who were there to witness it. The only thing left to question is why all of this went completely unwritten and undocumented until now, an arbitrary time nearly exactly five years in the future.
0
But it's real.
0
0
Yeah, I was five years less mature back then, and I'm only five years more mature now.
Notch was okay with my server. Notch was ed when I took his "skin previewer" applet and hacked it to accept any URL (using a basic hex editor to change literally one string), because the person who needed said hack for their website (minecraftskins.net) wanted to credit me for it. Notch immediately stepped in like "No, no no, I made this, this is MY skin previewer, all JTE did was change one line, you're not allowed to credit JTE for it like JTE made it." So I didn't get any credit for that, which is fine. They're just two entirely separate issues, is all.
That is absolutely correct. It was not strictly "clean room" (although at the time I had absolutely no idea how to decompile OR deobfuscate Minecraft at all in the first place), nor is that relevant to legality of using the protocol and original client. But it was good enough that Notch personally gave me the go-ahead, and that was enough for me, because at that time he was the only one who mattered.
I eventually released a dumbed-down version dubbed the "spleef server" at http://www.echidnatribe.org/Minecraft/spleef-server.zip ... This version of it was stripped of all worldbuilding components and used entirely to host automatically self-scoring self-resetting spleef matches on a tiny map at the top of the world and nothing else. Having sold the server to many people, I felt it would be rude to personally release the full thing to the public, so it only went around by private transfers from server owners to server admins, nothing else. If someone still has a pristine copy laying around, I would not be opposed to them posting it, but it's not even relevant now.
Evidence exists, in exactly the manner I had described it to exist.
I've also done work for SRB2 and the original Cave Story English fan community (before that also became a big corporate thing owned by Nicalis). I'm a wandering programmer who helps out in small, fun little game communities where a JTE might be needed.
Yep. I'm just another weird kid who walks in when I have something to show you, and then soon fades back into non-existence.
Yes, it is sad. And I said from the start that I was here for me, not you. This is my release. I will probably never be relevant to Minecraft again. It's time to let go.
0
Well that's embarassing.
Edit:
http://web.archive.org/web/query?q=wayback_server:40 type:urlquery url:http%3A%2F%2Fwww.echidnatribe.org%2FMinecraft%2Fimg%2Fitems%2Fgoldapple.png&count=150000&start_page=1
The golden apple image is there, now where was it used...
Edit2:
2010-02-23
Found it. Scroll to the bottom. Web archive doesn't lie.
And yes, the wiki did eventually get a decent crafting section and my page was no longer needed, so I stopped updating and eventually removed it.
And yes, I am a washed-up nobody who did something easy way back when everything was much simpler, reminiscing on the time when I had any relevance in the world. Is that so wrong?
65
I'm JTE. I joined Minecraft around nearly the beginning, way back in the Summer of 2009, when Glass Blocks and Sponges were newly implemented and the only server mods for Minecraft were simple Batch file wrappers which would read the server's text output and input bans. It's been five years since then, so please forgive me if the details of this document are a little off, or missing.



With all this eula drama blowing my way, I don't know, I guess I feel the need to write my story down so I can let go of it. I don't expect to get much attention, I'm just here to get my thoughts out.
So let me tell you about Minecraft.
Vanilla pre-Classic
Hosting a vanilla server for Minecraft was some form of Hell. There was a giant list of all public servers which anyone could use to join, absolutely no form of hack detection/prevention, no automatic map backups, and all free accounts could join and grief the extremely limited area of your map to death at any time. The most basic of gameplay building blocks were there, but that was it.
In order to manage it properly, I had to build a convoluted player trap out of bedrock I called the "frying pan" just so I could keep people from wandering off to destroy things before I got the chance to fly over and keep an eye on them. This was actually common practice at the time, and served essentially the same function as whitelisted servers.
One of the flaws of Minecraft at this point was that if a player were to walk one block away, place two blocks down where they spawned, and then hit the respawn button, it would spawn them on top of wherever they were, allowing them to break out and escape. So I had a hive of one-block-wide spaces built on top of the 'frying pan' where players who tried to break out without asking nicely would wind up trapped, essentially putting them out of the frying pan and into the fire.
The dawn of mods
Being the tinkerer I am, and knowing that indie games like to keep things nice and simple, I soon created an intermediary server Perl script, to act as a proxy between my client and my server, and set to work figuring out all of the messages passed back and forth between them. My proxy server was quickly able to perform simple modifications, such as reading slash commands (including /me), spawning idle player dummies all around the map, or allowing the placement of coal and gold ores, and even liquids.
So now we could not only build with blocks, but we could build little blockmobiles on our roads and then sit actual player characters inside them. Neat. But there was more to be done!
Using the proxy server, and with help from another early modder's research, I eventually compiled documentation of the complete networking protocol now publicly available for Minecraft Classic servers. Armed with this private research, and over the course of 26 sleepless hours, I turned my Perl script into a fully fledged Minecraft server, which could generate maps, accept any number of clients, automatically detect hackers, allow the in-place painting of blocks (and other creative tools), build trees by placing a single block (before saplings had function), and even produce custom water and lava block 'physics'. I was even able to, astonishingly enough, trick clients into re-downloading the map from the server, and therefore could host multiple maps on a single server or reload maps from the last backup on the fly. (Now we could play Spleef without having to rebuild!)
All without looking at, modifying, or compromosing any of Notch's code. Notch agreed that my server software is entirely my own creation, and I am free to do with it anything that I please.
On the forums, these very forums before they were handed over to Curse, I was heralded as the "Minecraft Hacking God" for a day or two. All of my changes were big improvements to the core function and gameplay of Minecraft itself. Even the fact that I built in a safety switch to prevent the flood of lava covering the entire server from making the server eventually freeze over near-indefinitely from the exponential growth of 'thinking' blocks was a big thing. Notch himself came to my server from IRC and flooded it with lava just to ascertain exactly how well it handles. (Answer: Not particularly well, but at least it didn't die completely and admins were still able to simply reload the map without disconnecting anyone, right?)
( thread )
Back then, Notch arbitrarily had a golden name hanging over his head, being a VIP and all. I was jealous, so I invented colored names for different tiers of server moderators / administrators, the server owner (me) being colored Red (my favorite color), just so I can feel special. (The reality was that admins of my server could set their name to literally anything, at any time, on the fly, color code spam and all.) If you were ever on a Minecraft server and the server admins have red names -- I started that. Notch even went and specifically made the skin-grabbing code strip colorcodes out so that it would still show the correct skin despite having a colorful nametag in the next version.
Leaving the forum
And then I announced that I planned to add fancy new game modes to my server, so you could play a giant boardgame of Battleship with Minecraft blocks for pieces, or Zombie Tag versus like mods of other games do, and so on. The moderator Zuriki didn't like that idea, and immediately did a 180, revoking my custom forum title, and even threatening to ban me from the forums entirely should my server software ever be released there (for free and open-source or otherwise). After a lengthy and childish argument, wherein Zuriki claimed I would be "stealing money from Notch", and when finding my server software was 'production ready', I simply packed up my topic and left, dropping only my email address for anyone to contact me if they want it.
Here's where my story gets muddled, people thinking that I was fighting with Notch directly despite Notch previously stating outright that I am free to do anything I like with my server software in the first place. So I made use of that and started privately selling my server software to individual buyers for around $10 each, entirely by email, advertised solely by word of mouth. I only made around 14 sales out of that, before my server started spreading like wildfire, as each server admin shared the source code with their friends to try and program new features into it together, and those people freely shared it with more people, and so on until the market was entirely saturated. I did of course use the first bit of money to pay for my Minecraft account (which at the time, offered no benefits other than a custom skin) and the rest went to a couple Steam games and buying three more Minecraft accounts for my friends. This was the first and only time I've ever been paid for anything I programmed.
Anyway, among all of this open source server sharing (after all, it would be difficult and pointless to make a Perl script closed-source), all sorts of new game modes and life cropped up. Lava survival servers, floating water stairway challenges, I was quickly changing the very community itself by allowing the first real modding to take place. JTE servers were the best. And soon it was being replicated in other languages like Python, the same tools I pioneered becoming further expanded on with spout blocks, finite water systems, and the ability for players to cross between the server's maps individually. Now everyone could have their own sandbox to play in, and challenge packs could contain multiple "levels"...
Survival Test, indev, infdev, and Alpha
Meanwhile, Minecraft had been progressing seperately, having destroyed its basic multiplayer (and probably most of its engine) to introduce NPC creatures, zombies, pigs, and so on. With the account that I purchased, I was able to follow it all, every step of the way, from the beginning, and just sort of watch how it progressed. Since there was no networking in these versions, I didn't have much work to do, and just sort of kept my silence. Seeing Notch struggle with some of this, I offered to let me help him with programming, but he turned me down, saying he needed Minecraft to "get his name out there" first. He said that maybe he'll let me work with him on his next game, after Minecraft. (Then he went and hired someone else to be a 3D model artist, and then finally established the entire company Mojang around the success and continued development of Minecraft..)
When crafting was introduced, I made the first full recipe list graphical crafting page on my website at the time, EchidnaTribe.org
By using in-game sprites and GUI elements entirely ripped from screenshots with basic image editing software, I was able to show not only how to build every tool, but even which mobs drop what resources and how to smelt for iron. At the very bottom of the list, as a sort of in-joke, since Notch had recently removed the test Apple item from existance, I put that you need to kill Notch in order to get apples. Then right next to it, since apples still needed a use, I put that if you surround an apple with gold ingots (not blocks) you would get a golden apple.
I invented the Golden Apple, guys. (Proof, scroll down to the bottom of the page under the ??? section.)
When Secret Friday Updates rolled around, Notch loved randomly implimenting "community rumors" as actual features of the game to tease and delight everyone, based on what he heard secondhand. This is how pig saddles came to be, among other things, and to this day if you look in the source code you can see that any player named Notch will have a random chance of dropping apples, even if he had none in his inventory.
SMP
Finally, when the multiplayer mode of Alpha came out, long after scrapping nearly everything of the engine and remaking it for infinitely large worlds (a move I always felt was tremendously unnecessary and poorly implimented), it was full of bugs and problems, and split the entire community in half at the price-point, now allowing paid accounts for full servers that free accounts could no longer access. Time once again for JTE to come out and introduce things like persistent inventories and time of day locks and alternate map generators and whatnot, right? Well, not quite...
At this point, Notch kept changing up the network protocol faster than I could descipher it on my own, and this time I didn't have a random stranger leap out at me and hand me a half-finished document I could just fill in the blanks for or anything. With every new version, the client would just start crashing blatantly from the messages my server sent, and eventually I just gave up trying. Nowadays there's even full-on SSL-like encryption going on in Minecraft's networking, not just the hassle of HTTP logins to deal with.
I still have it sitting on my harddrive -- the half-finished OmniServer meant to bridge the gap between all Minecraft versions, be they Classic, Alpha SMP, or a new custom client written from scratch, with its finitely sized Classic-mode maps and day-lock in Alpha and infinitely-large segmented maps implimented in Classic, made to host all kinds of creative new arcade-like NPC-driven minigames I have a design document of, sitting forever in stasis now... It's a shame that never came to pass.
Present
I'm sure you all know what happened next. Modders started de-obfuscating the client and server's source code and making amazing new add-on packages of blocks and game mechanics, directly implimented into the server and/or client, basically all hell broke loose and the community stance on modding had shifted entirely from where it was when I introduced my little server way back when. Even before Alpha SMP was out, people were modding the Survival Test client to connect to Classic servers and spawn client-side zombies anyway.
So now we have an army of deobfuscaters, coders, and inter-dependant modders all keeping up with an endless update treadmill, because Notch never made a proper modding system for Minecraft and continued to re-obfuscate every single build because it's not a free open-source software and never has been. The community has long outgrown me, as well as the morality that drives me. In fact, the community outgrew Notch, and now it's threatening to try and overthrow Mojang as well.
Such is the modding momentum we have built from that point long ago. It all started with one awesome wandering programmer's tiny server script.
Resources:
The original JTE server distribution files, untouched since 2009 (and probably no longer functional)
The proxy tool I wrote and used to figure out the network protocol, including the original output logs.
more pre-alpha screenshots
Additional reading:
"How Blocktopia Started", history of TheOne's JTE server.
The original "JTE's 100% Custom from-scratch Minecraft Server" thread. Ancient drama, immature mannerisms, and all.
JTE's Custom Spleef Server thread, the dumbed-down and closed-source release of the server software set up for a specific limited purpose.
1
0
They'll die/despawn if you leave them in injured state for too long, and even though things don't target them anymore they can still be killed in the crossfire (missed arrows, explosions), as if it's just an extra 5 hearts or something... But it's better than just *poof* Gone forever.
0
There's this thing called beds, that all vanilla servers now have as an official Minecraft addition. And, it exists, because there are stupid people who would constantly spam "/time"...
Because nobody even bothered writing a simple plugin for bukkit to just have night instantly loop around to day time the moment the sun starts to set if you're gonna play like that. :smile.gif:
Now, most decent servers would not let EVERYONE have access to "/time", would they? No, it would be a war of people constantly flipping it back between day and night haphazardly or otherwise become frustrating and stupid, as well as laggy as all the blocks change their light levels repeatedly.
Do you suppose I should only ever play on a server when there's an admin around to /time to day whenever someone's too busy to go to sleep? Is that really the best solution to you? Personally, I'm a miner, and a fighter, and I don't care what time of day it is. So everyone goes to bed and starts spamming "Zzzz..." in the chat to let everyone ELSE know that they're "not the one holding the game in night". It gets stupid and redundant.
But I have no complaints of the people. This isn't a whining thread. This is a reasonable suggestion of something that happens autonomously, nothing to be offered a popular third party workaround.
I wasn't aware that the distance fog underground changed color as well, usually I can't see that far due to darkness and walls... But yes, I suppose you're right, there could be some noticeable change after all.
0
[*:2zhmphi1]Take the area around a relevant player. Just a simple sphere will do, the same kind that digs caves. If you want to get fancy, take a general perspective from the player's view cone instead, stopping the check at any hidden surfaces. It should be limited to a relatively short area, regardless.
[*:2zhmphi1]Run a non-visual sunlight check on an area a few blocks larger than the scan to see if any of those blocks which are part of the scan would be affected by sunlight. (Even if they wouldn't be changed due to lightstone or flaming netherrack under a tree or something, the sunlight still TOUCHES it. The extra few blocks is so light can seep in from nearby blocks, naturally.)
[*:2zhmphi1]If so, stop checking there: You've found someone that's holding the game in night. Otherwise, repeat until all players have been checked.
This check can also be set on a timer so it only occurs once every five seconds or so, such that players who are going to bed near-simultaneously don't cause it to re-check players who haven't moved relatively far. Just count out the players who go to bed from the results of the previous scan.
0
0
The more people who are on a server, the harder it is to coordinate everyone to be laying in bed exactly at the same time, right? And a lot of them are gonna be busy doing other things, like mining deep underground, where it wouldn't affect them anyway.
You see that? You're in a natural cave, deep underground, mining up diamonds and gold: Day or night doesn't matter to you, because you can only see torchlight. THEREFORE, my suggestion is: People who can't see natural sunlight shouldn't need to sleep in order for beds to work for the time skip, since it doesn't affect them anyway.
This isn't to say that if everyone's in a cave it should just always be daytime, but rather that it should be calculated, whenever someone "goes to bed", if everyone else is either already in bed OR outside of areas that would be affected by natural sunlight, it should skip to day. The people building outside still need to go inside to rest, so it's not a jarring transition for anyone.
0
But the blocks inside walls happen to be completely black. That's why all those lighting bugs in multiplayer end up being pitch black blocks which shouldn't be.
A simple solution would be to not fade to those 0 unless your block's light level is already 1 or something.
A more appropriate complete solution might be to check if the block above/next to/below it (parallel to fade direction) is air/liquid, and if not, fade to that block's corner instead. But that's messy, might cause more lag/issues, etc.
It's all so wonderful, though. I don't even mind.
EDIT: Wait, or is it supposed to do that? Is that part of the ambient occlusion thing? Seems kinda crazy to me. I can't use it because it makes it soo hard to tell the light level in caves, where there are a lot of edges like that, and if I put a torch in a boxed in corner it hardly even lights up at all... @[email protected];