COCKOS
CONFEDERATED FORUMS
Cockos : REAPER : NINJAM : Forums
Forum Home : Register : FAQ : Members List : Search :

Go Back   Cockos Incorporated Forums > NINJAM Discussion > NINJAM User Discussion

Reply
 
Thread Tools Display Modes
Old 10-19-2012, 09:12 PM   #1
mightyleandog
Human being with feelings
 
Join Date: Oct 2012
Posts: 2
Default Issues Setting up Private Ninjam Server

Hi

I'm currently experincing some issues while attempting to setup a private NinJam server. I noticed that there were similar threads posted, but I seem to be experiencing some unique problems that were not covered in previous threads, so I thought I'd start my own thread to establish a clear and open dialogue, and hopefully (with your insight), resolve the issue.

Here's the problem - I've followed all of the steps to create my own private server, including downloading / extracting the ninjam server to my computer (PC Windows7 x64), I have edited and saved the 'example.cfg' file as 'config.cfg', I have created a shortcut (hyperlink) to the 'ninjamserver.exe', and I have assigned the target to open 'config.cfg' in the CMD window...however, when clicked, the serve DOES NOT LAUNCH (Start)...it just sits there in the CMD window with my file directory displayed...(C:\program files (x86)\NINJAM\Ninjam Server>)...no options or indication that it has initiated what-so-ever...

Q1) What do I do to actually get the server to run/start in the command line?

If this can be solved, my next question would be:

Q2) When starting reaper and the ninjam plugin, when I go to connect to a host in the Ninjam Console, what name would I type? All I see are public servers -- do I have to assign my server a name, or will it read automatically?

Q3) Port assignment and firewalls? Do I have to manually assign a port, and how?

Q4) Also, I've identified that REAPER is currently utilizing PID port number 8848 on my computer - should this be assigned in the .cfg file, as opposed to 2049 (default), and do I enter my IP address in place of the variable 'ACL 192.168.0.0/16 reserve'?

I know this is alot to throw at you, but I'm hoping that there is someone who has experienced similar issues before that can get me through the troubleshooting stage and on my way to Ninjam Freedom. Any advice would be greatly appreciated. Here is a copy of my .CFG file below. Thanks everyone!

-------------------------------------

# only one port line allowed (last one will be used)
# these are comments
Port 2049



# limit connections of normal users to 10
MaxUsers 10

# limit normal users to 32 channels each, anonymous users to 2
MaxChannels 32 2

ServerLicense cclicense.txt

#anonymoususers yes or no, or multi (to allow multiple users of the same name from the same IP)
AnonymousUsers no
AnonymousUsersCanChat yes
AnonymousMaskIP yes # shows just the nn.nn.nn.x instead of full IP.


AllowHiddenUsers no # set to yes to allow people without channels to not appear in the user list


#ACL list lets you specify in order a list, first match is used
ACL 10.0.0.0/8 deny
ACL 192.168.0.0/16 reserve # reserve slots for local
ACL 0.0.0.0/0 allow # allow all


#user/password/permissions sets
User administrator myadminpass * # allow all functions
User brendan bologna CBTKRM # allow chat, bpm/bpi, topic changing, and kicking, a reserved slot, and multiple logins
User frank bologna CBTKRM # Ditto
User myuser mypass # allow default functions (chat, no topic)

# optional user/pass with simple status retrieving permissions (this also has the advantage of having the server do less work)
# StatusUserPass username password

DefaultTopic "This is MightyLeanDog."
DefaultBPM 92
DefaultBPI 8

# two parameters: path to log to, and session length (in minutes). 0 for length means 30 seconds.
# if the first parameter (path) is empty, no logging is done
# SessionArchive . 15


# these two require a full restart to update:

# write PID file (non-windows version only)
# PIDFile ninjamserver.pid

# LogFile ninjamserver.log


# set keep-alive interval in seconds. should probably not bother
# specifying this, the default is 3, which is adequate.
# SetKeepAlive 3

# voting system:
# SetVotingThreshold 50 # sets threshold to 50%. can be 1-100%, or >100 to disable
# SetVotingVoteTimeout 60 # sets timeout before votes are reset, in seconds
mightyleandog is offline   Reply With Quote
Old 10-20-2012, 12:57 AM   #2
pljones
Human being with feelings
 
pljones's Avatar
 
Join Date: Aug 2007
Location: London, UK
Posts: 767
Default

