Official Community Forums
 
HomeHome  FAQFAQ  SearchSearch  MemberlistMemberlist  UsergroupsUsergroups  RegisterRegister  Log in  The Wiki  Website  github Project  

Share | 
 

 Server's File Hierchy Simplification

View previous topic View next topic Go down 
AuthorMessage
Guest
Guest



PostSubject: Server's File Hierchy Simplification   Tue 28 Aug - 5:03

Hello again guys,

I've been still trying to get the multiverse server system working and have been so far unsuccessful because I cannot get my head around the server system's extremely complex folder hierchy and the mass scattering of python files. It came across my mind on about simplifying this system and organise its parts into fewer folders, like the many python PY files. This is the kind of structure I would ideally want to achieve (colons meaning a folder):

Code:
:Root
  java.exe
  :server
    jvm.dll
  rt.jar
  start.cmd (or start.bat)
  net.dll
  verify.dll
  zip.dll
  multiverse.properties
  mysql.jar
  injected.jar
  rhino.jar
  log4j.jar
  jython.jar
  getopt.jar
  bcel.jar
  mars.jar
  multiverse.jar
  :system
  :common
  :sampleworld
  :mv_fantasy
The reason why I want to do this is because i want to be able to move the software from system to system, as of now the design makes it look like that it is effectively "tied" to a particular system. I've already blueprinted out a plan when it comes to mysql, so yous won't need to worry about that.

The way i'm thinking about this is that by specifying a filename without any folder names would instruct the java engine to look for that file in the same folder as itself or in sub-folders in relation to the EXE's location, making it indescriminate on where the software itself executed from, even on removable drives.

This does sound rather complicated to me, but is there anyone here who may know on whether this is possible and if there is anyone who would be able to guide me or give some insights on achieving this?
Back to top Go down
Guest
Guest



PostSubject: Simplified download   Tue 28 Aug - 6:33

The team was working on it in one form or another. A multiverse launcher is also in progress.

http://multiverse.forumotion.co.uk/t288-multiverse-complete-download-available


The complexity of files/folders, for me, becomes a non-issue once I've been staring at it long enough Shocked

Anything that simplifies setup and operation would be welcome though.

I would go ahead and implement it.

We are all developers Very Happy


Cheers






Back to top Go down
Guest
Guest



PostSubject: Server startup   Tue 28 Aug - 6:58

There was an issue with start-multiverse.bat which has been solved by Shane.

Check these threads

Server startup issues

http://multiverse.forumotion.co.uk/t242-server-startup-problems-fixed
http://multiverse.forumotion.co.uk/t220-server-startup-failed-solved
http://multiverse.forumotion.co.uk/t230-local-login#1502


Also post your system details and .out files if you can. Very Happy


Cheers
Back to top Go down
Guest
Guest



PostSubject: Re: Server's File Hierchy Simplification   Tue 28 Aug - 22:56

QuestionQuestionQuestionQuestionQuestion
I'm sorry but this doesn't help or make sense to me at all, i'm not technically literate as you think i am. The main reason why I wanted to do what i said in my previous post is that because it is so complex, I find it rather off-throwing to use because of its complicated file system. I thought that by re-organising it would make it less likely to malfunction and make it that much easier to get up and running with less knowhow aggro.

Believe me, I've fallen head over heels for this software a long time ago, and have been tirelessly trying to get one working, but I can't work it at all in its current shape, and with nothing to go by that is genuinely "easy to understand", it's impossible for me to do this without the help of someone who really knows it inside out.

Let's just put it this way, i'm more or less saying "i want to break it down to little pieces and put it back together differently".


Last edited by icbrainy on Tue 28 Aug - 22:58; edited 2 times in total (Reason for editing : corrected some spelling errors)
Back to top Go down
Guest
Guest



PostSubject: Re: Server's File Hierchy Simplification   Tue 4 Sep - 0:51

Anyone?
Back to top Go down
AWM Mars
Well-Known Member
Well-Known Member
avatar

Posts : 78
Join date : 2012-02-23
Location : Wiltshire, United Kingdom

PostSubject: Re: Server's File Hierchy Simplification   Tue 4 Sep - 20:17

Whilst I cannot give a technical response to you, I can offer a 'human response'. How we deal with things that are not 'native' to us, is by arranging them into rhythmic sequences. Our memories are stored as sequences, that are coupled together by memory keys that have a rhythmic sound to them. For instance, say a telephone number, you will group the numbers into a rhythmic sequence as you sound them out (go on try it Smile ).

