SphereCommunity
HOW TO INSTALL TO LINUX (INSTRUCTIONS) (Sphere .56b) - Printable Version

+- SphereCommunity (https://forum.spherecommunity.net)
+-- Forum: General Discussion (/Forum-General-Discussion)
+--- Forum: Documentation/Tutorials (/Forum-Documentation-Tutorials)
+--- Thread: HOW TO INSTALL TO LINUX (INSTRUCTIONS) (Sphere .56b) (/Thread-HOW-TO-INSTALL-TO-LINUX-INSTRUCTIONS-Sphere-56b)

Pages: 1 2


HOW TO INSTALL TO LINUX (INSTRUCTIONS) (Sphere .56b) - slacker - 04-09-2015 04:25 AM

I successfully installed Sphere (.56b) to Slackware 14.1 and here's my guide:
Code:
My System:  Slackware 14.1 (32bit) Linux
        Sphere .56b Pre-release


****NOTE: Sphere is 32bit so you must install on a 32bit or a multi-lib system.

1) As root, create a sphere user:
  useradd sphere
    (Answer the questions)
  chmod 700 /home/sphere

2) Log in as sphere and create these directories:
    mkdir -p spheresvr/accounts
    mkdir -p spheresvr/logs
    mkdir -p spheresvr/muls
    mkdir -p spheresvr/save
    mkdir -p spheresvr/scripts

3) Download and uncompress the sphere server into the spheresrv directory:
  wget http://prerelease.sphere.torfo.org/build56/SphereServer-0.56b-201306161304-Linux.tgz
  tar -xvf SphereServer-0.56b-201306161304-Linux.tgz -C spheresvr/

4) Fix file permissions:
  find ./spheresvr -type d | xargs chmod 0700
  find ./spheresvr -type f | xargs chmod 0600
  chmod 4700 spheresvr

5) Change into the spheresvr directory and continue:
  cd spheresvr

6) Check for library dependencies:
  ldd spheresvr
   See below- "ERROR: Missing libs"

