Jump to content

[HowTo] Run a PRoCon Layer (1.4.0.6) with Linux+mono


ImportBot

Recommended Posts

Originally Posted by XpKiller*:

 

Setting up Procon on Linux

 

NOTICE: PRoCon is developed for Windows! Expect Problems! You will NOT get the same support as if you running it on Windows

 

Supported PRoCon Versions:

  • PRoCon 1.4.0.6 is WORKING

Requirements:

  • a Server with Linux
  • Mono 2.6+ installed ( other Version might work)
  • on Debian mono 2.6.7 (Debian 2.6.7-5) is working
  • Some linux knowledge
  • a text editor of your choice (nano, vim, ...)
  • No root rights needed

Step-by-Step

 

  • Download PRoCon and put on your linux host
  • create a folder and unzip the zip there

    Code:

    mkdir PRoCon-1.2.0.0
    
    cp procon-1.2.0.0.zip PRoCon-1.2.0.0/
    
    cd PRoCon-1.2.0.0
    
    unzip procon-1.2.0.0
    Now it should look like this:

    Code:

    drwxr-xr-x 3 xpkiller users     4096  6. Apr 12:51 Configs
    -rw-r--r-- 1 xpkiller users  1345396  7. Mär 22:09 GeoIP.dat
    -rw-r--r-- 1 xpkiller users   199680 16. Mär 12:11 Ionic.Zip.Reduced.dll
    drwxr-xr-x 2 xpkiller users     4096  6. Apr 12:57 Localization
    drwxr-xr-x 5 xpkiller users     4096  6. Apr 12:51 Media
    drwxr-xr-x 5 xpkiller users     4096  6. Apr 12:51 Plugins
    -rwxr--r-- 1 xpkiller users 15652065  6. Apr 13:45 procon_1.2.0.0.zip
    -rw-r--r-- 1 xpkiller users     6144  6. Apr 12:50 PRoCon.Console.exe
    -rw-r--r-- 1 xpkiller users    13824  6. Apr 12:50 PRoCon.Console.pdb
    -rw-r--r-- 1 xpkiller users   585216  6. Apr 12:19 PRoCon.Core.dll
    -rw-r--r-- 1 xpkiller users   935424  6. Apr 12:19 PRoCon.Core.pdb
    -rw-r--r-- 1 xpkiller users   282112 16. Mär 12:11 procon.doc
    -rw-r--r-- 1 xpkiller users  1171456  6. Apr 12:50 PRoCon.exe
    -rw-r--r-- 1 xpkiller users  1013248  6. Apr 12:50 PRoCon.pdb
    -rw-r--r-- 1 xpkiller users     6144  6. Apr 12:51 PRoCon.Service.exe
    -rw-r--r-- 1 xpkiller users    17920  6. Apr 12:51 PRoCon.Service.pdb
    -rw-r--r-- 1 xpkiller users    62464  6. Apr 12:50 PRoConUpdater.exe
    -rw-r--r-- 1 xpkiller users    34304  6. Apr 12:50 ProConUpdater.pdb
  • run the Procon.Console.exe to create the Configs

    Code:

    xpkiller@linux-ty0m:~/PRoCon_1.2.0.0> mono PRoCon.Console.exe 
    Procon Frostbite
    ================
    By executing this application you agree to the license available at:
            http://myrcon.com/licenses/myrcon.pdf
    If you do not agree you must immediately exit this application.
    ================
    This is a cut down version of PRoCon.exe to be used by GSPs and PRoCon Hosts.
    Executing this file is the same as "PRoCon.exe -console 1"
    No output is given.  This is as cut down as we're gunno get..
    
    Executing procon...
    Running... (Press any key to shutdown)
  • Stop it by press any Key
  • Now look at the Config folder and open the procon.cfg

    Code:

    /////////////////////////////////////////////
    // This config will be overwritten by procon.
    /////////////////////////////////////////////
    procon.private.window.position Normal 0 0 0 0
    procon.private.options.setLanguage ""
    procon.private.options.chatLogging False
    procon.private.options.consoleLogging False
    procon.private.options.eventsLogging False
    procon.private.options.pluginLogging False
    procon.private.options.autoCheckDownloadUpdates True
    procon.private.options.autoApplyUpdates False
    procon.private.options.showtrayicon True
    procon.private.options.minimizetotray False
    procon.private.options.closetotray False
    procon.private.options.allowanonymoususagedata True
    procon.private.options.runPluginsInSandbox False
    procon.private.options.allowAllODBCConnections False
    procon.private.options.allowAllSmtpConnections False
    procon.private.options.adminMoveMessage True
    procon.private.options.chatDisplayAdminName True
    procon.private.options.layerHideLocalPlugins True
    procon.private.options.layerHideLocalAccounts True
    procon.private.options.ShowRoundTimerConstantly False
    procon.private.httpWebServer.enable False 27360 "0.0.0.0"
    procon.private.options.trustedHostDomainsPorts
  • Add your server

    Code:

    procon.private.servers.name "85.14.234.211" 47200 "German Wildcards [GWC] Conquest | 300% Tickets | GGC-Stream"
    procon.private.servers.add "85.14.234.211" 47200 "rconpassword"
    Important:

    Set the languges:

    Code:

    procon.private.options.setLanguage "au.loc"
    And set those lines to "False" otherwise it will crash

    Code:

    procon.private.options.autoCheckDownloadUpdates False
    procon.private.options.autoApplyUpdates False
    procon.private.options.allowanonymoususagedata False
    Note:

    You might change the sandbox setting to false.

  • Now you need to create the server config file:

    The name needs to match with the server in the procon.cfg file

    Like:" 85.14.234.211_47200.cfg"

  • Paste the default content:

    Code:

    /////////////////////////////////////////////
    // This config will be overwritten by procon.
    /////////////////////////////////////////////
    procon.protected.layer.enable True 27260 "0.0.0.0" "PRoCon[%servername%]"
    procon.protected.playerlist.settings true 2 0,4939024 0,5
    procon.protected.chat.settings False False True 0 0
    procon.protected.events.captures False 200 False
    procon.protected.lists.settings False
    procon.protected.console.settings True True True True True True
    procon.protected.timezone_UTCoffset 0
    Note:

    You might want to change the layerport/ip.

  • Now we need to create the first layer account

    Open accounts.cfg:

    Paste this:

    Code:

    /////////////////////////////////////////////
    // This config will be overwritten by procon.
    /////////////////////////////////////////////
    procon.public.accounts.create "Test" "test"
  • Now open your server config again add the privileges

    85.14.234.211_47200.cfg

     

    Code:

    /////////////////////////////////////////////
    // This config will be overwritten by procon.
    /////////////////////////////////////////////
    procon.protected.layer.setPrivileges "Test" 3972679
    procon.protected.layer.enable True 27260 "0.0.0.0" "PRoCon[%servername%]"
    procon.protected.playerlist.settings true 2 0,4939024 0,5
    procon.protected.chat.settings False False True 0 0
    procon.protected.events.captures False 200 False
    procon.protected.lists.settings False
    procon.protected.console.settings True True True True True True
    procon.protected.timezone_UTCoffset 0
  • Now the Config part is done!
  • Run the Console and try to connect to it

    Code:

    mono ProCon.Console.exe
    If you can connect, lets go to the next step and run it as a service
  • Create a startup.sh

    Code:

    #!/bin/bash
    cd /home/xpkiller/PRoCon_1.2.0.0
    mono-service2 -l:./proconservice.lock PRoCon.Service.exe
    make it executable

    Code:

    chmod +rx startup.sh
  • Create the shutdown.sh

     

    Code:

    #!/bin/bash
    
    cd /home/xpkiller/PRoCon_1.2.0.0
    
    kill `cat ./proconservice.lock`
    make it executable

    Code:

    chmod +rx shutdown.sh
  • Workaround for Version 1.4.0.5/6

    You need to create a symlink in the Proconbasedir:

    Code:

    ln -s mysql.data.dll MySql.Data.dll
  • Run the startup.sh
  • Now you should be able to connect to your new Linux PRoCon Layer Server, Enjoy
  • To Stop the Service execute the shutdown.sh file