Your desire to have the folders in this pattern makes a lot of sense. Not from a technical perspective, but in a way that you feel comfortable controlling what is going on. I dislike Windows of late, since it decided that its own security protocols interfered with programme placement files, so now it uses several places to store date. I prefer to try and force windows to put most of its files into a folder stored on one of my sata raid drives.
Back to top Go down
Agamemnon
Experienced Newbie
Experienced Newbie
avatar

Posts : 28
Join date : 2012-08-26
Location : Marietta, Georgia

PostSubject: help   Sat 15 Sep - 7:26

icbrainy wrote:
Anyone?

So i've had some experience in building out MV servers fairly quicly. Disclaimer: It's been over year since I have built out one though.

1. What are you using as your server? cygwin, ubuntu, other?

2. Are you following the main setup guide or the rapid linux setup guide?

3. Have you downloaded and installed all of the required components (sql, java-real java not open-jdk)

4. If you have completed installation and file config changes, started the servers, have you grepped the logs to see if they report anything in particular? grep -i error /mv/logs/*.out or whatever the main logs are in.

Need a starting point to help.

R,

Aggy
Back to top Go down
Guest
Guest



PostSubject: Re: Server's File Hierchy Simplification   Sat 15 Sep - 22:57

I'm using Windows XP Professional x64, with MySql 5.5.27 x64.

It's not that I exactly can't work it, it's just that the way everything is laid in its initial state makes it extremely difficult to understand/utilise/shape unless you are a REAL seasoned top-line specialist.

I DID get one very basic model working back in February, but it stopped working instantly when I tried to insert/modify any materials. I don't know anything about python and what parts it plays, its not that popular from my standing point. I really need to point out that it says on the main website that "little programming" is required, but this self-contradicted in many ways. The least that needs to be done is to "break it down" into little pieces and reconstructed so that those that are less literate can at least get ideas on those pieces.

It's not that i'm trying to get the software to start but i'm also more concerned focussed on making it easier to maintain by using a simplified folder structure. The server software is in a very delicate state, even when first downloaded and breaks/malfunctions VERY EASILY.
And because my knowledge of it is VERY sketchy because there is no material whatsoever that outlines its structure.

One other thing i'm trying to do, which is a priority to me, is to make it "location* indiscriminate", so I can move it from system*/folder to another in a cinch, whilst minimizing offline and reconfiguration time.

Because the MultiverseMMO open-source project hasn't been running for that long, for the time being, i'm just gonna wait until some new incantations/revisions of it are released.

*With an external USB/eSATA drive. and using "relative filename referencing" (i.e. "specfying just yourextention.dll" means to look for a file of that name in the same folder/location as the calling program)
Back to top Go down
Agamemnon
Experienced Newbie
Experienced Newbie
avatar

Posts : 28
Join date : 2012-08-26
Location : Marietta, Georgia

PostSubject: Re: Server's File Hierchy Simplification   Tue 18 Sep - 2:52

One large problem with the "directory" issue you have has to do with the application dependencies of the server itself. Since you're using windows xp, I will assume you're using CGWIN to run the MV server on.

That's 1 dependency, requiring a linux server which is different then most PC users are familiar with. It's a different operating system environment, different commands and different way of doing things / instead of \ etc for file structuring.

Another is Java, since it's a 3rd party app and only the oracle version works and not the open-JDK version that adds complexity due to version control, build controls, mem leaks (oracle usually has one some where Very Happy ) etc.

The last is MYSQL, you could use another connector possibly but they designed it with mysql in mind.

All of these external app dependencies require a bit more tweaking, moving files over to correct locations etc and that is a hurdle I agree for users who are not familiar with a new OS like linux as well as what the files themselves do and configuring them (i.e. sql db). I think we're stuck with what we got though until server code itself is at a more refined state and require not app specific dependencies.

R,

Aggy
Back to top Go down
Guest
Guest



PostSubject: Re: Server's File Hierchy Simplification   Tue 18 Sep - 20:38

When I last got the server working back in February, it was without CGWIN, it took a little teetering around but I DID get it to work without it.

I am currently using the Java 7u3 x64 official release build from Oracle. Also I recently discovered that Oracle's Java does have a registry dependency and won't work without these keys present, but I already have a compelling lead on how to make a registry patch for that, specifically for machines that as such that a full Java suite isn't necessary.

MySQL is no issue at all because I have one that I chiseled off all the unused parts away myself and is working absolutely fine, i've also tried it on two completely independent systems (one Win7x64 and this XP one), and no problems occurred (providing it is installed as a windows service, which is part of my server outline).

This is the big problem, and as you said, Linux is not everyone's "cup of tea", and certainly not mine, since I was brought up with Windows. Windows does have it's advantages over linux, although performance isn't one of them, and I really am not that concerned in terms of server capacity, I will focus on that more when the time comes.

