Unofficial FAQ

  • Forward:    

         Hey everyone. Today I'm going to start organizing an un-official FAQ for those looking to run a server. This is only the beginning and many edits will follow with more info as I come across it. When there is structure (and enough worthy information, I or someone else can add it to the bitbukkit wiki page perhaps. Many of you core members here probably already know this (well and a ton more), so this obviously won't apply to you, and please correct me if I'm wrong on anything.


    Intro:

    As mentioned in the forward, this FAQ is just by an avid gamer/hobbyist. I have no connection with the fine folks here other than the same goal of seeing an awesome SWG server. I'm going to try and address what I feel might be common issues, mostly server-side stuff, as this FAQ is geared specifically toward the setup, configuration and operation of the dedicated server. If you are a player, there is an excellent guide in my sig block that is highly detailed.


    Environment:

    The first thing you need to figure out is what environment you are going to run Holocore, the ProjectSWG dedicated server software on. When I first set it up, I did it on Windows 10x64. I run numerous game servers, and have a couple rack servers that *mostly* run linux on, so for me, putting this on linux was a no-brainier. There is already a rough guide on the wiki about getting the software, but I will probably cover this again, for both sides. Understandably YMMV when it comes to linux and getting stuff on it, as each distro's instructions can certainly vary, lol. I will do my best to provide the info I can for my particular setup, however google may indeed be your friend if you're running something not as similar. My flavor is Centos 6.8 for this configuration.

    For time being, we're going to assume you're sharp enough to read over the wiki and grab yourself Java 1.8, git, and gradle and follow their guidelines. (I know, detailed instructions would be nice, I will do it here someday, but on this initial post I want to get into more of the meat and potatoes). One thing I will provide for now to help get you running.. As the wiki indicates, you start the server with:

    Code: run this to start server!
    1. java -jar build/libs/holocore-all.jar

    You're going to want to check the actual .jar name as that one probably won't be right. On my first compile it was called "projectswg-holocore-10fa38ca9126-all.jar", the next build, a few weeks later, it was simply "holocore.jar". Clearly the dev's are ironing out the system, no worries though, there will be a .jar there, and that's the one you want, whatever is in the build/lins/ subfolder.

    If you are running linux, you will want a handy, dandy script to launch this beast. I highly recommend my standard game-server firing script:

    Code: start.sh (startup for linux)
    1. screen -d -m -S pswg java -Xms512M -Xmx4096M -jar build/libs/projectswg-holocore-10fa38ca9126-all.jar nogui --log-append=false --log-count=3


    This will start the server via detached screen session under the name pswg (you could call it holocore, or server1 whatever really). You will see I have set a minimum of 512MB and a max of 4GB to the java session. In my testing both on Win-based and linux rigs, the server seems to like about 1.7GB. Because I'm unsure of the long term usage and potential load, I do have mine set to 4GB. You could safely run at 2GB, at least for a few people, again, no clue yet on stress/load tests how RAM will be utilized.. One of those things down the road to do...

    Windows users can do something similar of course:

    Code: start.bat (startup script for Windows)
    1. java -Xms512M -Xmx4G -jar "F:\dedicated\SWG\PSWG\build\libs\holocore.jar"
    2. PAUSE


    I shamelessly ripped that from a different dedicated game and edited it, in full disclosure, I have run holocore on Win-based rigs, but only for testing and diagnostics, so never needed a batch file.. But that will work :)


    Configuration:

    Okay, so you've got your dedicated server installed, and you want to fire it up, right? Well, the good news, is you can, the bad news is currently there is only one account in the system, and that's the default one: username: holocore password: password. So we're going to run by a couple quick things, and then you will have a more customized server that people can get on. First things first....

    Code: /cfg/nge.cfg file
    1. # 03/07/2017 00:02:37 MST
    2. CLEAN-CHARACTER-DATA=0
    3. GALAXY-MAX-CHARACTERS=2
    4. GALAXY-MAX-CHARACTERS-PER-PERIOD=2
    5. GALAXY-MAX-ONLINE=20
    6. GALAXY-NAME=PE2850 Test Center
    7. LOAD-OBJECTS=true
    8. PRIMARY-SPAWN-LOCATION=tat_moseisley
    9. WIPE-ODB-FILES=0


    CLEAN-CHARACTER-DATA (NO IDEA, best guess either wipes all characters, or purges old ones after this number of days.

    GALAXY-MAX-CHARACTERS How many characters can each account create on each galaxy

    GALAXY-MAX-CHARACTERS-PER-PERIOD Hoe many characters can ONE account have on simultaneously

    GALAXY-MAX-ONLINE Max players online at once

    GALAXY-NAME Name of your galaxy

    LOAD-OBJECTS (NO IDEA, leave alone)

    PRIMARY-SPAWN-LOCATION (Haven't verified this functions yet!) Tells your server where to put starting players.

    WIPE-ODB-FILES (NO IDEA, wipes ODB files, hehe.. Leave alone!)


    Once you are done with that, double check network.cfg:

    Code: network.cfg (also in /cfg folder)
    1. # 03/07/2017 00:02:37 MST
    2. BIND-PORT=44463
    3. BUFFER-SIZE=4096
    4. LOGIN-SERVER-ID=1
    5. LOGIN-SERVER-NAME=LoginServer
    6. LOGIN-VERSION-CHECKS=true

    Pretty straight forward again. Only thing really to note that should matter at this point in the game is the Bind Port. This is the port you want to forward to your server and forward your router through. You'll note it is DIFFERENT that the one PSWG uses. I say this, because if/when you tell people to join your server, when they create a login server for your server, they need to ensure the port matches what you have here. Simply creating a new login server in the launcher may not give them the correct port!!!! You'll note another possible hit of multiple server support in Login-Server-ID... (not important at this time)


    There are more files in the /cfg folder, I wont' get into them at this time.. I honestly haven't messed with them enough myself and merely re-pasting them in here would just be a waste, lol.


    Adding Accounts

    It's the best part, right? Getting your own account, and getting in the game! So for now, there's one down-side.. While it looks like they are working on a web-portal where players can get on and create their own account, it is not up and running yet. This is bleeding edge, people. The upside, is it's REAL easy to add accounts.. You just have to get dirty. Follow these steps and you'll be adding 100's of players in moments:


    1. For Windows, Mac, and GUI Linux (recommended), download DB Browser for SQLite and install it.

    2. Run the DB Browser, and point it at: <yourbaseinstall>/serverdata/login/login.db

    3. You will be looking at the database structure. RIght click on one of the tables, eg "users". and select "Browse Table".

    4. You will see a drop-box, click on it, and select users.

    5. Edit as necessary. Add a record, remove one, edit one, etc..

    5a. Example on adding a user:

    a) Click Add "New Record"

    b) In the empty field it created, enter a username, hit tab, enter a password, hit tab enter an email address, hit tab and..

    c) for access_level select one of the following currently existing levels:

    Code
    1. PLAYER(0),
    2. WARDEN(5),
    3. CSR(10),
    4. QA(15),
    5. DEV(50)

    (so to make them a player type "PLAYER" (no quotes of course!)) - You can also leave it blank, blank default to PLAYER.

    6. When you are done, click the 'Write Changes" button up top, all set!

    It is instant, so no need to restart the server, it pools this database every time there's a new connection it seems, which is great!


    My server is running, now what?!

    It's the dream come true! Heh. Okay, first things first, get in your server. You'll note... The PSWG Launcher has a status in the upper right corner.. It pings constantly, which is great. It can tell if your server is OFFLINE, LOADING (yes, really), UP, and a couple other modes (like LOCKED, not sure if that's implemented yet?). This is highly useful, especially for players trying to join. Just like you'll read in the support threads here, the 1st thing to ask when you've made an account for someone, and they say they can't get on, is "Does it say 'SERVER STATUS: UP' on your launcher (and are you set to the correct server in the settings/login area"? When you see your server UP, jump on your server. Assuming you are on an access level other than player, you should see the corresponding level in parenthesis, EG {CSR} when you hit SHIFT+F1.

    To use important commands, you'll need to first type /setgodmode to tell the server you want to use admin abilities and commands. From there, for now, you'll have to hunt for admin-specific commands (working on a structured command list if I don't find one elsewhere first). For now a few simple ones, good for testing and seeing what levels can do what: Server, QA





    FootNote1: An aside, it looks to me like they are coding this with the possibility of running multiple servers, meaning we admins could have a test center and live/production server on the same rig. Unsure how this will come to be, as there is only the one main jar, but maybe down the road.... Coolness..


    Hey there new players! First thing you're going to want to do is look at these handy posts/guides. They will help solve a TON of potential issues and problems getting running, whether you're starting your own server up, installing and running the client to PLAY on a server, or just get connected to the PSWG Test server!

    PSWG Launcher Installation Guide 2.0 (not by me but excellent!)

    The post was edited 10 times, last by exit151 ().