LanTORN is a shameless rip-off of DoctorN, which is now abandonware. I hope to use this thread to get an idea what the most common functionalities of DoctorN you use, so that I can get a beta release out in the next week or two. If there's a feature you absolutely CAN'T live without, let me know here.
Development on this project is suspended due to drama on the 2nd page. I'll work for this community, but I won't do it if that means ya'll are just going to shit on me.
Irivi told me I did this next part wrong. Apparently the right thing to do is to take every fifth word (00001) and descrable OFRELATEDCOURSEMOST... to PROVIDE THE COURSE NUMBER... (remember, ignore the 13th word.)
I just brute forced it by figuring out that Section 2 was the scrambled equation for aerobic respiration (glucose + oxygen -> water + carbon dioxide). So, provide the course number most closely related to aerobic respiration? I went with HAF2104. Aerobics. I think that's probably the technically wrong answer but I've spent two weeks doing fake cryptography on an online game's forum and I'm not about to start reading the syllabi for fake online classes in that game to figure out which one talks about mitosis :)
So now we have our last three ciphers, Binary, Bacon, Readable; and our first three ciphers, Enigma, Adjustment, Caeser. The middle link... the "HIDDEN CIPHER". It's alphanumeric substitution A=1, Z=26.
At this point we have the following Enigma decoded, pope code inserted, caeser shift rotated codes:
SECTION 1: CGREHOSIJGUIIHHFCIRCCC Y EDH XCDHCIFE DEGO BHII OGCCCRWFNEGFFLZHJCJBIEFDFPR
SECTION 2: IC EBIC I DMHCFBIEEGILIHFFDFFGCXRHDY FDI CC D UF EUEIC DLQI B
And that's where I got stuck again. I was almost positive I had the whole cipher list, in order, start to finish, so I pitched my progress to irivi along with my plans to solve it. He pointed out that I had mis-shifted one of my letters. Oops. This game was unforgiving - an early mistake, you'll never catch it and you'll never solve the puzzle. But I was basically there.
Section 1, when converting every letter to a number and removing the spaces, gives you 37185815199107219988639183330250548024348396850457150289901573331823614576612268103102956461618. Convert this number to binary and you get
I've been doing ciphers basically my whole life. As a kid, I did the newspaper crypto. When I was in my teens, I played "hacking" games where someone would set up a server and leave vulnerabilities for people to find. A lot of the time, in part of these games, you'd find a text file encrypted with some classical cipher or something (so that, unlike SHA-256 or whatever, it's ACTUALLY SOLVABLE). Anyway, I've been doing puzzles like this a while, and this is easily one of the most complex ones I've ever attempted.
When I first read this, I recognized the Enigma cipher immediately from "the road to Wazenlage." After keying into this word, I parsed through the rest of the Enigma hints to find the Grundstellung, Ringstellung, and Steckerbrett keys. This was actually really, really simple. It's hard to code german words into text and make it sound natural. I also found the LUFTWAFFE reference (first letter of each line of the poem) and knew that I-J/U-V were references to a Bacon cipher. After identifying these two ciphers, I figured out that "Shakespeare" (conveniently marked with quotes) referred to Bacon himself!
And that's where I got stuck for a couple of days. Then someone asked irivi a question and he said "every paragraph is important" and "there are at least 5 ciphers." Oh, shit. That kicked me off on hunting for five ciphers. I piddled around with a lot of ideas - route ciphers, box cipher (6 B.C. - surely a Box Cipher with a width 6!), ultimately working my way both forwards and backwards to a middle ground.
I knew from the hint that the "last thing you'll see before you get readable words" is a Bacon cipher. Bacon cipher is a "display" cipher - its not really encoded, it's just displayed in a way that isn't obvious. The only way these ciphers could play out into a Bacon at the end is binary. That gave me the last three steps: Readable Text < Bacon Cipher < Binary.
Next, I cracked the Enigma and the Quill Code. Running Section 2 through Enigma with the correct settings (Wazenlage, 3 rotor, stecker A-B, C-D; actually the default settings at dcode.fr's Enigma decryptor) gave me the code:
I KHOI O... matches the Quill Code from the pope's letter, so the key here was figuring out what to do with this. I tried a lot of things, but it turns out, you just add spaces where they are in the Quill.
OI KHOI O JSNILHOKKMORONLLJLLMIDXNJE LJO II J AL KAKOI JRWO H
Then I rotated this string with Caeser Shift Cipher, power 6, revealing:
IC EBIC I DMHCFBIEEGILIHFFDFFGCXRHDY FDI CC D UF EUEIC DLQI B
The order //actually// changes for Section 1. Instead of opening with Enigma -> Replacement -> Caeser, you go Enigma -> Caeser -> Replacement.
This presumes that the newbie faction is trying to earn respect as fast as possible by chaining, whereas the vast majority of factions will pick up and hold an easy territory first, often for months, just soaking up that respect. If chaining was more efficient, it would only affect the min-maxers trying to grow their faction at breakneck speed. That's when you run up against issues with one of the earlier points you made, that it's hard to organize a group of newbies to do a chain.
In total theory, though, and fitting with common game design practices, yes, earlier chains should unlock faster than later chains.
My MLB season bet has been up since April and closes next month. Now it's refunded with nothing to show for it? I guess if the decision came straight from Chedburn it's sort of a "If you don't like it, quit playing" type deal, am I right?
Irivi told me I did this next part wrong. Apparently the right thing to do is to take every fifth word (00001) and descrable OFRELATEDCOURSEMOST... to PROVIDE THE COURSE NUMBER... (remember, ignore the 13th word.)
I just brute forced it by figuring out that Section 2 was the scrambled equation for aerobic respiration (glucose + oxygen -> water + carbon dioxide). So, provide the course number most closely related to aerobic respiration? I went with HAF2104. Aerobics. I think that's probably the technically wrong answer but I've spent two weeks doing fake cryptography on an online game's forum and I'm not about to start reading the syllabi for fake online classes in that game to figure out which one talks about mitosis :)
So now we have our last three ciphers, Binary, Bacon, Readable; and our first three ciphers, Enigma, Adjustment, Caeser. The middle link... the "HIDDEN CIPHER". It's alphanumeric substitution A=1, Z=26.
At this point we have the following Enigma decoded, pope code inserted, caeser shift rotated codes:
SECTION 1: CGREHOSIJGUIIHHFCIRCCC Y EDH XCDHCIFE DEGO BHII OGCCCRWFNEGFFLZHJCJBIEFDFPR
SECTION 2: IC EBIC I DMHCFBIEEGILIHFFDFFGCXRHDY FDI CC D UF EUEIC DLQI B
And that's where I got stuck again. I was almost positive I had the whole cipher list, in order, start to finish, so I pitched my progress to irivi along with my plans to solve it. He pointed out that I had mis-shifted one of my letters. Oops. This game was unforgiving - an early mistake, you'll never catch it and you'll never solve the puzzle. But I was basically there.
Section 1, when converting every letter to a number and removing the spaces, gives you 37185815199107219988639183330250548024348396850457150289901573331823614576612268103102956461618. Convert this number to binary and you get
I've been doing ciphers basically my whole life. As a kid, I did the newspaper crypto. When I was in my teens, I played "hacking" games where someone would set up a server and leave vulnerabilities for people to find. A lot of the time, in part of these games, you'd find a text file encrypted with some classical cipher or something (so that, unlike SHA-256 or whatever, it's ACTUALLY SOLVABLE). Anyway, I've been doing puzzles like this a while, and this is easily one of the most complex ones I've ever attempted.
When I first read this, I recognized the Enigma cipher immediately from "the road to Wazenlage." After keying into this word, I parsed through the rest of the Enigma hints to find the Grundstellung, Ringstellung, and Steckerbrett keys. This was actually really, really simple. It's hard to code german words into text and make it sound natural. I also found the LUFTWAFFE reference (first letter of each line of the poem) and knew that I-J/U-V were references to a Bacon cipher. After identifying these two ciphers, I figured out that "Shakespeare" (conveniently marked with quotes) referred to Bacon himself!
And that's where I got stuck for a couple of days. Then someone asked irivi a question and he said "every paragraph is important" and "there are at least 5 ciphers." Oh, shit. That kicked me off on hunting for five ciphers. I piddled around with a lot of ideas - route ciphers, box cipher (6 B.C. - surely a Box Cipher with a width 6!), ultimately working my way both forwards and backwards to a middle ground.
I knew from the hint that the "last thing you'll see before you get readable words" is a Bacon cipher. Bacon cipher is a "display" cipher - its not really encoded, it's just displayed in a way that isn't obvious. The only way these ciphers could play out into a Bacon at the end is binary. That gave me the last three steps: Readable Text < Bacon Cipher < Binary.
Next, I cracked the Enigma and the Quill Code. Running Section 2 through Enigma with the correct settings (Wazenlage, 3 rotor, stecker A-B, C-D; actually the default settings at dcode.fr's Enigma decryptor) gave me the code:
I KHOI O... matches the Quill Code from the pope's letter, so the key here was figuring out what to do with this. I tried a lot of things, but it turns out, you just add spaces where they are in the Quill.
OI KHOI O JSNILHOKKMORONLLJLLMIDXNJE LJO II J AL KAKOI JRWO H
Then I rotated this string with Caeser Shift Cipher, power 6, revealing:
IC EBIC I DMHCFBIEEGILIHFFDFFGCXRHDY FDI CC D UF EUEIC DLQI B
The order //actually// changes for Section 1. Instead of opening with Enigma -> Replacement -> Caeser, you go Enigma -> Caeser -> Replacement.
Again, I appreciate the productive comment. I am not sure I have a good reply for you. If you want to see this script made, I would encourage you to go and downvote the toxic comments in this thread as a way of sending a message to those folks that the community is stronger than its outspoken, negative members.
If the community can't manage to rally against toxicity, in their own best interests; if the group's consensus is "you know what, what's happening here is okay, but risk should make the script anyway and stop being such a bitch," then who's really asking to be "entitled" to something here? You've said it yourself - you want to see the script made. Will you take the action that gets it made? Will any of you?
I appreciate the less-than-rabid nature of your post, so I'll respond to you.
I have specified the terms under which I'll continue working - an outpouring of community support that puts the toxic General Discussion sludge plaguing this thread in their place. That community support is clearly pouring the other way - which is fine; I am glad to not have to do this work and just play the game like everyone else.
The idea that I'm being a 'victim' is insane. I learned a long time ago, never fight to give someone something they don't want. Smart people cut their losses early. This is not the earliest I've cut my losses before, but I certainly think I timed it right here.
At this rate, it doesn't look like I'll ever continue. There's just substantially more rejection of the project than there is acceptance. The bandwagon has spoken. I truly do hope other people will continue on extensions like this. I have not seen anyone yet offer... perhaps they are working in secret. Like I've said before, I'll be a user when that extension is released.
I appreciate your insight into how you think I did this wrong. It's all valid. At the end of the day here, nobody wins, but that's only half my fault. Anyway, like I said, no harm - no foul. I'm not gonna code this, you guys are gonna get your thread-of-the-day roasting me, everybody's gonna keep training and hosping people and chaining and yada yada. The world will go on without DoctorN.
See first post. We've got two pages of people in this thread telling me where I can stick my script and literally nobody but you asking for it. Unfortunately for you and anyone else who thought this was a good idea, it's clear the community has spoken and there's far less interest than I had suspected there would be. It's frankly not even "controversial" - it's like 20-to-1 against me writing this. Good luck in your search for a replacement; I'll certainly be on the lookout too.
My true colors? Since I started this, this hate has spiraled into the forums, on private messages, and in my clan's discord. I've been bountied, downvoted, and criticized. I would rather take my skills and the fact that I'm able to develop an extension like this and put them towards another project if this is what it's like to contribute. I have no patience for people who have nothing better to do than sling shit online when they've contributed nothing, and haters here may have cost the community a lot of positive results, or they may have cost the community nothing at all. Only time will tell, and I will be watching like the rest of the people, wondering "what's next for Doc?"
I apologized to Mauk for those posts, which I can assume is why he supports the project in our first post. I just want it to be clear that I've got no problem with Mauk and think he did an amazing job while it lasted. I'm also positive that someone else (or Mauk himself) will be motivated by this to say "I can do it better!" - and I hope that person steps up and does it better. I will certainly be a user.
And yeah, **** me for thinking there wasn't a reason Mauk ditched this community in the first place.
Cool, well, I suppose we won't have TravelHub or TornStats integration in my extension, though honestly, I'm pretty sure I've never spoken to either of them. But yeah, if it's this tight-knit community that wants their websites to die with Mauk, and doesn't want to publish an API, there's nothing I can do.
All the people who want it can take it up with the developers - their contact details are listed on their respective websites.
Alternatively, if someone else wants to code this, by all means, I'll be a user.
To cap this off, comments like "You can add me to your shitty little built-in blacklist too." is literally the reason I added it. The amount of salt this community is throwing at me for saying "If Mauk's out, I'll do it myself" is beyond the pale. If you can't find the tact to support me, this is how I'm uninviting you from the proceeds of my work.
I've sent notes to TravelHub and TornStats to work with them on rolling out a similar integration to what we had. I'm not sure what the politics of all this is, but if I'm provided with the same API DoctorN worked with, I can roll out an equivalent option to the old DoctorN. The onus on providing that access is on the respective admins, and they may opt to provide or not to provide access at their own discretion.
(I haven't investigated to see why the old version broke, which is basically impossible to do without the source code).
I will almost certainly leave some features for another extension or tampermonkey developer to address, particularly some of the pieces that change the layout of pages without needing integration with the API. DoctorN may have been too bloated and trying to solve too many problems for too many people. I see its primary goals as 1) reducing the number of F5 presses on the torn website with notifications/bars delivered by the API, 2) allowing you to act and react faster to things in the game, while still requiring that you interact humanly with the buttons, 3) providing the pertinent information across the torn website that allows you to stay inside torn.com rather than bouncing out to other sites or calculators to make decisions.
Many features in doctorn rely on each other to some degree. For example, if you want to hand someone their tornstats report, you've got to ingest the API anyway; now that you're ingesting the API, you might as well show them their bars; and if you've got two scripts ingesting the API every five seconds for no reason, Ched will get upset. And if Ched gets upset, all he has to do to completely break DoctorN for everyone, full stop, is make a tiny change anywhere on the site.