The problem that is making my head scramble at this very time, are the masses of scattered BAT files that are responsible for kick-starting the whole MV system, it's very complicated and really should be where most attention should be focused at. I also believe that it's these files that are responsible for telling where the Multiverse server program should look for its supporting/system files.

As I said, for now, I'm gonna sit tight and wait until a stability breakthrough occurs.
Back to top Go down
Agamemnon
Experienced Newbie
Experienced Newbie
avatar

Posts : 28
Join date : 2012-08-26
Location : Marietta, Georgia

PostSubject: Re: Server's File Hierchy Simplification   Fri 21 Sep - 2:44

Here's a handy cheat sheet for new linux users which will help identify the way linux's file structure works (somewhat).

/etc/exports: this file contains the partition configuration to load NFS (network filesystem). It states how partitions are mounted and shared with other Linux/UNIX systems.

/etc/ftpusers: this file contains the login names of users who are not allowed to log in by way of FTP. For security reasons, it is recommended to add the root user to this file.

/etc/fstab: this file automatically mounts filesystems that are spread across multiple drives or separate partitions. This file is checked when the system boots and filesystems are mounted.

/etc/hosts.[allow, deny]: you can control access to your network by using these files. Adds hosts that you want to grant access to your network to the hosts.allow file; add hosts that you want to deny access to hosts.deny. May be important if you are locking down your internal network to certain machines.

/etc/inetd.conf or /etc/xinetd.conf: the inetd file can be called the father of networking services. This file is responsible for starting services such as FTP, telnet and the like. Some Linux distributions come with xinetd.conf, which stands for extended Internet services daemon. This file provides all the functionalities and capabilities of inetd but extends them further.

This file directory is EXTREMELY important.


/etc/inittab: this file describes what takes place or which processes are started at bootup or at different runlevels. A runlevel is defined as the state in which the Linux box currently is in. Linux has seven runlevels, from 0-6. Your automation to make sure all your apps run at startup like SQL and JAVA.

/etc/motd: motd stands for message of the day. This file is executed and its contents displayed after a successful login.

/etc/passwd: this file contains user information. Whenever a new user is added, an entry is added to this file containing the user's login name, password and so on. This file is readable by everyone on the system. If the password field contains "x", then encrypted passwords are stored in /etc/shadow, a file that is accessible only by the root user.

/etc/profile: when a user logs in, a number of configuration files are executed, including /etc/profile. This file contains settings and global startup information for the bash shell. This file directory is EXTREMELY important if you are using UBUNTU since the native shell bash needs to be changed for MV's global settings to work right.

/etc/services: this file works in conjunction with /etc/inetd.conf or /etc/xinetd.conf files (see above). This file determines which port a service mentioned in inetd.conf is to use, for example, FTP/21, TELNET/23 and so on.

/etc/securetty: this file lists TTYs from which root is allowed to log in. For security reasons it is recommended to keep only tty1 for root login.

/etc/shells: this file contains the names of all the shells installed on the system, along with their full path names.



This is a really good link: http://www.tuxfiles.org/linuxhelp/linuxdir.html
http://www.tuxfiles.org/linuxhelp/linuxdir.html

< /bin, /usr/bin >
These two directories contain a lot of programs (binaries, hence the directory's name) for the system. The /bin directory contains the most important programs that the system needs to operate, such as the shells, ls, grep, and other essential things. /usr/bin in turn contains applications for the system's users. However, in some cases it really doesn't make much difference if you put the program in /bin or /usr/bin.

< /sbin, /usr/sbin >
Most system administration programs are stored in these directories. In many cases you must run these programs as the root user.

< /usr >
This directory contains user applications and a variety of other things for them, like their source codes, and pictures, docs, or config files they use. /usr is the largest directory on a Linux system, and some people like to have it on a separate partition. Some interesting stuff in /usr:

< /lib >
The shared libraries for programs that are dynamically linked. The shared libraries are similar to DLL's on Winblows.

< /home >
This is where users keep their personal files. Every user has their own directory under /home, and usually it's the only place where normal users are allowed to write files. You can configure a Linux system so that normal users can't even list the contents of other users' home directories. This means that if your family members have their own user accounts on your Linux system, they won't see all the w4r3z you keep in your home directory. ;-)

< /root >
The superuser's (root's) home directory. Don't confuse this with the root directory (/) of a Linux system.

</www>If you're running a web server for your assests on the same box you may be in this directory alot as well.

File Manipulation (move/copy/remove)
http://www.tuxfiles.org/linuxhelp/fileman.html

Directory manipulation (move/copy/remove)
http://www.tuxfiles.org/linuxhelp/dirman.html


The MUST HAVE essential cheat sheet:
http://www.tuxfiles.org/linuxhelp/linuxcommands.html


