FOnline Development > General Discussion

FOnline server on Linux

(1/2) > >>

Rynn:
Yop!

Just a simple question: Do you have some feedback about running a FOnline server on linux ?
I have made some test on an Ubuntu with Wine and it seems to work. Do you have more info ?

ronillon:

--- Quote from: Rynn on February 19, 2013, 06:47:11 pm ---Yop!

Just a simple question: Do you have some feedback about running a FOnline server on linux ?
I have made some test on an Ubuntu with Wine and it seems to work. Do you have more info ?

--- End quote ---

Im running the client on linux for a couple of weeks now. It's stability seems ok.

Tried the server too and it seems it's also running fine.

P4, 1GB DDR, Ubuntu 12.04 LTS, Wine 1.4

kevin:
There's a linux version of server in SDK, no need to use Wine.
It was a loooong time when I last touched SDK(especially on linux), so don't ask me how to run it :D

If I remember right, jan0s1k made a nice tutorial for running server on linux on the old fonline.ru forum. Sadly old forum is gone :( but ask jan0s1k, he probably can help you.

jan0s1k:

--- Quote from: kevin on February 19, 2013, 07:52:39 pm ---There's a linux version of server in SDK, no need to use Wine.
It was a loooong time when I last touched SDK(especially on linux), so don't ask me how to run it :D

If I remember right, jan0s1k made a nice tutorial for running server on linux on the old fonline.ru forum. Sadly old forum is gone :( but ask jan0s1k, he probably can help you.

--- End quote ---
Ya, it gone even from google cache :<
Anyway in sdk repository you can find all the packages needed to launch native version of server and client (or even if you don't want to install additional libraries, then you can just use env for it ;) - there are unpacked libraries in this file as well). However as I remember launching server under wine was more efficent (to be even more you can compile wine with Misiolap patches - it can help also with displaying ip addresses of the players)

If you want to run native version, I've made init script for it (using admin panel and netcat) :

--- Code: (bash) ---#! /bin/sh
### BEGIN INIT INFO
# Provides:          FOnlineServer
# Short-Description: FOnline server application
### END INIT INFO
#
# Author: jan0s1k <jan0s1k@fode.eu>
#
PATH=/usr/sbin:/usr/bin:/sbin:/bin
DESC="FOnline Server Daemon"
NAME=FOnlineServerDaemon
SCRIPTNAME=/etc/init.d/foserver
DAEMON_ARGS=
USER_PATH=/home/jan0s1k/sdk/Server # Your FOServer localization
SERVER_PORT=4000 # From Port in FOnlineServer.cfg
IP_SERVER=127.0.0.1
ADMIN_PORT=4001 # From AdminPanelPort in FOnlineServer.cfg
ADMIN_PASS="Your_Admin_Password" # From Access_admin in FOnlineServer.cfg
DAEMON=$USER_PATH/$NAME
PIDFILE=$USER_PATH/foserver.pid # Not implemented

. /lib/lsb/init-functions

case "$1" in
  start)
        log_daemon_msg "Starting $DESC" "$NAME"
        $DAEMON $DAEMON_ARGS
        log_end_msg $?
        ;;
  stop)
        log_daemon_msg "Stopping $DESC" "$NAME"
        nc $IP_SERVER $ADMIN_PORT -c "sleep 2s && echo $ADMIN_PASS && sleep 2s && echo stop && sleep 2s && echo kill &&$
        log_end_msg $?
        ;;
  restart)
        log_daemon_msg "Restarting $DESC" "$NAME"
        nc $IP_SERVER $ADMIN_PORT -c "sleep 2s && echo $ADMIN_PASS && sleep 2s && echo stop && sleep 2s && echo kill &&$
        $DAEMON
        log_end_msg $?
        ;;
 force-restart)
        log_daemon_msg "Restarting with force $DESC" "$NAME"
        killall $NAME
        $DAEMON
        log_end_msg $?
        ;;
  reloadcs)
        log_daemon_msg "Reloading Client Scripts"
        nc $IP_SERVER $ADMIN_PORT -c "sleep 2s && echo $ADMIN_PASS && sleep 2s && echo '~rcs' && sleep 2s && echo exit"
        log_end_msg $?
        ;;
  reloads)
        log_daemon_msg "Reloading Scripts"
        nc $IP_SERVER $ADMIN_PORT -c "sleep 2s && echo $ADMIN_PASS && sleep 2s && echo '~reloadscripts' && echo exit"
        log_end_msg $?
        ;;
  status)
        #sleep 2s && echo 'abc' && sleep 2s && echo 'state' | nc $IP_SERVER $ADMIN_PORT
        echo "Not implemented yet.."
        ;;
  players)
        netstat -t -n|grep $SERVER_PORT|grep ESTABLISHED|wc -l
        ;;
  *)
        echo "Usage: $SCRIPTNAME {start|stop|restart|force-restart|reloadcs|reloads|players}"
        exit 1
        ;;
esac
exit 0


--- End code ---

Rynn:
Thank's for your feedback !

Navigation

[0] Message Index

[#] Next page

Go to full version