THE FAQ
Q: I got this damned zip file. What I supposed to do with it?
A: Use any proper utility (most probably Your file commander) to unpack it to a folder of Your desire. From now on it will be referred as %INSTALLFOLDER%. So if You have unpacked zip file into the "C:\Program Files\", and zip unpacker has created "2011" subfolder there the next equivalence will be:
%INSTALLFOLDER% = "C:\Program Files\2011\"
You can also rename "2011" to any name of Your wish. Say it was "MyBelovedMMORPG". Then it will be:
%INSTALLFOLDER% = "C:\Program Files\MyBelovedMMORPG\"
Q: I unpacked it. All I see is a strange s..it. And nothing looks like "exe" files I could start or nice shortcut I could click.
A: Calm down. You got the archive that contains all sorts of things. C-plus-plus source codes, text description files, project files (to be able to compile) and the precompiled and working game executables.
All those things are sorted between subfolders.
If You just want to make a test run (play) use the following steps:
- **Go to %INSTALLFOLDER%\aserver\_outbin\ subfolder
- **Start the nnn_server.exe file
- *In the suddenly opened window of Your firewall warning click "Allow"
- Watch the hypnotizing text strings running in the nice black "dos window" for some time.
- Go to %INSTALLFOLDER%\aclient\_outbin\ subfolder
- Start the nnn_main.exe file
- *In the suddenly opened window of Your firewall warning click "Allow".
- *Wait for (maybe long time) and when Your firewall will return to concsiousness click "Allow" again. Then look how the graphics window opens.
- Watch the intro movie or skip it by pressing SPACE key on the keyboard.
- In the appeared menu choose "Start Game" - it will bring You to the new account creation.
- Choose Your login and password. Write them down for future use. Type them in correspondent edit boxes of the login screen. Press OK.
- Enjoy the character creation and further on.
Notes:
*) This is MMORPG and it uses the network interface. Get ready that it will ask You to allow the network access. You should be familiar with Your firewall or brandmauer software to make proper permissions.
**) For now the game has no "official server". There was one some time ago but got closed. However all files in the distribution are preconfigured for the use on Your local computer. (I.e. network address is set to be 127.0.0.1) Since there's no official server on the internet, You have to start Your own instance of server on Your own computer.
Q: The procedure of installation and launch is too complicated. Isnt it possible to authomate it?
A: Yes it is possible. There are thousands of software kits for making the authomated installers. And I even know the very person to do this job: YOU!
Q: OK I got started. But Your interface is twisted and I've completely lost, I can't do anything.
A: Somewhere on our site there's a gameplay tutorial. The very things You should get to understand the gameplay are the next:
- YOU CAN NOT MOVE BY THE MOUSE CLICK. Use arrows or 'WASD' keys to move. This is a full 3d game and there is no simple way to click into a void space in the sky for Your character to reach it. So no 'appointments' just movements. For 3D motions like flying or swimming use the space key to go up and the 'end' key to descend. The space key does usually conflict with menu clicking so before flying up make sure that no menu or button is currently selected.
- Enlighted words are usually buttons. In the user interface especially. Try to click the word "skills" or "items".
Wow, a bit of progress, isn't it?
- If a door opend somewhere it usually means that You can enter there (why else on the Earth should the door open?).
What a relief - You finally left this damned train and entered a town, yes?
- Use the skills. There's no other way to pick an item or attack a mob.
- This is a developer' version of the game so all GM commands are available. E.g. try to type "/c help" (of course without the quotation). The chat string (or command string) box is at the bottom of the screen. Hopefully You'll find it without any difficulties.
Hint: to use GM commands more easily uncomment the USECONSOLECHAT keyword in the %INSTALLFOLDER%\aclient\_outbin\nnn_main.ini file.
- Skills and items can be set onto the "skillbar". However for some reason items and skills can't be dragged directly. Use special interfaces like "skill window" or "item window" to setup the skillbar
Q: And what was that reason, why I can not drag-n-drop?
A: Go to h... However nothing special here. Just the first version of it was intended to use on a console that has no mouse.
Did U try to drag-and-drop with a joystick? Especially an old one?
I'm thinking to rework the interface abit in future. So Your holy love to the drag-and-drop may eventially become satisfied.
Q: Where can I find a mob?
A: Go to Alpinia town (lasy ones type '/c warp 2' in the command string), and exit to the forest from there. There are 2 wolvens there. Beware the gold one is agressive.
Q: Where can I fly?
A: Since it is developer version You already have the flying skill.
Just set it up and fly. Or either You can buy a flying vehicle. Have You already seen the red trashcans all over the world? Those are shops actually.
Q: Where can I swim?
A: Go to Alpinia town (lasy ones type '/c warp 2' in the command string), and exit to the beach from there. Dont swim over the buoys. There are other places with water however. Dont swim underwater too long - You may drown.
Q: The screen resolution is too low. I miss the details.
A: OK. Time to discuss the configuration (.ini) files. There are two of them:
1) %INSTALLFOLDER%\aserver\_outbin\nnn_server.ini - for the server
2) %INSTALLFOLDER%\aclient\_outbin\nnn_main.ini - for the client
Both are plain text files and the keywords are mostly self explanatory.
E.g. nnn_main.ini contains string:
VID_MODE 800 600 32 - it means screen resolution 800x600 and 32 bits of color. If You uncomment the FULLSCREEN keyword You will end up in the fullscreen video mode.
Q: I want to play with friends over my local network. What should I do?
A: Nothing special. The server socket is general one and listens all incoming traffic. So no need to do extra config work if You are satisfied with the default communication port number.
However You may want Your server not forget every session and You game progress. In this case in %INSTALLFOLDER%\aserver\_outbin\nnn_server.ini make sure that OUTPUT parameter points to the same folder as the INPUT one.
By default they point to different folders for the less possibility of data corruption. When needed the databases can be saved to disk by a special GM command (use "/c help" in the client chat string).
On the client side You simply should make sure that the %INSTALLFOLDER%\aclient\_outbin\nnn_main.ini file contains correct reference for Your server IP address.
There can also a bit heavier troubles with the firewall permissions when the traffic begins to really walk over the real net. Refer to Your firewall guide for how to solve the unwanted lockings.
Q: I want to play with friends over the internet. What should I do?
A: You got pretty deep involved. You should consider to join the developers team... However lets not distract from topic.
If Your computer has so called 'real IP address' and if Your agree to use Your computer as the server keeper, You can do like You did for the local network. However most people either have no 'real IP' address or do not want to exhibit the ass of their computer over the Internet.
In this case follow the next steps:
- First of all You should consider buying a VPS or getting a free one.
- Once You did that and made familiar with Putty, SSH and Linux on Your so called 'dedicated server'. You may choose one of those ways:
- recompile the game server from sources to the Linux platform and use it, or:
- download and install the "Wine" for Your Linux. The precompiled version of the game server included in the distribution runs smoothly under the "Wine" on Linux
Q: What version of SQL does Your server use?
A: It uses NoSQL v0.1 pre release alfa.
For some reason the NoSQL is by default included in any existing operation system (Windows, Linux, MacOS or whatever) so dont bother to search, download or install. Just use.
Q: I want to modify some feature so I need to compile the game. How can I do this?
A: Most features (like UI skin, mobs, locations and skills) are scripted in the database files. You better make sure that Your problem has no solution other than compilation. If You insist then remember that there is no other easy way to compile the source codes other than following the next steps:
- Dowinload and install the DevCpp integrated developer's environment. DevCPP should be version 4.9.9.2 with MinGW 3.4.2 binaries.
- Go to %INSTALLFOLDER%\aserver\src\ folder, find the nnn_server.dev file and open it with DevCpp. Press the "Rebuild All" button and wait until compilation ends.
- Go to %INSTALLFOLDER%\aclient\src\cl_main\ folder, find the nnn_main.dev file and open it with the DevCPP. Press the "Rebuild All" button and wait until compilation ends.
Thats all. If files haven't been broken You will end up with new exe files for the client and for the server.
Do note that GNU C++ of 4+ versions (such as 4.7.1) compile smoothly, but the client crashes at start when it inits Irrlicht library. There's still no reasonable way to solve this, so consider use of MinGW 3.4.2.
The server compiles and works nice with any MinGW.
The Irrlicht.dll should also be recompiled with MinGW 3.4.2, otherwise it refuses to load up along with large executables (like our client). The precompiled irrlicht library is also included in our distribution under the name of irr18x.dll.
Q: How can I add a mob to the game?
A: There are two different choices: to copy an existent one and to create a new one.
To copy an existent one:
- go to %INSTALLFOLDER%\aserver\_outbin\_indata_new\_mobs\ folder
- find there a file mob.2000101002 - the nasty extension of the file is actually the unique ID (identifier) of the item. In order to proceed You will need to choose a unique id for Your new mob.
Intend a new ID and check if it is free. It is simple - just perform a search for a file with extension correspondent to Your new id.
The root folder for the search shoul be the %INSTALLFOLDER%. If no file found it means that the ID is free. Let's assume that the new free id is 2000101003. Then copy the file mob.2000101002 to the new file mob.ID (mob.2000101004 in our case). Place the new file in the %INSTALLFOLDER%\aserver\_outbin\_indata_new\_mobs\ folder.
- Edit the new file with any text editor that is able to work with plain text. Notepad or notepad++ are good.
Microsoft word or Libra Office are unsuitable.
Most keywords are self explanatory. Pay attention to to the field ID which must correspond to your choosen ID (2000101004 in our case) and to COORDS field. Try not to drop Your new mob to beneath the floor.
Another sufficient fields are RANDOM_WALK - and LIMITX with LIMITZ the first one causes the mob to patrol area that is described in the LIMITX with LIMITZ parameters. You can try to play around with the other parameters but it is a good idea to make a backup of all files first.
- Make sure to add a reference to Your new file into the loading list in %INSTALLFOLDER%\aserver\_outbin\_indata_new\_mobs\to_load.ini file. You did probably note that there's no reference for geometry or texture in the files You've just edited. It is because the mob has BODY. E.g. wolf 2000101002 has body described in the item.0000101002 file.
The further discussion drives us to the creation of the completely new mob. However it is a bit complicated job and will be covered by a special guide (at least our desighner promised to make it).
Lets make the body for the new mob.
- go to %INSTALLFOLDER%\aserver\_outbin\_indata_new\_items\ folder
- find there a file item.0000101002
Choose the new id and copy the file item.0000101002 to item.%Your New ID% in our case it should be item.0000101004
- In the newcopied file find the MAP_OR_HOST_ID parameter and set it to Your mob id. (in our case write MAP_OR_HOST_ID 2000101004)
- dont forget to change ID in the file to 0000101004.
- Make sure to add a reference to Your new file into the loading list in %INSTALLFOLDER%\aserver\_outbin\_indata_new\_items\to_load.ini file.
Thats all. Restart the server and go to the location where You set Your mob. If You did dot changed anything excessive, it will wander somewhere in the fairy forest (/c warp 2 and follow the landmark arrow).
Q: My users went rampage - they abuse GM commands and crush the server each fifteen minutes. How can I fix this?
A: in the %INSTALLFOLDER%\aserver\_outbin\nnn_server.ini set the DEVELOPERMODE parameter to FALSE. Yourself then will have to use GM passwords in order to be able to maintain the game. Refer to the %INSTALLFOLDER%\aserver\_outbin\nnn_server.ini again.
Usage of them is simple: just type: /c GMpassword and You will be granted the rights. Do note however that You can not get ADMIN rights directly. You must become a GS for the server to accept the next password. After You've advanced to GS, promote Yourself to GM and only then to ADMIN.
Q: My game crushes! What can I do?
A: Shit happens. If it is just the client, dont worry. Start it again and login as continue. Recently we've reworked the login code so You can relogin even in the debug mode (when INPUT and OUTPUT parameters in the nnn_server.ini point to different folders). So just relogin and go further. Some workaround may be done with the ini settings in the %INSTALLFOLDER%\aclient\_outbin\nnn_main.ini
Parameter BADVIDEO prevents crush on some videocards when the avi player tries to recycle RTT texture.
Parameter KEEPDEVICE prevents window closing during map change. It was also found helpfull on some computers.
If the server crashes things are much worse. If You arent experienced in programming, most probably You can't do much here. Hopefully the future version will be more stable.
On the other hand if You are experienced in programming and/or debugging, You can .
Q: How to uninstall the game?
A: Just delete the %INSTALLFOLDER%\ and all its contents. Our code does not use Windows registry or any other hideouts. So simple deletion will be more than enough.
Q: Why don't You use Python as a script language in Your project?
A: I am afraid of reptiles.
Seriously at earlier stages we tried to invoke Python or Lua, or even simple version of basic. Some were too slow, some were too heavy (for memory and disk), some had another troubles. Finally we took a fork of Small C as a scripting language candidate. But it required a lot of rework. When the new scripting language was ready to compile itself, I asked myself: "What exactly am i doing? There is much better C++ - the one from GCC."
Q: Why the wolf walking on the Alpinia square "jumps" at the end of each walk?
A: In the test purposes. If You take a look into the script You will see that it actually walks well ABOVE the ground. And the gravity keeps it on the surface. If the behaviour of the poor thing bothers You, You may edit the script and make its walk smoother.
Q: Why do You make the project opensource? Opensource online projects are very vulnerable. Anyone could make bots or hacks. What can You say on this?
A: Its obvious. The project is opensource for You to be able to use and modify it freely. Concerning bots and hacks... The initial design of the game was oriented for travelling and competition. Level was just a formality. There's no sense in hacking of journeys or speedracing.
I even thought to make a "lvlup" button to make user's life easier. If leveling is really what do You want - do it freely and easily. However now, when we're getting back to classic with exp, lvl and grinding, it becomes a problem (I still hope that BOTS MUST BE ALLOWED IN ANY MMORPG). Opensource design here has both sides of the coin.
Anyone can search it for leakings and make exploits. But on the other side - anyone can suggest patches to fix those holes. Kinda that, guys.
obviously.
|