Commands I run all the time:

sudo - Super User Do (run as root without having to use the root logon)
ls - l - Lists additional file information so you can tell if files are read/write/exec etc.
grep -i (search term) (dir/file to search) - grep is essential in going through logs, the -i makes it not case sensitive.
Back to top Go down
Agamemnon
Experienced Newbie
Experienced Newbie
avatar

Posts : 28
Join date : 2012-08-26
Location : Marietta, Georgia

PostSubject: Re: Server's File Hierchy Simplification   Fri 21 Sep - 2:48

Some of that may not be useful to you but it may help others having issues with linux.
Back to top Go down
Guest
Guest



PostSubject: Re: Server's File Hierchy Simplification   Fri 21 Sep - 19:20

One thing that I CAN make sense about some linux parts is that they require the use or modification of "configuration files" with instructional/overriding directives, like Apache, MySQL and PHP (including their Windows counterparts), instead of web-based consoles which create a vulnerable attack surfaces. I know that Linux Server's network configuration is like this. Am I correct?

I kinda picked up on this after reading Apache's documentation, the way they did it is really well made, even when I first took an interest in it. The filesystem arrangement Linux uses, in my opinion, and just merely expressing my views of it, is rather unhelpful. Names like "system" for the OS's critical files, "common" for commonly-used or shared software libraries and "users" for user data and documents. Like this, people may take interest in using it more because they'll understand what folder contains what and the purpose it serves within the system as a whole. I'm essentially saying that the arrangement is not self-explanatory.

By the way, this is what my very first Apache setup used to look like and how I got to grips with the configuration file concept(s) of Linux, just to help others get an idea on how I've configured my supposed server.


And I use this command to run it in the background (under NETWORK SERVICE):
Code:
%Server%\srv-http.exe* -k runservice http.ini
*Renamed to that to make it easily identifiable in task manager and to enable compatibility with a "CPU priority setting" script I'm using with it to maximize front-line service throughput.

So you have given me some ideas, and I really appreciate it.
Back to top Go down
Guest
Guest



PostSubject: So far   Thu 27 Dec - 23:36

Im posting here what i've done so far (although my head is still dizzy from the lack of simplicity these days) using sampleworld as the testing base. Please note that what is listed here is not "complete".
Folder hierchy:
Code:
data
 mysql
 performance_schema
mv
 sampleworld
temp
www
 patch
Configuration file (ran as a sub-script in context to the calling script):
Code:
@ECHO OFF

::Where is your java installation\program (path to java.exe)?
   SET JAVA=jre\bin\java.exe

::Where are you storing your game resources?
   SET MVFOLDER=mv\

::Where is your Multiverse configuration file?
   SET MVFOLDER=%MVFOLDER%multiverse.properties

::What is the systematic name of your game world?
   SET WORLDNAME=sampleworld

::Where are your world files being stored?
   SET MVWORLD=%MVFOLDER%%WORLDNAME%\

::=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
::DO NOT EDIT BEYOND THIS POINT
::=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
SET MVCOMMON=%MVFOLDER%\

SET BCEL=bcel.jar
SET GETOPT=getopt.jar
SET INJECTED=injected.jar
SET JYTHON=jython.jar
SET MARS=mars.jar
SET MULTIVERSE=multiverse.jar
SET LOG4J=log4j.jar
SET RHINO=rhino.jar

SET CLASSES="%BCEL%;%GETOPT%;%INJECTED%;%JYTHON%;%MARS%;%MULTIVERSE%;%LOG4J%;%RHINO%"
SET FLAGS=""

START /B %JAVA% -cp %CLASSES%
START /B %JAVA% -cp %CLASSES%
START /B %JAVA% -cp %CLASSES%
START /B %JAVA% -cp %CLASSES%
START /B %JAVA% -cp %CLASSES%
START /B %JAVA% -cp %CLASSES%
START /B %JAVA% -cp %CLASSES%
START /B %JAVA% -cp %CLASSES%

Whilst i've been doing this, i've been trying to think like as if I knew absolutely nothing about Multiverse, although I am not that knowledgeable in the end in regards to Multiverse's nature.
Back to top Go down
Sponsored content




PostSubject: Re: Server's File Hierchy Simplification   

Back to top Go down
 
Server's File Hierchy Simplification
View previous topic View next topic Back to top 
Page 1 of 1
 Similar topics
-
» .^f2F-.Swemmei Recruting in server 1
» Lag playing in Taiwan server from Shanghai
» Proxy Server Taiwan: How To.
» WoW "Development" Server
» Omnos (( Maybe another name depending on server)) Sunbearer

Permissions in this forum:You cannot reply to topics in this forum
 :: Development :: Getting Started-
Jump to: