Mojo Nation

About Mojo Nation
 > Introduction
 > What's new
 > News & reviews
Download (free!)
 > Get Mojo Nation now
 > Supported platforms
 > FAQ
 > Tutorial (screenshots)
 > How it works
 > Technical overview
 > Getting help
 > Mailing lists
 > Troubleshooting
 > Overview
 > Get the source
 > Documentation
About us
 > The basics
 > Contact us
 > Who we are

M O J O    N A T I O N    ::    D O C S    ::    F A Q
Answers to common questions about Mojo Nation: What it is, how to use it, troubleshooting ...

Frequently Asked Questions

1. What is Mojo Nation?

2. Why isn't the Mojo Nation software working?

3. What is Mojo?

4. What is a relay server?

5. How are you ensuring that my currently tightly secured box stays closed to potential hackers?

6. Where's the Macintosh version of Mojo Nation?

7. Where's the bloody content?

8. Advanced topics

1. What is Mojo Nation?

Mojo Nation is a worldwide system that enables us to publish and share any kind of data, like text, sounds, moving and still pictures, and other binary files.

1.1 What makes Mojo Nation different from other file-sharing systems?

Other file-sharing systems are plagued by "the tragedy of the commons," in which rational folks using a shared resource eat the resources to death. Most often, the "Tragedy of the Commons" refers to farmers and pasture, but technology journalists are writing about users who download and download but never contribute to the system. In Mojo Nation, every transaction costs some Mojo, and as one's Mojo credit limit is reached, one must contribute *something* -- whether resources or cash -- to the community.

1.2 Is Mojo Nation rated G, PG-13, R, or XXX?

We have no idea. Each file published to Mojo Nation is broken into several small pieces, and then each of those pieces is broken into eight more pieces and encrypted so securely that finding the key to the code is as difficult as finding an atom in the sun. The result is that one cannot learn whether a file is on Mojo Nation or not except by trying to download that specific file.

2. Why isn't the Mojo Nation software working?

The three most common reasons we have encountered are:

* The user hasn't started his Broker before launching the gateway page on his web browser.

Under Windows, double-click "Start Mojo Broker" on the desktop. Under Linux, run Broker in the command shell.

* The Windows software didn't install because Internet Explorer for Windows stripped the .exe extension from the installation program.

Right-click on the label under the mojonation-beta-version-win98 icon and rename the file mojonation-beta-version-win98.exe.

* The user hasn't set the web proxy.

Internet Explorer 5.5: Go to the Tools menu, pull down "Internet Options...", then click the "Connection" tab. Click the "LAN Settings" button, then the "Use a proxy server" checkbox. Enter "localhost" into the "Address:" field, and "8000" into the "Port" field.

Internet Explorer 4.0: Go to the View menu, pull down "Internet Options...", then click on the "Connection" tab. Select the "Access the Internet using a proxy server" checkbox, and enter "localhost" into the "Address:" field and "8000" into the "Port" field. (Users running a later version of Explorer also have to click "LAN Settings".)

Netscape Communicator 4.7: Go to the Edit menu, and pull down "Preferences". In the Category window, select "Advanced". The "Advanced" tree will open, then select "Proxies". The Proxies configuration window opens, then select the "Manual proxy configuration" radio button, and click the "View" button.

Note that the MojoProxy and the Broker are *two different things*. They must each be started in two different steps.

2.1 What does the web proxy do?

If the web proxy is enabled, your browser -- instead of connecting to the host specified in a URL -- connects to the proxy. It is then the proxy's task to make the connection and return the requested resource. This will be invisible to Mojo Nation users.

2.11 Does using the web proxy reveal my browsing activity to

No. The proxy runs on your local machine, and it does not log any of your activities nor does it ever contact for any reason.

When you view a normal web page like "", the proxy is transparent -- it doesn't do anything but pass the web page through to your browser, exactly like normal web surfing. When you view a Mojo Nation page, like "" or "" the proxy intercepts your request and satisfies it without ever contacting

2.2 What if I don't want to use the web proxy?

In Linux, with your Broker running, open the intropage in ~/.mojonation/broker/intropage.html. In Windows, with your Broker running, open the intropage in C:\Program Files\Mojo Nation\config\broker\intropage.html.

If you opt not to use the Mojo Nation proxy, clicking on a URL will display something in your browser's location field that looks like


where localhost is the name of the web proxy, 4004 is the port your Broker uses to talk to the proxy, and the gibberish string is your privacy code. One of the other things the Mojo proxy does when it's on is hide all this stuff.

2.3 Why do I get a "symbol not found" error from Windows when I try and run the software?

One error we have see (most often on Windows NT) is due to older versions of MSVCRT.DLL being on the system elsewhere and in use by another application (check in C:\Windows\System\). Our install program does not currently handle this properly. You need to manually replace the old MSVCRT.DLL file with the new one from the mojonation directory.

2.4 My question isn't answered in this FAQ. Where else can I look for help?


2.41 Why does it take you idiots so long to answer my technical support mail?

We have no tech support people -- our programmers and system administrator handle the support queue as well as they can when they're not working or swimming in the money bin.

2.5 I'm tired of reading. How can I talk to an Evil Genius?

You can often find Evil Geniuses at the IRC channel #mojonation on You can write to the Evil Geniuses at (please include the last 20 lines or so of your Mojolog).

2.6 I use Windows and it can't figure out my correct IP address.

Starting with version 0.918.0 we are using a new method to try and determine your machine's IP address that is simpler and more reliable. If it is misdetecting yours (common on machines with both a modem and a local LAN card), you may wish to try using the old IP address detection code. To so so, use a text editor such as notepad or edit to edit your "Mojo Nation\config\broker\broker.conf" file and change the "USE_ROUTE_TO_GET_WIN32_IPADDR" option from no to yes.

Beware: using this method of IP address detection is known to trigger a bug causing a blue screen of death if you are running Norton Antivirus.

3. What is Mojo?

Mojo is Mojo Nation's "digital currency". In the Mojo Nation distributed computing environment, in which all the computers are joined by a common software, users may choose to contribute disk space, bandwidth, and processing cycles to the network in exchange for Mojo. Users are enabled to set their own prices for these online resources.

3.1 How many Mojo are in one dollar?

There is no fixed Mojo-to-dollar ratio. Mojo is exchanged for unused disk space, bandwidth, and processing cycles, and Mojo is transferred from user to user with tokens -- when we move past beta, users will be able to buy and sell the tokens for what the market will bear.

3.2 What do the "Mojo payable" and "Mojo receivable" numbers on my Stash page mean?

The Mojo Nation barter system revolves around credit one user's Broker extends to another. The Mojo doesn't move until one Broker owes another 10,000 Mojo -- because every conversation between Brokers on Mojo Nation involves some cost in Mojo, it would be too burdensome to make a digital token payment each time. So, the "Mojo receivable" total is the sum of all the Mojo promised to you in an IOU but not yet delivered. The "Mojo payable" total is the amount of Mojo promised by you.

3.21 I thought beta users were granted one million Mojo to start! Why do I have fewer than one million Mojo? Auuuugh!

When you first use your account, it takes a little while for your Mojo to gather. Eventually, your Stash page will report that cool million, give or take that couple of Mojo you earn or spend while you're on the network. Also, if you halt your Broker while that million is still being credited to your account, that won't stop the accumulation.

3.22 I've used up my first million (whew, publishing that hamster art cost a lot of Mojo). May I have more Mojo?

Send us the ASCII key that represents your Broker. In Windows, it's in the \config\broker\mtmdb directory. In Linux, ~/.mojonation/broker/mtmdb.

3.3 On my Stash page, I have more Mojo going out than coming in. Why?

The three main reasons are:

It costs Mojo to publish something to the system. When you publish a file, your Broker has to pay block servers to store the pieces. Further, too much supply, not enough demand. The system hasn't yet attracted enough users whose Brokers will pay for downloads.

If you're operating a block server, your Broker will often purchase recently-published blocks from other Brokers for later resale.

If you're using a relay server, you're paying for it steadily. Mojo Nation users behind a firewall need to employ a relay server outside the firewall that will hold messages for them until their Broker goes out to pick them up. However, each time the Broker asks the relay server if there are any messages there for it, the Broker has to pay the relay server a bit of Mojo.

3.4 How do I earn Mojo?

By running services for other users. Clicking "configure" at the main menu enables you to run block servers, content trackers, publication trackers, and relay servers, and to set prices for each of those services.

3.41 I uploaded my entire collection of hamster art JPGs to Mojo Nation, and I *lost* Mojo! Wasn't I supposed to *earn* Mojo for that?

No. You earn Mojo on Mojo Nation by operating services for the network. (See 3.4.) When you publish content, it costs some Mojo because your Broker has to go out and pay block servers to store your blocks. Your gain from publishing comes from building the content on the system -- the more cool stuff that can be found here, the more users join, and then the services you provide for them will start bringing you the Mojo.

3.5 If I accumulate enough Mojo, can I buy beer/friends/France?

Eventually. The best-known distributed computing project -- SETI@Home -- accumulated about 300,000 years of computing time in its first year of operation. If they shared that time with Mojo Nation for a year, and ran every service while charging default prices, they'd certainly earn enough to buy beer.

3.6 Can I earn Mojo in Mojo Nation while writing The Great American Novel in my word processor?

Yes. You don't have to be using the Mojo Nation gateway in order to earn Mojo, as long as your Broker is running in the command shell (Linux) or MS-DOS window (Windows). Some of us leave our Brokers on all day, running in the background while we perform other tasks.

4. What is a relay server?

A relay server works like a mailbox for users who are behind a firewall. When the firewalls block incoming messages from reaching the Brokers -- the agents which run the whole show -- the relay servers sit outside the firewall and hold messages for the Brokers. The Brokers can go outside the firewall and retrieve the messages, then bring them back in for processing.

4.1 Why should I choose to run a relay server?

Users who elect to operate a relay server (by clicking "on" for "Relay Server" on the Configure page) earn gobs of Mojo because the Brokers who work behind the relay server (that is, those folks behind the firewalls) are continually asking it if there are any messages there for it and are therefore paying a steady toll in Mojo.

4.2 I'm behind a firewall, but the Mojo Nation software didn't detect it, so my Broker isn't getting any replies to the messages it sends out. How can I make sure I use a relay server?

There is an option on the configure page called "Behind A Firewall" that you should change to "On", save the config, and restart your Broker software.

Alternatively: edit your Broker configuration file (in Unix systems, it's ~/.mojonation/broker/broker.conf, or in Windows, the default path is C:\Program Files\mojonation\config\broker\broker.conf) and change the "SERVE_USING_A_RELAY" setting under "YES_NO" to "yes".

4.21 The Mojo Nation Broker is not finding my IP address correctly. Where can I enter it manually?

In the Broker configuration file (in Unix systems, it's ~/.mojonation/broker/broker.conf, or in Windows, the default path is C:\Program Files\mojonation\config\broker\broker.conf), find the line IP_ADDRESS_OVERRIDE: and enter an IP address there.

4.22 Editing my Broker configuration file seems to be hazardous, since it determines how my Broker interacts with the system.

Yes, so keep a backup copy, and keep in mind that the tabbing is vital.

4.3 I'm behind a firewall, but don't want to pay a relay server. How can I punch holes in my firewall?

Consult your firewall documentation.

4.4 Which TCP/UDP ports should I open for Mojo Nation?

Once you've started your Broker, look in its output or log file for a line containing "TCPCommsHandler: successfully bound to port NNNN" to find out the port number you are using.

If you wish to use a specific port number, edit your config file and change these settings:


This is the port you are actually listening on locally.


If true, this means "barf if I can't get the listen port listed above." Otherwise it'll keep trying other port numbers until it finds one that works.

People setting things up behind firewalls with tunnels through them may also need to change these:


You are announcing to the rest of the world that this is the port on which you are running. If you have a tunnel through a masquerading/nat firewall, you want to set this to the appropriate port on the masquerating/nat firewall.


This is the IP address that your Broker announces to others. If you have a tunnel through a masquerading/nat firewall, you want to set this to the IP address of the masquerating/nat firewall.

5. How are you ensuring that my currently tightly secured box stays closed to potential hackers?

We've been focusing on stability, but security is a crucial subject, so we're planning to have our source audited (and it's open source).

All of our networking code is written in python, so Mojo Nation should be nicely resistant to buffer overflow attacks.

Mojo Nation introduces a higher level of complexity to security issues, which might better be described as "business" problems. Because Mojo is a type of currency, and because the Broker makes automated business decisions, there are potential "attacks" which might result in the dishonest acquisition of Mojo or services from the Broker. As a general solution to these problems, we are building a reputation system into the Mojo Nation software. Also, because Mojo Nation is open source, we're assuming serious players will customize their Brokers' business logic, in order to give them an economic advantage.

6. Where's the Macintosh version of Mojo Nation?

Ask again after OS X is released. It will be easier to port Mojo Nation to Macintosh under Macintosh OS X because it is derived from BSD Unix, and the engineers around here are all Unix nerds. We do care about Macintosh -- the CEO has a G4 Cube at home, and at least one of us is an Apple shareholder.

Folks interested in porting Mojo Nation to Macintosh or to other operating systems should join the mojonation-ports mailing list at

7. Where's the bloody content?

Mojo Nation is a peer to peer sharing system. We don't make content, we just give you tools which you can use to share content with your friends. The content is on *your* machine.

7.1 May I publish content to Mojo Nation that no one else can see?

Yes. In the Publish window, click "Browse" to publish a single file, or type a directory path into the "Select File or Path" field to publish a group of files. Then pull down "None" from the "Select Content Type" menu, after which this message will appear:

Warning: Content published under the type "None" is afforded absolute privacy because it will be invisible to searches and content trackers. That also means that the file cannot be found through normal means should the file's Dinode be forgotten.

If content is published without a content description, the trackers on Mojo Nation are not notified of its presence and neither can they find it later. However, if you lose the Dinode URL to the file, you won't be able to find it again, either.

7.11 What's a Dinode?

When your Broker submits a file to Mojo Nation, it first breaks up the file into several small pieces, then the pieces into smaller blocks which are encrypted for privacy and duplicated for reliability. The Broker draws a "sharemap" to the location of the blocks, and for further security, tears up and encrypts the map, too. The list of the blocks which makes up the sharemap is the "Dinode". Nothing on Mojo Nation can be retrieved without the Dinode. References to Dinodes in the Mojo Nation web interface are almost always presented in MojoID form, a human-readable URL.

7.2 I found some unusual hamster JPGs using a Mojo Nation image search, but when I downloaded it, all I got was a bunch of random characters. What gives? I want my hamster JPG!

If a user publishes an image file *without* an extension in the filename -- like .jpg or .gif or whatever -- and another user downloads it from Mojo Nation, the browser doesn't know what to do with it. However, all is not lost -- if the downloading user saves the bunch of weird characters from his browser and appends an image extension then, the file will behave like a normal hamster image.

8. Advanced topics

8.1 How do I control where the block server stores its blocks?

The default path is the broker/blob_server directory under your broker's config directory (c:\program files\mojo nation\config on windows, ~/.mojonation on unix).

Edit your broker.conf file and change the BLOCK_SERVER_DIR setting in the PATH section to your new location. Its a good idea to keep all of your current blocks as well so move the entire contents of the old directory into your new location.

8.2 How do I configure my block server to use multiple disks or paritions to store its data?

In the broker.conf file BLOCKSERVER section, change the USE_MULTIPLE_STORES setting to true. Now you -must- add at least one storage location to the STORAGE_SPACE_LIST option in the same section. Lists are stored in a funky manner. Here's an example that represents the default blob_server location on unix systems:

			PATH: ${HOME}/.mojonation/broker/blob_server
			READONLY: false

To add more locations, add another numbered item with all of the same fields. The list index numbers must start at 0 and be sequential. SUBDIRDEPTH is the maximum depth of the single character directory names that will be created in this block store; 3 is a good value for most setups.

© AZI, 2000