Note:

The PRoCon Service takes about 20 - 25 MB of Ram

 

 

Troubleshooting:

 

  • Check if the Process is running

    Code:

    ps -ef | grep mono
  • Check if the IP and port is bound

    Code:

    netstat -nlp | grep mono

 

Please give Feedback

* Restored post. It could be that the author is no longer active.
Link to comment
  • Replies 90
  • Created
  • Last Reply

Originally Posted by XpKiller*:

 

Fixed a typo in Step 13.

 

Code:

#!/bin/bash
cd /home/xpkiller/PRoCon_1.2.0.0
mono-service2 -l:./proconservice.lock PRoCon.Service.exe
instead of

Code:

#!/bin/bash
cd /home/xpkiller/PRoCon_1.2.0.0
mono-service2 -l:./proconservice.lock ProCon.Service.exe
* Restored post. It could be that the author is no longer active.
Link to comment

Originally Posted by kayjay*:

 

Does plugin work with this? I remember a thread a while back that had something to do with running procon under linux, but as a result one wouldn't be able to run plugins..

* Restored post. It could be that the author is no longer active.
Link to comment

Originally Posted by NSGod*:

 

Nice...

 

Preliminary tests show that this may also work in Mac OS X with the mono framework installed (/Library/Frameworks/Mono.framework).

 

If I have a chance, I'll take a break from (my) ProconCore.framework and look at whipping up a GUI to add the LaunchAgent launchd job (already did something like that in "Other Apps Helper" part of Source Finagler; shouldn't be too hard to repurpose it).

* Restored post. It could be that the author is no longer active.
Link to comment
  • 1 month later...

Originally Posted by k4n30*:

 

Just a suggestion or idea, setup procon config on windows ie: Steps 1 - 11 as alot of this is easier using the GUI, then zip it up and unzip on Linux and go from step 12 onwards.

 

Saves alot of time, but there may be something I'm missing. I'm not very experienced in Linux.

 

Also if there was a problem eg: You state its not developed for windows, can you then zip it up again and move it to a windows machine and debug if necessary?

* Restored post. It could be that the author is no longer active.
Link to comment

Originally Posted by ronin*:

 

Also if there was a problem eg: You state its not developed for windows, can you then zip it up again and move it to a windows machine and debug if necessary?

procon layer IS developed for windows its linux its not.
* Restored post. It could be that the author is no longer active.
Link to comment

Originally Posted by Phil_K*:

 

Hi.

 

We have no dedicated development focus which covers linux like iOS done by Decker and Android by leomar75.

 

Procon Frostbite is developed for Windows but we tried to have it mono compatible. This allows to run it on Linux with the help of mono. I would guess it also might run under Mac OS X with the help of mono.

 

But to answer k4n30 question:

You could zip up your Linux hosted Procon folder, transfer it to a Windows machine and run it there for debug because the same files are used as mono runs the windows files.

 

Greets

Phil.

* Restored post. It could be that the author is no longer active.
Link to comment
  • 3 weeks later...

Originally Posted by Mikey85_PL*:

 

Hi,

 

My procon on linux is working, comunicating with server, but it can't see any plugins, can anyone help me to fix it?

 

Sorry for my english.

Greets

Mikey

* Restored post. It could be that the author is no longer active.
Link to comment

Originally Posted by khyoshi*:

 

Out of interest...are there are advantages to running the layer on Linux as opposed to Windows?

I would say if you happen to already run a linux-based server for other things then the advantage would be that you dont have to have a new machine for this.
* Restored post. It could be that the author is no longer active.
Link to comment

Originally Posted by Geordie_Ben*:

 

A Noobie question here guys,

 

Is Centos 5x a linux os? I have followed all the steps and im getting an error while hitting "mono ProCon.Console.exe" saying "Cannot open assembly ProCon.Console.exe."

 

I dont have the greatest of knowledge on CentOS :ohmy:

 

Regards,

Geordie

* Restored post. It could be that the author is no longer active.
Link to comment

Originally Posted by XpKiller*:

 

Could you check the mono version. Centos is linux disti which stuck very long on old software version. You might need to install an additional software repro to get an newer mono release. Are you file permissions are correct?

* Restored post. It could be that the author is no longer active.
Link to comment

Originally Posted by Geordie_Ben*:

 

Could you check the mono version. Centos is linux disti which stuck very long on old software version. You might need to install an additional software repro to get an newer mono release. Are you file permissions are correct?

Hey XpKiller,

 

Heres my version of mono --version,

 

Mono JIT compiler version 2.10.8 (tarball Wed Jun 27 00:07:07 BST 2012)

Copyright © 2002-2011 Novell, Inc, Xamarin, Inc and Contributors. www.mono-project.com

TLS: __thread

SIGSEGV: altstack

Notifications: epoll

Architecture: amd64

Disabled: none

Misc: softdebug

LLVM: supported, not enabled.

GC: Included Boehm (with typed GC and Parallel Mark)

 

As for the file perms, what do i need to check? I'm running everything as root user on the vps. If you would be so kind to instruct me on what needs doing with the file perm that would be great.

 

Regards,

Geordie

* Restored post. It could be that the author is no longer active.
Link to comment

Originally Posted by Geordie_Ben*:

 

P.s

 

Just managed to run it, now i see this...

 

 

 

Unhandled Exception: System.NullReferenceException: Object reference not set to an instance of an object

at PRoCon.Core.PRoConApplication.HighestNetFrameworkV ersion () [0x00000] in :0

at PRoCon.Core.PRoConApplication.SendUsageData () [0x00000] in :0

at PRoCon.Core.PRoConApplication.ReconnectVersionChec ker () [0x00000] in :0

at System.Threading.Thread.StartInternal () [0x00000] in :0

[ERROR] FATAL UNHANDLED EXCEPTION: System.NullReferenceException: Object reference not set to an instance of an object

at PRoCon.Core.PRoConApplication.HighestNetFrameworkV ersion () [0x00000] in :0

at PRoCon.Core.PRoConApplication.SendUsageData () [0x00000] in :0

at PRoCon.Core.PRoConApplication.ReconnectVersionChec ker () [0x00000] in :0

at System.Threading.Thread.StartInternal () [0x00000] in :0

root@geordie [~/PRoCon-1.2.0.0]#

* Restored post. It could be that the author is no longer active.
Link to comment

Originally Posted by Phil_K*:

 

Hi.

 

The 1.2.0.0 has a bug dealing with the creation of the usage.xml which is fixed in the next version.

Take a look at the procon.cfg and set "procon.private.options.allowanonymoususagedat a" to False.

 

Greets

Phil.

* Restored post. It could be that the author is no longer active.
Link to comment

Originally Posted by johnny5*:

 

Are you guys saying it works? Or it sort of works.

 

I'll give it go if you say it works.

 

I think you said it sort of works, sorry bout that.

* Restored post. It could be that the author is no longer active.
Link to comment

Originally Posted by Geordie_Ben*:

 

Thanks Xp,

 

I have this now working, the only issue im now facing is startup.sh to run this as a service.

 

i get this error............... "-bash: ./startup.sh: /bin/bash^M: bad interpreter: No such file or directory"

 

And this is how my code looks

 

#!/bin/bash

cd /root/PRoCon_1.2.0.0

mono-service2 -l:./proconservice.lock PRoCon.Service.exe

 

Does anything look out of place here?

 

Regards,

Geordie

* Restored post. It could be that the author is no longer active.
Link to comment

Originally Posted by XpKiller*:

 

Thanks Xp,

 

I have this now working, the only issue im now facing is startup.sh to run this as a service.

 

i get this error............... "-bash: ./startup.sh: /bin/bash^M: bad interpreter: No such file or directory"

 

And this is how my code looks

 

#!/bin/bash

cd /root/PRoCon_1.2.0.0

mono-service2 -l:./proconservice.lock PRoCon.Service.exe

 

Does anything look out of place here?

 

Regards,

Geordie

it seems that you dont have bash installed try

 

#!/bin/sh instead of #!/bin/bash

* Restored post. It could be that the author is no longer active.
Link to comment

Originally Posted by Geordie_Ben*:

 

it seems that you dont have bash installed try

 

#!/bin/sh instead of #!/bin/bash

No that still gives me the same error Killer :sad:

 

EDIT: I'm sure i have bash installed aswell, i run a bot.sh for a ts3 bot and that has a bash command init

* Restored post. It could be that the author is no longer active.
Link to comment

Originally Posted by XpKiller*:

 

strange

and what happens if leave that line out?

 

Are the file permissions are correct? is the files executeable?

 

try chmod +x startup.sh

* Restored post. It could be that the author is no longer active.
Link to comment

Originally Posted by Phil_K*:

 

Hi.

 

Thanks Xp,

 

I have this now working, the only issue im now facing is startup.sh to run this as a service.

 

i get this error............... "-bash: ./startup.sh: /bin/bash^M: bad interpreter: No such file or directory"

The file has line breaks encoded for windows, see the ^M at the end.

You can use vi to edit and delete them or do a dos2unix convert.

 

Greets

Phil.

* Restored post. It could be that the author is no longer active.
Link to comment

Originally Posted by Geordie_Ben*:

 

Hey Guys,

 

Thank you both for your support, i got this 100% working. The startup.sh did indeed have linebreaks init and that seemed to have done the trick, so a massive thanks for all the support :biggrin:

 

Regards,

Geordie

* Restored post. It could be that the author is no longer active.
Link to comment

Archived