Quote:
Originally Posted by mightyleandog View Post
Q1) What do I do to actually get the server to run/start in the command line?
A shortcut to a program needs to name the program, followed by any command line arguments for that program. If any individual parameter contains spaces, put quote around it. So in the "Target" of the shortcut, you'd expect something like
Code:
"C:\Program Files (x86)\ninjamsvr\ninjamsvr.exe" C:\Users\mightyleandog\Documents\config.cfg
Quote:
Originally Posted by mightyleandog View Post
Q2) When starting reaper and the ninjam plugin, when I go to connect to a host in the Ninjam Console, what name would I type?
Your computer knows your host as "127.0.0.1" or "localhost". Within a Windows local network, other computers will know your computer by its computer name. If you want people across the internet to connect, that's a completely different question: you need to set up a DNS name and have it resolve to your IP address reliably. You'll also want to ensure you firewall is protecting your local area network adequately, too, without preventing access to your server.
Quote:
Originally Posted by mightyleandog View Post
All I see are public servers -- do I have to assign my server a name, or will it read automatically?
Somewhere someone has a file with the names in but I don't remember where or who. However, your server does not need to be listed to be accessible: you just type in the name and port.
Quote:
Originally Posted by mightyleandog View Post
Q3) Port assignment and firewalls? Do I have to manually assign a port, and how?
For the filewall, see your firewall manual. Each one will be different. For a port number, pick one like 2049 that's well known for NINJAM, unless you deliberately don't want it "well known", in which case any number from 1024 to 65535 should be okay, subject to it not already being in use on your computer, which you can find out with the command line:
Code:
netstat -a -p tcp
You firewall may let you map an outward facing port number to an internal port number, too.
Quote:
Originally Posted by mightyleandog View Post
Q4) Also, I've identified that REAPER is currently utilizing PID port number 8848 on my computer - should this be assigned in the .cfg file, as opposed to 2049 (default), and do I enter my IP address in place of the variable 'ACL 192.168.0.0/16 reserve'?
All processes (foreground processes like those you see displaying windows; background processes like Windows OS internals) have a process ID. This will change every time that process stops and starts. You don't need to worry about process ID at all. Reaper has nothing to do with running the NINJAM server, either, so don't think about the two of them together. A port number is used by a process to accept network connections. A web server listens for connections on port number 80, for example. The part with the "/" is a range of network addresses. "192.168.0.0/16" generally means "only my local area network" (i.e. any address where the first 16 bits match "192.168.0.0"). You need to be careful you understand what privileges you're granting with the ACL command and who you're granting them to.
__________________
Quote:
Originally Posted by Tony Williams
...Playing fast around the drums is one thing. But to play with people for others, to listen to, that's something else. That's a whole other world.

Last edited by pljones; 10-20-2012 at 01:27 AM.
pljones is offline   Reply With Quote
Old 11-03-2012, 08:19 AM   #3
mightyleandog
Human being with feelings
 
Join Date: Oct 2012
Posts: 2
Default Almost There!

Hi pljones,

Sorry for the delay in response -- I've been extremely busy and haven't had a chance to get back to you. Anyways, we've had some success based on your advice, and I just thought I'd give a progress report, and share with others in case anyone in the future faces similar problems.

>>> As for your first suggestion . . .

------------------------------------------------------
Originally Posted by pljones:

Quote:
"A shortcut to a program needs to name the program, followed by any command line arguments for that program. If any individual parameter contains spaces, put quote around it. So in the "Target" of the shortcut, you'd expect something like"

"C:\Program Files (x86)\ninjamsvr\ninjamsvr.exe" C:\Users\mightyleandog\Documents\config.cfg

------------------------------------------------------

We struggled with this initially, but as it turns out, the argument has to be in qoutations as well -- after we added quotations the server launched successfully in the CMD window. For anyone else who experiences this problem, it looks like this

"C:\Program Files (x86)\ninjamsvr\ninjamsvr.exe" "C:\Users\mightyleandog\Documents\config.cfg"

OR:

"Target File Location Containing ninjamsvr.exe" "Argument file location containing config.cfg"

>>> As for your second suggestion,

-------------------------------------------------------
Originally Posted by pljones:

Quote:
"Your computer knows your host as "127.0.0.1" or "localhost". Within a Windows local network, other computers will know your computer by its computer name. If you want people across the internet to connect, that's a completely different question: you need to set up a DNS name and have it resolve to your IP address reliably. You'll also want to ensure you firewall is protecting your local area network adequately, too, without preventing access to your server."

-------------------------------------------------------

Great advice -- in the 'connect to host' dialogue box, we entered '127.0.0.1', and using the default username "booga" and the default password "anotherpass", (along with our other usernames and passwords defined in our config.cfg file) we were able to connect to the server from the host machine.

>>> As for your third suggestion,

-------------------------------------------------------
Originally Posted by pljones:

Quote:
"For the filewall, see your firewall manual. Each one will be different. For a port number, pick one like 2049 that's well known for NINJAM, unless you deliberately don't want it "well known", in which case any number from 1024 to 65535 should be okay, subject to it not already being in use on your computer, which you can find out with the command line:

Code:
netstat -a -p tcp"

--------------------------------------------------------

The code worked like a charm, and we decided it best to stick with the default 2049 at this time, just until we get things up and running.


Now, my question comes with your final suggestion:

--------------------------------------------------------------
Originally Posted by pljones:

Quote:
"You firewall may let you map an outward facing port number to an internal port number, too."

--------------------------------------------------------------

Q: I have been unable to connect to my friend's server as of yet. When you mention that we must assign an outward facing port number on the host machine, do we assign the firewall to utilize port 2049? What exactly do you mean by "outward facing port"? When I enter a name in the "connect to host" dialogue box, will I enter my friends I.P. Address, or his DNS Address?

Any advice would be greatly appreciated! Thanks!
mightyleandog is offline   Reply With Quote
Old 11-03-2012, 01:56 PM   #4
pljones
Human being with feelings
 
pljones's Avatar
 
Join Date: Aug 2007
Location: London, UK
Posts: 767
Default

Quote:
Originally Posted by mightyleandog View Post
Q: I have been unable to connect to my friend's server as of yet. When you mention that we must assign an outward facing port number on the host machine, do we assign the firewall to utilize port 2049? What exactly do you mean by "outward facing port"? When I enter a name in the "connect to host" dialogue box, will I enter my friends I.P. Address, or his DNS Address?

Any advice would be greatly appreciated! Thanks!
Bit hard to explain in words... Here's the extended remix version.

By "outward-facing", I mean the number as it's seen from the internet (i.e. not your local machine or internal network).

No one outside your local machine can connect to it using "127.0.0.1", for example. No one outside your local network can connect to it using a local area network address, either (various ones including 192.168.*). So that's why you need an internet visible IP address that will get to your local area network.

Your internet connect, e.g. over ADSL, will give you an IP address that's visible to the internet, so that's good. What bad is that, sometimes, some ISPs (a) don't let you keep a connection for > 1h and (b) give you a different IP address each time you connect. So no one out on the internet can rely on your IP address staying the same. You can get around that in a couple of ways. (a) Buy a static IP address from your ISP. (b) Use one of the many Dynamic Hostname services to give you a hostname that you can update the IP address on each time you connect. (a) is easier but it's still easier all around if you have a hostname. You can always get a hostname to go along with your static IP address.

Your connection to the internet can work in two main ways: bridged and routed. In routed mode, the box that's got the ISP on the other end is "intelligent": it's another box on your local network and your local machines will set it up as their default gateway for non-local traffic. Bridged mode means that the box is, essentially, "transparent": another box on the network must act as the gateway machine if multiple machines are to use the box to route to the internet.

In either mode, the box will keep track of connections originating on the local side, so that responses get back to the right place. For incoming requests - originating remotely - it's a different story. In routed mode, the box needs to be told what to do. (In bridged mode, it always forwards the requests directly to the box it's bridged to (subject to any filtering / firewall rules).)

Say someone wants to connect to the ninjam server running on your PC, which has IP address 192.168.0.10 and ninjam running on port 2049. Let's say your connection to the net is through a routed mode connection.

Externally, they can't connect to 192.168.0.10. Let's say you've got an external IP address of 88.132.41.22 and a hostname of jam.mightyleandog.com resolves to that address - i.e. when someone tries to connect to jam.mightyleandog.com, the domain name server responds with IP address 88.132.41.22, the IP infrastructure routes the request to your ISP and they route it to your box.

Now your box wants to know where to send this request. You could decide you want absolutely all traffic from the internet arriving at your PC. For security reasons, that's really a very, very bad move! You really only want requests for real services to get through your router and onto your local network. The router, then, needs to be told how to decide what do to. For this it can use the port number that the incoming request was for -- this is the "outward facing port" I referred to: the one "known" by people on the internet. Many (most? all?) routers can use this to direct the request to a specific machine and port (i.e. changing the requested IP address and port number). The router then ensures that the response from the local area network gets sent back to the external requester.
__________________
Quote:
Originally Posted by Tony Williams
...Playing fast around the drums is one thing. But to play with people for others, to listen to, that's something else. That's a whole other world.
pljones is offline   Reply With Quote
Old 12-15-2012, 03:25 PM   #5
danfuerth
Human being with feelings
 
Join Date: Mar 2012
Posts: 1,824
Default

too much convolution here let's break down the steps

2 IPs in different ISP's

Now inside each home you probably have routers

So each router in each homes is going to have to open up ports in order so each
user can connect to the other user.

Say for example open up port 5000 on both routers, yours and your friends.

In order to connect to his routers port ( 5000) you need to know his external IP that the router is assigned by the ISP provider, so have him to go to google and type what is my IP simple lol will tell you.

Then have him give you that IP and you can now connect to him

ex. 24.567.3.5:5000

In each router you have to in to the Ports or Firewall section and open up the ports you need. Most of the new routers have this as "Services" section.

Login to the router by typping usually http://192.168.1.1 or http://192.168.2.1 ( in your router) if there is a pass prompt it could be default ( admin) and open up the ports the save.

You and your friend will have to work together or using a phone call or chat messenger over the net to get all the details needed for each other

1 person is going to run the server and 1 person ( you or choose your friend) to run the client.

Setup the server config file and put the needed information ( all detailed inside the file)
and use a big port number as ISP's blocking a lot of ports ( torrent and other traffic)


I like to use 15345 as the port.

Last edited by danfuerth; 12-15-2012 at 03:44 PM.
danfuerth is offline   Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -7. The time now is 08:43 AM.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, vBulletin Solutions Inc.