[Tutorial] How to run MCDzienny on CentOS using Mono

[Tutorial] How to run MCDzienny on CentOS using Mono

Postby radiovision » 30 Jul 2011, 10:48

This is what I have found to be the easiest way to install Mono and MCDzienny on a CentOS server. I have tested this on CentOS 5.6 but I believe it will work for CentOS 6 too.

Firstly we will install Mono, required to run MCDzienny on Linux systems.

1) Create a new repo config file
Code: Select all
cd /etc/yum.repos.d
vi mono.repo


2) Add the following lines to the file
Code: Select all
[Mono]
name=Mono Stack (RHEL_5)
type=rpm-md
baseurl=http://ftp.novell.com/pub/mono/download-stable/RHEL_5/
gpgcheck=1
gpgkey=http://ftp.novell.com/pub/mono/download-stable/RHEL_5/repodata/repomd.xml.key
enabled=1


3) Update the yum cache
Code: Select all
yum clean all


4) Install the Mono server stack
Code: Select all
yum install monotools-addon-server

The installed binaries will end up in "/opt/novell/mono/bin".

5) Issue the following command to set up your shell environment so that it finds mono, mcs and the other mono tools
Code: Select all
source /opt/novell/mono/bin/mono-addon-environment.sh


6) Verify the version to check Mono installed correctly
Code: Select all
mono --version

Mono JIT compiler version 2.6.7 (tarball Mon Jul 19 18:28:58 UTC 2010)
Copyright (C) 2002-2010 Novell, Inc and Contributors. www.mono-project.com
        TLS:           __thread
        GC:            Included Boehm (with typed GC and Parallel Mark)
        SIGSEGV:       altstack
        Notifications: epoll
        Architecture:  amd64
        Disabled:      none


7) Then issue the following command to make the Mono environment we just created permanent
Code: Select all
cp /opt/novell/mono/bin/mono-addon-environment.sh /etc/profile.d


8) To complete the Mono installation we will install WCF, which will also install winforms for Mono among other dependencies
Code: Select all
yum install mono-addon-wcf


Now we have installed Mono, we now need to download and install MCDzienny

8) Download the latest version of MCDzienny and extract all the files onto your server

9) From the MCDzienny directory, open properties/server.properties and change the Running on Mono property to true

10) Run the lava server from the MCDzienny directory using the command mono --gc=sgen MCDziennyCLI.exe , hurray!
radiovision
 
Posts: 11
Joined: 09 Jul 2011, 16:27

Re: [Tutorial] How to run MCDzienny on CentOS using Mono

Postby Siedge » 03 Jul 2012, 08:37

Code: Select all
exception inside UnhandledException handler: An exception was thrown by the type initializer for System.Windows.Forms.ThemeEngine