This topic is now archived and is closed to further replies.




  • Our picks

    • Game Server Hosting:

      We're happy to announce that EZRCON will branch out into the game server provider scene. This is a big step for us so please having patience if something doesn't go right in this area. Now, what makes us different compared to other providers? Well, we're going with the idea of having a scaleable server hosting and providing more control in how you set up your server. For example, in Minecraft, you have the ability to control how many CPU cores you wish your server to have access to, how much RAM you want to use, how much disk space you want to use. This type of control can't be offered in a single service package so you're able to configure a custom package the way you want it.

      You can see all the available games here. Currently, we have the following games available.

      Valheim (From $1.50 USD)


      Rust (From $3.20 USD)


      Minecraft (Basic) (From $4.00 USD)


      Call of Duty 4X (From $7.00 USD)


      OpenTTD (From $4.00 USD)


      Squad (From $9.00 USD)


      Insurgency: Sandstorm (From $6.40 USD)


      Changes to US-East:

      Starting in January 2022, we will be moving to a different provider that has better support, better infrastructure, and better connectivity. We've noticed that the connection/routes to this location are not ideal and it's been hard getting support to correct this. Our contract for our two servers ends in March/April respectively. If you currently have servers in this location you will be migrated over to the new provider. We'll have more details when the time comes closer to January. The new location for this change will be based out of Atlanta, GA. If you have any questions/concerns please open a ticket and we'll do our best to answer them.
      • 5 replies
    • Hello All,

      I wanted to give an update to how EZRCON is doing. As of today we have 56 active customers using the services offered. I'm glad its doing so well and it hasn't been 1 year yet. To those that have services with EZRCON, I hope the service is doing well and if not please let us know so that we can improve it where possible. We've done quite a few changes behind the scenes to improve the performance hopefully. 

      We'll be launching a new location for hosting procon layers in either Los Angeles, USA or Chicago, IL. Still being decided on where the placement should be but these two locations are not set in stone yet. We would like to get feedback on where we should have a new location for hosting the Procon Layers, which you can do by replying to this topic. A poll will be created where people can vote on which location they would like to see.

      We're also looking for some suggestions on what else you would like to see for hosting provider options. So please let us know your thoughts on this matter.
      • 4 replies
    • Added ability to disable the new API check for player country info


      Updated GeoIP database file


      Removed usage sending stats


      Added EZRCON ad banner



      If you are upgrading then you may need to add these two lines to your existing installation in the file procon.cfg. To enable these options just change False to True.

      procon.private.options.UseGeoIpFileOnly False
      procon.private.options.BlockRssFeedNews False



       
      • 2 replies
    • I wanted I let you know that I am starting to build out the foundation for the hosting services that I talked about here. The pricing model I was originally going for wasn't going to be suitable for how I want to build it. So instead I decided to offer each service as it's own product instead of a package deal. In the future, hopefully, I will be able to do this and offer discounts to those that choose it.

      Here is how the pricing is laid out for each service as well as information about each. This is as of 7/12/2020.

      Single MySQL database (up to 30 GB) is $10 USD per month.



      If you go over the 30 GB usage for the database then each additional gigabyte is charged at $0.10 USD each billing cycle. If you're under 30GB you don't need to worry about this.


      Databases are replicated across 3 zones (regions) for redundancy. One (1) on the east coast of the USA, One (1) in Frankfurt, and One (1) in Singapore. Depending on the demand, this would grow to more regions.


      Databases will also be backed up daily and retained for 7 days.




      Procon Layer will be $2 USD per month.


      Each layer will only allow one (1) game server connection. The reason behind this is for performance.


      Each layer will also come with all available plugins installed by default. This is to help facilitate faster deployments and get you up and running quickly.


      Each layer will automatically restart if Procon crashes. 


      Each layer will also automatically restart daily at midnight to make sure it stays in tip-top shape.


      Custom plugins can be installed by submitting a support ticket.




      Battlefield Admin Control Panel (BFACP) will be $5 USD per month


      As I am still working on building version 3 of the software, I will be installing the last version I did. Once I complete version 3 it will automatically be upgraded for you.





      All these services will be managed by me so you don't have to worry about the technical side of things to get up and going.

      If you would like to see how much it would cost for the services, I made a calculator that you can use. It can be found here https://ezrcon.com/calculator.html

       
      • 11 replies
    • I have pushed out a new minor release which updates the geodata pull (flags in the playerlisting). This should be way more accurate now. As always, please let me know if any problems show up.

       
      • 9 replies
×
×
  • Create New...

Important Information

Please review our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.