7) Edit sphere.ini:
   vi sphere.ini

  CHANGE THE FOLLOWING TO WHATEVER IS CORRECT for you:
    ServName=MyAwesomeSphereServer
  
  OPTIONAL:
    AdminEmail=me@MyAwesomeSphereServer.com
    URL=www.MyAwesomeSphereServer.com
    TimeZone=-4


  CHANGE THE FOLLOWING TO:
    FROM: //MulFiles=mul/    TO: MulFiles=muls/    (You're on linux, it won't auto-detect correctly)
    FROM: AccApp=0        TO: AccApp=2        (This allows you to create your first account by just logging in)
    FROM: UseNoCrypt=0        TO: UseNoCrypt=1`    (This stops the OSI encryption headaches)

8) Fix the broken windows naming convention:
  ln -s sphere.ini sphere.INI


9) Copy the client files into your server directory. you need to copy the following into your spheresvr/muls directory-
    multi.idx
    hues.mul
    map0.mul
    multi.mul
    statics0.mul
    staidx0.mul
    tiledata.mul

  Optional files:
    verdata.mul
    mapX.mul/staticsX.mul/staidxX.mul (for higher maps support (Malas, etc))

NOTE: The lastest UO clients use .UOP files instead of .MUL
      SUPPOSEDLY, the current versions of Sphere support them but, I didn't have any luck with them.
      You can either revert to older clients (pre-7.0.24.0) or you can use a program (found online to convert the UOP to MUL).

10) Create blank save and accounts files.
  NOTE: The save files HAVE TO HAVE "[EOF]" in them.
    echo "[EOF]" > save/sphereworld.scp
    echo "[EOF]" > save/spheredata.scp
    echo "[EOF]" > save/spherechars.scp
    echo "[EOF]" > save/spheremultis.scp
    echo "[EOF]" > save/spherestatics.scp

    touch accounts/sphereaccu.scp

8) Start the server
  ./spheresrv

NOTE: To stop the server:
  shutdown 1   (This will shutdown the server after 1 minute, when you hit enter, no message will appear in your console but will appear in the game clients connected).


You should now have a BLANK world, fire off your client with RAZOR and walk around.  You will need to add all spawns and mobiles.



==================================================================
ERROR:
  Missing libs

FIX:
  As root run "locate LIB_NAME"  (e.g. locate libstdc++.so.6 )
  Install missing libs.

HINTS:
  libmysqlclient is part of MySQL, grab your distro's package and install. You don't need to setup MySQL, you just need to have the package installed for the lib.
  libboost is part of Boost C++ (http://www.boost.org/). Your distro probably has a package for it.
  libstdc++.so.6 - My machine had libstdc++.so.6.0.18 installed but sphere could not detect it so, I made a symbolic link to it and it worked fine.
    ln -s /usr/lib/libstdc++.so.6.0.18 /usr/lib/libstdc++.so.6


--------------------
ERROR:
  FATAL:The sphere.INI file is corrupt or missing
  FATAL:MUL File 'multi.idx' not found...
  FATAL:Server terminated by error -3!

FIX 1:
  ln -s sphere.ini sphere.INI

FIX 2:
1) vi sphere.ini

  Change line:
    \\MulFiles=mul/

  To:
    MulFiles=muls/

2) copy map0.mul, statics0.mul, staidx0.mul, multi.mul, multi.idx, hues.mul, tiledata.mul from your client into muls/
    Optional files: verdata.mul, mapX.mul/staticsX.mul/staidxX.mul for higher maps support (Malas, etc).


--------------------
ERROR:
  ERROR:Can't Load save/sphereworld
  FATAL:No previous backup available ?
  FATAL:Server terminated by error -8!

FIX:
  You will need to create a folder called save.
  Inside this folder you will need to create and save 5 files

    echo "[EOF]" > save/sphereworld.scp
    echo "[EOF]" > save/spheredata.scp
    echo "[EOF]" > save/spherechars.scp
    echo "[EOF]" > save/spheremultis.scp
    echo "[EOF]" > save/spherestatics.scp

  Each of these files should be empty except for the text [eof]
  These files MUST be saved as a .scp file in order to work, if saved as .txt you will receive errors from sphere saying that they were not found.


--------------------
ERROR:
  16:30:1:ERR Login NO Account 'joebob'
  16:30:WARNING:1:Bad Login 0 (Account does not exist)
  16:30:1:Client disconnected [Total:0] ('192.168.1.11')

FIX 1:
  Next you will need to create a folder called accounts and inside this folder you will need to create and save a file called sphereaccu.scp.
    mkdir accounts
    touch accounts/sphereaccu.scp

  The same rules apply as to the files you previously created, though this one does not require the [eof] text.

FIX 2:
  Edit sphere.ini and change:
    //Code for servers account application process
    //  0=Closed,       // Closed. Not accepting more.
    //  2=Free,         // Anyone can just log in and create a full account.
    //  3=GuestAuto,    // You get to be a guest and are automatically sent email with u're new password.
    //  4=GuestTrial,   // You get to be a guest til u're accepted for full by an Admin.
    //  6=Unspecified,  // Not specified.
    // To enable auto account you must set this to 2
    AccApp=2


--------------------
ERROR:
  WARNING:1:Bad Login 13 (Unencrypted client not permitted. See the USENOCRYPT setting in sphere.ini)

FIX:
  Edit sphere.ini and set:
    // Set this to 1 to allow login to unencrypted clients
    UseNoCrypt=1


--------------------
ERROR:
  16:31:FATAL:Secure Mode prevents CTRL+C

FIX 1:
  From the blank CLI, run "shutdown 1". This will cause the server to shutdown in 1 minute.

FIX 2:
  Edit sphere.ini and change the following line to:
    // Secure mode attempts to ignore errors, protect from accidently shutdowns
    Secure=0



RE: HOW TO INSTALL TO LINUX (INSTRUCTIONS) (Sphere .56b) - XuN - 04-09-2015 04:31 PM

Nice guide, good work, does current nightly work following this guide too?


RE: HOW TO INSTALL TO LINUX (INSTRUCTIONS) (Sphere .56b) - slacker - 04-09-2015 09:08 PM

I haven't tried nightly but I assume the only difference would be that you have to set "ACCEPT=1" in sphere.ini on nightly.


RE: HOW TO INSTALL TO LINUX (INSTRUCTIONS) (Sphere .56b) - Pestilence - 06-23-2015 04:07 AM

I highly not recommend using linux builds, it's such a freaking pain in sweety place... And you'll be like me: waiting for weeks to get bugs fixed Big Grin


RE: HOW TO INSTALL TO LINUX (INSTRUCTIONS) (Sphere .56b) - Ben - 06-23-2015 11:00 AM

...and these are the kind of smart ass remarks that makes me not want to fix anything.


RE: HOW TO INSTALL TO LINUX (INSTRUCTIONS) (Sphere .56b) - Pestilence - 06-23-2015 11:59 AM

(06-23-2015 11:00 AM)Ben Wrote:  ...and these are the kind of smart ass remarks that makes me not want to fix anything.

I was slightly upset after got this bug on nightly Big Grin (even if i was told 'it's your client's problem')


RE: HOW TO INSTALL TO LINUX (INSTRUCTIONS) (Sphere .56b) - roberpot - 06-23-2015 05:36 PM

Sphere .56b has no problems with Linux. The version that has problems is .56c.

.56c version is a development version and is normal to get bugs. In the nightly download section of the web there is a remark:

"This website contains experimental builds for SphereServer 0.56c.
These builds are made straight from the source out of SVN every night at 1am (TZ EU/Berlin) and are not checked for stability in any way. Therefore it is not recommended to use these builds on a live shard. You will also not receive support for these builds if you do run into problems."

So if we are in troubles with this version, we have to report the problem and wait until the problem is solved.


RE: HOW TO INSTALL TO LINUX (INSTRUCTIONS) (Sphere .56b) - Pestilence - 06-24-2015 01:32 AM

> we have to report the problem and wait until the problem is solved.
Backstory: I reported this bug... 2 or 3 weeks ago... but got answer "It's your client problem"


RE: HOW TO INSTALL TO LINUX (INSTRUCTIONS) (Sphere .56b) - slacker - 07-16-2015 11:11 AM

Ben, I still love you, don't stop working on the Linux server...


RE: HOW TO INSTALL TO LINUX (INSTRUCTIONS) (Sphere .56b) - Ben - 07-16-2015 12:17 PM

Don't worry, I'm still arround, but just overloaded right now. I have to back off from sphere untill everything at home settles down.