[ERROR] FATAL UNHANDLED EXCEPTION: System.TypeInitializationException: An exception was thrown by the type initializer for System.Windows.Forms.WindowsFormsSynchronizationContext ---> System.TypeInitializationException: An exception was thrown by the type initializer for System.Windows.Forms.ThemeEngine ---> System.ArgumentException: The requested FontFamily could not be found [GDI+ status: FontFamilyNotFound]
  at System.Drawing.GDIPlus.CheckStatus (Status status) [0x00000] in <filename unknown>:0
  at System.Drawing.FontFamily..ctor (GenericFontFamilies genericFamily) [0x00000] in <filename unknown>:0
  at (wrapper remoting-invoke-with-check) System.Drawing.FontFamily:.ctor (System.Drawing.Text.GenericFontFamilies)
  at System.Drawing.FontFamily.get_GenericSansSerif () [0x00000] in <filename unknown>:0
  at System.Drawing.Font.CreateFont (System.String familyName, Single emSize, FontStyle style, GraphicsUnit unit, Byte charSet, Boolean isVertical) [0x00000] in <filename unknown>:0
  at System.Drawing.Font..ctor (System.String familyName, Single emSize, FontStyle style, GraphicsUnit unit, Byte gdiCharSet, Boolean gdiVerticalFont) [0x00000] in <filename unknown>:0
  at System.Drawing.Font..ctor (System.String familyName, Single emSize, System.String systemName) [0x00000] in <filename unknown>:0
  at (wrapper remoting-invoke-with-check) System.Drawing.Font:.ctor (string,single,string)
  at System.Drawing.SystemFonts.get_DefaultFont () [0x00000] in <filename unknown>:0
  at System.Windows.Forms.Theme..ctor () [0x00000] in <filename unknown>:0
  at System.Windows.Forms.ThemeWin32Classic..ctor () [0x00000] in <filename unknown>:0
  at System.Windows.Forms.ThemeVisualStyles..ctor () [0x00000] in <filename unknown>:0
  at System.Windows.Forms.ThemeEngine..cctor () [0x00000] in <filename unknown>:0
  --- End of inner exception stack trace ---
  at System.Windows.Forms.SystemInformation.get_MenuAccessKeysUnderlined () [0x00000] in <filename unknown>:0
  at System.Windows.Forms.Control..ctor () [0x00000] in <filename unknown>:0
  at (wrapper remoting-invoke-with-check) System.Windows.Forms.Control:.ctor ()
  at System.Windows.Forms.WindowsFormsSynchronizationContext..cctor () [0x00000] in <filename unknown>:0
  --- End of inner exception stack trace ---
  at System.Windows.Forms.Control..ctor () [0x00000] in <filename unknown>:0
  at System.Windows.Forms.ScrollableControl..ctor () [0x00000] in <filename unknown>:0
  at System.Windows.Forms.ContainerControl..ctor () [0x00000] in <filename unknown>:0
  at System.Windows.Forms.Form..ctor () [0x00000] in <filename unknown>:0
  at System.Windows.Forms.MessageBox+MessageBoxForm..ctor (IWin32Window owner, System.String text, System.String caption, MessageBoxButtons buttons, MessageBoxIcon icon, Boolean displayHelpButton) [0x00000] in <filename unknown>:0
  at System.Windows.Forms.MessageBox+MessageBoxForm..ctor (IWin32Window owner, System.String text, System.String caption, MessageBoxButtons buttons, MessageBoxIcon icon) [0x00000] in <filename unknown>:0
  at (wrapper remoting-invoke-with-check) System.Windows.Forms.MessageBox/MessageBoxForm:.ctor (System.Windows.Forms.IWin32Window,string,string,System.Windows.Forms.MessageBoxButtons,System.Windows.Forms.MessageBoxIcon)
  at System.Windows.Forms.MessageBox.Show (System.String text) [0x00000] in <filename unknown>:0
  at MCDzienny.PidgeonLogger.LogError (System.Exception ex) [0x00000] in <filename unknown>:0
  at MCDzienny.Logger.WriteError (System.Exception ex) [0x00000] in <filename unknown>:0
  at MCDzienny.Server.ErrorLog (System.Exception ex) [0x00000] in <filename unknown>:0
  at MCDzienny_.Gui.Program.Main (System.String[] args) [0x00000] in <filename unknown>:0
  at Starter.Program.openServer (System.String[] args) [0x00000] in <filename unknown>:0
  at Starter.Program.Main (System.String[] args) [0x00000] in <filename unknown>:0

Any idea?
Siedge
 
Posts: 9
Joined: 03 Jul 2012, 08:36

Re: [Tutorial] How to run MCDzienny on CentOS using Mono

Postby Ultima » 03 Jul 2012, 09:54

10) Run the lava server from the MCDziennyLava directory using the command mono --gc=sgen MCDziennyLava.exe


Try MCDziennyCLI.exe

That version is made for linux systems, MCDziennyLava.exe and MCDzienny.exe are for windows systems.
User avatar
Ultima
 
Posts: 953
Joined: 19 Aug 2011, 23:45

Re: [Tutorial] How to run MCDzienny on CentOS using Mono

Postby dzienny » 03 Jul 2012, 15:27

I updated the first post. It now refers to MCDziennyCLI.exe instead of MCDziennyLava.exe.
User avatar
dzienny
Administrator
 
Posts: 1181
Joined: 23 Jan 2011, 14:27

Re: [Tutorial] How to run MCDzienny on CentOS using Mono

Postby Siedge » 03 Jul 2012, 16:39

well the cli was the first thing i tried and it would give me this
Code: Select all
(17:41:17) Starting Server
(17:41:18) SQLite error: CREATE TABLE if not exists Players ( Name VARCHAR(20), IP CHAR(15), FirstLogin DATETIME, LastLogin DATETIME, totalLogin MEDIUMINT, Title CHAR(20), TotalDeaths SMALLINT, Money MEDIUMINT UNSIGNED, totalBlocks BIGINT, totalKicked MEDIUMINT, color VARCHAR(6), title_color VARCHAR(6), totalScore BIGINT, bestScore MEDIUMINT UNSIGNED, timesWon MEDIUMINT UNSIGNED, welcomeMessage VARCHAR(37), farewellMessage VARCHAR(37));
(17:41:18) SQLite settings have not been set! Please reference the MySQL_Setup.txt file on setting up MySQL!
(17:41:18) !!!Error! See logs/errors/2012-07-03error.txt for more information.
(17:41:19) SQLite error: CREATE TABLE if not exists Players ( Name VARCHAR(20), IP CHAR(15), FirstLogin DATETIME, LastLogin DATETIME, totalLogin MEDIUMINT, Title CHAR(20), TotalDeaths SMALLINT, Money MEDIUMINT UNSIGNED, totalBlocks BIGINT, totalKicked MEDIUMINT, color VARCHAR(6), title_color VARCHAR(6), totalScore BIGINT, bestScore MEDIUMINT UNSIGNED, timesWon MEDIUMINT UNSIGNED, welcomeMessage VARCHAR(37), farewellMessage VARCHAR(37), PRIMARY KEY (Name));
(17:41:19) !!!Error! See logs/errors/2012-07-03error.txt for more information.
(17:41:20) SQLite error: CREATE TABLE if not exists `Blockcube` (Username TEXT, TimePerformed DATETIME, X INTEGER, Y INTEGER, Z INTEGER, Type INTEGER, Deleted INTEGER)
(17:41:20) !!!Error! See logs/errors/2012-07-03error.txt for more information.
(17:41:20) SQLite error: SELECT * FROM `Zonecube`
(17:41:20) !!!Error! See logs/errors/2012-07-03error.txt for more information.
(17:41:21) SQLite error: SELECT * FROM `Portalscube`
(17:41:21) !!!Error! See logs/errors/2012-07-03error.txt for more information.
(17:41:21) Level "cube" loaded.
(17:41:21) Lava System started.
(17:41:21) 14 minutes left to lava flood
(17:41:21) siedge=4 map load fail.
(17:41:21) SethCloudx=4 map load fail.
(17:41:21) Creating a listening socket on the port 22565...
(17:41:21) Done.
(17:41:21) Remote console listener started.
(17:41:21) URL found: http://www.minecraft.net/classic/play/e7ceaf5b8992361b1be16b86a608fe18
(17:41:22) SQLite error: SELECT COUNT(Name) FROM Players
(17:41:22) Setting up server is finished.
(17:41:24) 216.45.48.250 connected to the server.
(17:41:24) 216.45.48.250 disconnected.
(17:41:24) Port 22565 is open!
Siedge
 
Posts: 9
Joined: 03 Jul 2012, 08:36

Re: [Tutorial] How to run MCDzienny on CentOS using Mono

Postby dzienny » 03 Jul 2012, 17:05

Siedge wrote:well the cli was the first thing i tried and it would give me this
Code: Select all
(17:41:17) Starting Server
(17:41:18) SQLite error: CREATE TABLE if not exists Players ( Name VARCHAR(20), IP CHAR(15), FirstLogin DATETIME, LastLogin DATETIME, totalLogin MEDIUMINT, Title CHAR(20), TotalDeaths SMALLINT, Money MEDIUMINT UNSIGNED, totalBlocks BIGINT, totalKicked MEDIUMINT, color VARCHAR(6), title_color VARCHAR(6), totalScore BIGINT, bestScore MEDIUMINT UNSIGNED, timesWon MEDIUMINT UNSIGNED, welcomeMessage VARCHAR(37), farewellMessage VARCHAR(37));
(17:41:18) SQLite settings have not been set! Please reference the MySQL_Setup.txt file on setting up MySQL!
(17:41:18) !!!Error! See logs/errors/2012-07-03error.txt for more information.
(17:41:19) SQLite error: CREATE TABLE if not exists Players ( Name VARCHAR(20), IP CHAR(15), FirstLogin DATETIME, LastLogin DATETIME, totalLogin MEDIUMINT, Title CHAR(20), TotalDeaths SMALLINT, Money MEDIUMINT UNSIGNED, totalBlocks BIGINT, totalKicked MEDIUMINT, color VARCHAR(6), title_color VARCHAR(6), totalScore BIGINT, bestScore MEDIUMINT UNSIGNED, timesWon MEDIUMINT UNSIGNED, welcomeMessage VARCHAR(37), farewellMessage VARCHAR(37), PRIMARY KEY (Name));
(17:41:19) !!!Error! See logs/errors/2012-07-03error.txt for more information.
(17:41:20) SQLite error: CREATE TABLE if not exists `Blockcube` (Username TEXT, TimePerformed DATETIME, X INTEGER, Y INTEGER, Z INTEGER, Type INTEGER, Deleted INTEGER)
(17:41:20) !!!Error! See logs/errors/2012-07-03error.txt for more information.
(17:41:20) SQLite error: SELECT * FROM `Zonecube`
(17:41:20) !!!Error! See logs/errors/2012-07-03error.txt for more information.
(17:41:21) SQLite error: SELECT * FROM `Portalscube`
(17:41:21) !!!Error! See logs/errors/2012-07-03error.txt for more information.
(17:41:21) Level "cube" loaded.
(17:41:21) Lava System started.
(17:41:21) 14 minutes left to lava flood
(17:41:21) siedge=4 map load fail.
(17:41:21) SethCloudx=4 map load fail.
(17:41:21) Creating a listening socket on the port 22565...
(17:41:21) Done.
(17:41:21) Remote console listener started.
(17:41:21) URL found: http://www.minecraft.net/classic/play/e7ceaf5b8992361b1be16b86a608fe18
(17:41:22) SQLite error: SELECT COUNT(Name) FROM Players
(17:41:22) Setting up server is finished.
(17:41:24) 216.45.48.250 connected to the server.
(17:41:24) 216.45.48.250 disconnected.
(17:41:24) Port 22565 is open!


Check if "Database/database.db" was created. If yes, check if "Database" folder starts with upper-case and "database.db" starts with a lower-case.
User avatar
dzienny
Administrator
 
Posts: 1181
Joined: 23 Jan 2011, 14:27

Re: [Tutorial] How to run MCDzienny on CentOS using Mono

Postby Siedge » 03 Jul 2012, 17:18

Both are right.
Siedge
 
Posts: 9
Joined: 03 Jul 2012, 08:36

Re: [Tutorial] How to run MCDzienny on CentOS using Mono

Postby dzienny » 03 Jul 2012, 17:22

Siedge wrote:Both are right.


You may try changing the folder to "database" or "database.db" to "Database.db". It may be a matter of case-sensitiveness of Linux like systems. If it doesn't work there's always MySQL which in long run is more stable and better.
User avatar
dzienny
Administrator
 
Posts: 1181
Joined: 23 Jan 2011, 14:27

Re: [Tutorial] How to run MCDzienny on CentOS using Mono

Postby Siedge » 03 Jul 2012, 17:23

i tried mysql already and i got some errors with that to let me try again so i can grab the errors
Siedge
 
Posts: 9
Joined: 03 Jul 2012, 08:36

Re: [Tutorial] How to run MCDzienny on CentOS using Mono

Postby Siedge » 03 Jul 2012, 17:27

okay so i started with mysql and it said it was missing a mysql mono thingy and i installed it and that fixed it but now i get this

Code: Select all
[root@ks3093778 lavasurvival]# mono --gc=sgen MCDziennyCLI.exe
(18:27:54) Starting Server
(18:28:06) Level "cube" loaded.
(18:28:06) Lava System started.
(18:28:06) 14 minutes left to lava flood
(18:28:06) Creating a listening socket on the port 27565...
(18:28:06) Done.
(18:28:06) Remote console listener started.
(18:28:06) URL found: http://www.minecraft.net/classic/play/d9900b7d4a340c29424ae643a719e0a8
(18:28:10) Setting up server is finished.
(18:28:11) Port 27565 is open!
(18:28:11) 216.45.48.250 connected to the server.
(18:28:11) 216.45.48.250 disconnected.


After a few seconds it just closes down
Siedge
 
Posts: 9
Joined: 03 Jul 2012, 08:36

Next

Return to How-To

Who is online

Users browsing this forum: No registered users and 1 guest

cron