Sorry your browser is not supported!

You are using an outdated browser that does not support modern web technologies, in order to use this site please update to a new browser.

Browsers supported include Chrome, FireFox, Safari, Opera, Internet Explorer 10+ or Microsoft Edge.

DarkBASIC Professional Discussion / World of OMEN (Frost) SVN

Author
Message
Omen
10
Years of Service
User Offline
Joined: 7th Nov 2006
Location: Maple Grove, MN US
Posted: 3rd Feb 2010 06:52 Edited at: 11th Apr 2011 06:48
Edit: This thread has been cleaned up since I noticed that TGC gave me a mention in the newsletter (thanks guys!) and the project has been moved over to a Google site and Code Repository:


Edit: If you experience any difficulty compiling any of these tutorial hours and are REALLY stumped, please zip up your "modules" folder and e-mail that to me with a description of the problem. I can usually spot the problem pretty quickly

Final Edit (honest): After over a year of work and with (soon to be) over 30 published tutorials, I'm "winding down" this tutorial series. The final few tutorials in this series will finish up a basic "walk and talk" client and provide a strong foundation to build on. Additional resources can be found at the permanent project website here

World of OMEN is a tutorial to show step-by-step how to build a large-scale multiplayer online game in DarkBASIC.

Project Site: http://omen.lakehomegames.com/

With TGC moving over to SVN (hurray!), I thought I'd post the SVN link to my own project. Some of you may remember the World of OMEN WIP I worked on last year (and the year before that, and the year before that...). In the spirit of giving back to the community, I'm going to go through the whole process of building OMEN...

step by step, and hour by hour.

I'm posting SVN commits for each hour I spend re-building World of OMEN (this second version I'm calling "Frost"). This will allow anyone to Checkout the same hour as the Blog Post for that hour and have the exact same code that I was working on at the time of the Post.

Hopefully, this will really provide some helpful insight into how such a large project really can be built up iteratively step by step with a little careful planning.

Alfa x
10
Years of Service
User Offline
Joined: 1st Jul 2006
Location: Colombia
Posted: 4th Feb 2010 14:49
good contribution for the communty.

Congrats.
Sharlenwar
8
Years of Service
User Offline
Joined: 4th Mar 2009
Location:
Posted: 4th Feb 2010 21:59
By the way, I would love to congratulate you for doing this. I'm following right behind you with a space game that I'm developing silently here. It will be using DarkNET as well as your game. So I'm thankful you have done this.

Stay motivated, for I've got a game going here as well. Awesome!
Omen
10
Years of Service
User Offline
Joined: 7th Nov 2006
Location: Maple Grove, MN US
Posted: 5th Feb 2010 03:10 Edited at: 3rd Jul 2010 04:50
Thanks guys - glad you like it

Neuro Fuzzy
9
Years of Service
User Offline
Joined: 11th Jun 2007
Location:
Posted: 6th Feb 2010 21:55 Edited at: 6th Feb 2010 22:04
This looks awesome! Hooking up turtle SVN now, lookin forward ta updates

[edit]

what plugins are used?


Omen
10
Years of Service
User Offline
Joined: 7th Nov 2006
Location: Maple Grove, MN US
Posted: 7th Feb 2010 06:04 Edited at: 5th Jul 2010 20:26
@Neuro Fuzzy,

The Development Workbench post gives a complete list of DLLs and shows you how to get them, here's all we're using so far though:

Advanced Terrain
IanM's Matrix1Utils - because they really DO have a minty taste - Ian has confirmed it
"Sparky's" Sliding Collision DDL (make sure to get 2.05 or later)
DarkNET
DarkFish Encryption DLL


I _might_ throw in a LUA plug-in to the mix later, depending on how quickly I eat up the 200 hours I've allocated myself.

Omen
10
Years of Service
User Offline
Joined: 7th Nov 2006
Location: Maple Grove, MN US
Posted: 16th Feb 2010 07:26 Edited at: 3rd Jul 2010 04:51
Whew! Finally finished the login process. If anyone has ever been confused by encryption or the "magic" behind an MMO login process, the latest post (currently on Hour 15) should answer a lot of questions

Devonps
7
Years of Service
User Offline
Joined: 5th Nov 2009
Location: Nottingham
Posted: 23rd Feb 2010 14:32
This is starting to look very good.

Keep up the hard work!

Marriage is a circle of rings....
Engagement ring, Wedding ring, Suffering!
Omen
10
Years of Service
User Offline
Joined: 7th Nov 2006
Location: Maple Grove, MN US
Posted: 28th Feb 2010 03:06 Edited at: 3rd Jul 2010 04:51
@Devonps,

Hey Thanks, glad you like it. Just posted Hour 16 -- Avatar List. Character Customization is fast approaching, will probably be next post

DJm
7
Years of Service
User Offline
Joined: 14th Feb 2010
Location: Portugal
Posted: 28th Feb 2010 15:13
Hey Omen,

I'm following your tutorials, absolutely brilliant!

I'm on hour 6 at the moment, as a newb this tutorial is invaluable.

I'm learning so much.

Thankyou very, very much for your hard work and time.

No good deed goes unpunished!
Omen
10
Years of Service
User Offline
Joined: 7th Nov 2006
Location: Maple Grove, MN US
Posted: 7th Mar 2010 04:42 Edited at: 3rd Jul 2010 04:52
@DJm

Glad you like it! Hour 6, huh? - I think I've lapped you ...just kidding, Hour 17 is up.



Tonight's post finishes the login process (whew!) and includes a little early chrome, namely some nice screen fading for zoning. The login/logoff is fully functional and most things are currently doing what you'd expect them to do (expect character creation -- that's just around the corner).

Niels Henriksen
12
Years of Service
User Offline
Joined: 27th Sep 2004
Location: Behind you breathing heavely
Posted: 8th Mar 2010 10:44
Nice..... You defently got one more reader now

Niels Henriksen
www.tales-of-the-realms.com
if Microsoft can sell software with bugs, so can I.
Omen
10
Years of Service
User Offline
Joined: 7th Nov 2006
Location: Maple Grove, MN US
Posted: 23rd Mar 2010 06:59 Edited at: 3rd Jul 2010 04:52
Thanks Niels, glad you're enjoying it. Hour 18 is up.

As you can probably guess, tonight's post goes into character customization. For people who are banging their heads against the wall trying to get DBPro to blend multiple textures, I think there just might be a couple of interesting bits of code in there for you.

If you like this series, please let me know by posting here and let me know if there's anything you'd like me to expand on or anything you'd like more explanation on.

Thanks for reading everyone!

P.S. And of course Thank You Green Gandalf -- for helping me all those many many years ago with my first fledgling bits of shader code (and for having lots of patience)

Omen
10
Years of Service
User Offline
Joined: 7th Nov 2006
Location: Maple Grove, MN US
Posted: 25th Mar 2010 04:53 Edited at: 3rd Jul 2010 04:53
Hour 19 is up

Oneka
13
Years of Service
User Offline
Joined: 24th Apr 2004
Location: Hampton,VA
Posted: 26th Jun 2010 05:01
Your website appears to be down


Making dreams possible, one line at a time...
Omen
10
Years of Service
User Offline
Joined: 7th Nov 2006
Location: Maple Grove, MN US
Posted: 26th Jun 2010 16:03 Edited at: 27th Jun 2010 01:01
I took the site down because no one seemed interested anymore. The post before your post is 3 months old -- kinda surprised the thread wasn't locked

ArchMage81
User Banned
Posted: 26th Jun 2010 16:22
i'm interested
Omen
10
Years of Service
User Offline
Joined: 7th Nov 2006
Location: Maple Grove, MN US
Posted: 26th Jun 2010 19:56 Edited at: 3rd Jul 2010 04:53
OK, how's this sound...

1) I'll migrate the codebase over to Google Code and post an update.

2) Then I'll start a new project site and board and post my articles there so I'm not clogging up the main discussion thread

3) I'll post here all the links when everything is ready.

Omen
10
Years of Service
User Offline
Joined: 7th Nov 2006
Location: Maple Grove, MN US
Posted: 26th Jun 2010 20:48 Edited at: 4th Jul 2010 06:03
Repository has been migrated to Google Code, with all the built-in issue tracking and Wiki goodness that comes with it

World of OMEN

Because the repository is Google now, here's the best way to make the switch (a grueling 2-step procedure):

1) Create a new folder under your DBPro projects folder named "worldofomen"

2) Use your SVN client to do a checkout following the SVN Checkout Instructions


When I get the new project site setup, I'll post instructions there for how to become a member of the project for people interested in submitting code

Mugen Wizardry
User Banned
Posted: 27th Jun 2010 01:20
You OWN man!

CHECK OUT SOME MUSIC FROM MY NEW TECHNO CD! TECHNOKINESIS
http://www.youtube.com/watch?v=4a8KedfgVv0
ALSO, CHECK OUT MY NEW TECHNO CD! http://www.imageposeidon.com/
Oneka
13
Years of Service
User Offline
Joined: 24th Apr 2004
Location: Hampton,VA
Posted: 27th Jun 2010 06:24
Quote: "I took the site down because no one seemed interested anymore. The post before your post is 3 months old -- kinda surprised the thread wasn't locked "


Awww, I was following your thread and the website I found it very interesting I was pretty much just sitting by waiting for the next updates, its really good and just so you know, I am atleast looking at it and I support the project


Making dreams possible, one line at a time...
Omen
10
Years of Service
User Offline
Joined: 7th Nov 2006
Location: Maple Grove, MN US
Posted: 28th Jun 2010 07:22 Edited at: 3rd Jul 2010 04:49
Well that's really kind of you all

I'll have a new project site and thread up soon to revitalize the project - I'm working on fixing up my character models for some sparkly new screenshots

Omen
10
Years of Service
User Offline
Joined: 7th Nov 2006
Location: Maple Grove, MN US
Posted: 3rd Jul 2010 04:30 Edited at: 4th Jul 2010 06:02
...but I just... it's not, it's just that....

<<speechless>> <<smacks forehead>> <<starts coding again>>

need coffee.

http://www.thegamecreators.com/pages/newsletters/newsletter_issue_90.html

Edit: This thread has been cleaned up since I noticed that TGC gave me a mention in the newsletter (thanks guys!) and the project has been moved over to a Google site and Code Repository:


Project Site: http://omen.lakehomegames.com/

BatVink
Moderator
14
Years of Service
User Offline
Joined: 4th Apr 2003
Location: Gods own County, UK
Posted: 3rd Jul 2010 11:02
Hope I didn't cause you a problem by mentioning it
I saw Open Source, 19 hours of video tutorials and all the great comments you were getting and added it based on those things. I didn't get chance to click through and check if it was still running.

Oneka
13
Years of Service
User Offline
Joined: 24th Apr 2004
Location: Hampton,VA
Posted: 3rd Jul 2010 16:13
Yeah you better bring it back Omen!

I was following the project for a while, but I am usually a silent viewer, and just view things without usually making a comment, but I like your work :p


Making dreams possible, one line at a time...
Omen
10
Years of Service
User Offline
Joined: 7th Nov 2006
Location: Maple Grove, MN US
Posted: 3rd Jul 2010 19:29
@Batvink,

Nah, it's fine, I'll sort it out. It was just unbelievable coincidence (and usually that's the way things happen with me) that I got a newsletter mention the day after I take something down ::sigh::

@Oneka,

You always have interesting approaches to coding, which always gives me ideas for solving problems -- so, you're already a contributor whether you know it or not But thanks!

So... I took down all my tutorials up to this point, but really the first ~20 hours to get a basic "walk and talk" mmo client and server are pretty easy.

So... Which would you guys prefer:

1) Let's start from the beginning, I've got my chips and soda at the ready!

2) Let's just keep going from here - next would be getting into character customization.

What are your thoughts everyone?

Oneka
13
Years of Service
User Offline
Joined: 24th Apr 2004
Location: Hampton,VA
Posted: 4th Jul 2010 01:16
I kinda like 1 and 2, but 1 would be pretty good since it would help others with those sections of the game, so they can truly see how a MMO is built from the ground up


Making dreams possible, one line at a time...
Omen
10
Years of Service
User Offline
Joined: 7th Nov 2006
Location: Maple Grove, MN US
Posted: 4th Jul 2010 03:37
I think I can offer 1 & 2 simultaneously...

What I'll do is start from the beginning while adding some additional game features along the way. That way, I'll still have a complete hour-for-hour build; but will also have new content for people who have been following along up to now

Oneka
13
Years of Service
User Offline
Joined: 24th Apr 2004
Location: Hampton,VA
Posted: 4th Jul 2010 04:13
Sounds good


Making dreams possible, one line at a time...
Omen
10
Years of Service
User Offline
Joined: 7th Nov 2006
Location: Maple Grove, MN US
Posted: 4th Jul 2010 05:54 Edited at: 6th Jul 2010 04:25
OK, from the top everyone (why do I feel like I'm a conductor all of a sudden)...

Hour 1 and Hour 2 are up and SVN has been committed to the repository.

Hour 1 - BASIC World
Hour 2 - Framework

All the following project information posts are updated:

Introduction. Brief overview of project.
Organization and Planning. This is the list of what's in-scope and what's out of scope.
Development Workbench. This is the list of DLLs you'll need.

Omen
10
Years of Service
User Offline
Joined: 7th Nov 2006
Location: Maple Grove, MN US
Posted: 6th Jul 2010 01:41 Edited at: 6th Jul 2010 04:29
Hour 3 is up:

Land and Sky

To keep from clogging up the main discussion board, I won't post here every time a new Tutorial Hour is posted.

However, I do have e-mail notification set on this thread, so if you have questions feel free to post them here and I'll try to answer as quickly as possible.

The original World of OMEN introduction text, storyline, and character class description can all be found by exploring under this path as well:

http://omen.lakehomegames.com/story

You can subscribe for updates on the Project Updates page, or you can also follow me on Twitter.

Thanks!

Oneka
13
Years of Service
User Offline
Joined: 24th Apr 2004
Location: Hampton,VA
Posted: 6th Jul 2010 15:49
I read the storyline for the game, sounds pretty cool actually but one question I do have though, are you essentially playing as drills?


Making dreams possible, one line at a time...
Omen
10
Years of Service
User Offline
Joined: 7th Nov 2006
Location: Maple Grove, MN US
Posted: 8th Jul 2010 08:02
@Oneka,

LOL! Yes, you're basically a drill. A sentient drill that has evolved to look and act like a human - but, yes, a drill. Hehe, just for fun the first attacks you're going to get are going to be mining related - like "pulverize"

Hour 4 is up:

http://omen.lakehomegames.com/project-updates/hour4-idmanagement

Omen
10
Years of Service
User Offline
Joined: 7th Nov 2006
Location: Maple Grove, MN US
Devonps
7
Years of Service
User Offline
Joined: 5th Nov 2009
Location: Nottingham
Posted: 15th Jul 2010 01:09 Edited at: 15th Jul 2010 01:10
Congrats on getting a very basic chat system up and running!

I do think that if you continue with your tutorial that this could become a landmark for people trying to understand what it takes to put together a MMORPG.

I, for one, really appreciate the effort you are putting into this.

Steve.

Marriage is a circle of rings....
Engagement ring, Wedding ring, Suffering!
Omen
10
Years of Service
User Offline
Joined: 7th Nov 2006
Location: Maple Grove, MN US
Posted: 15th Jul 2010 09:09
@Devonps,

hehehe thanks. It's pretty simple right now, but in no time at all we'll be rolling right into multi-server instancing and dynamic partitioning of zones

garlantinapple
6
Years of Service
User Offline
Joined: 6th Jul 2010
Location:
Posted: 15th Jul 2010 10:36
There are some rules you need to know about. Firstly, your entry must be written in DBPro without the use of any external media.
Omen
10
Years of Service
User Offline
Joined: 7th Nov 2006
Location: Maple Grove, MN US
Posted: 16th Jul 2010 06:05
@garlantinapple,

I think you're looking for this thread:

http://forum.thegamecreators.com/?m=forum_view&t=172295&b=11


Devonps
7
Years of Service
User Offline
Joined: 5th Nov 2009
Location: Nottingham
Posted: 21st Jul 2010 20:32
@Omen - good work on getting hours 8 & 9 documented

Marriage is a circle of rings....
Engagement ring, Wedding ring, Suffering!
Omen
10
Years of Service
User Offline
Joined: 7th Nov 2006
Location: Maple Grove, MN US
Posted: 22nd Jul 2010 05:14 Edited at: 24th Jul 2010 05:20
@Devonps,

hehe, thanks - trying not to clog up the main discussion board, so just posting updates here every once in awhile - but yes, 8 and 9 (and 10 now) are ready

http://omen.lakehomegames.com/project-updates/hour8-commandprocessor

http://omen.lakehomegames.com/project-updates/hour9-chatchannels

http://omen.lakehomegames.com/project-updates/hour10-unstructureddata

leo877
9
Years of Service
User Offline
Joined: 6th Mar 2008
Location: san antonio, tx
Posted: 1st Aug 2010 15:01 Edited at: 1st Aug 2010 15:53
omen. this is one great tutorial i seen on mmo. the way you go step by step is much easier to undstand then what i have seen.
(for me at least) i read up to hour 5. i have questions/comments.

1.do u run the mmo sever off a personal computer(i.e mine computer) or major sever mmo provider.

2.does it have be a 3d format or can it be a 2d format.

3. "allows access to any data source that is accessible through ODBC from your DarkBASIC Professional application".
does ur program work with ODBC

i will definitly keeping watching this post and twitter, ur web site for futher updates.

edit:

just notices i need darknet..oh well ...as soon i get some cash, time to buy daarknet.


Mugen Wizardry
User Banned
Posted: 1st Aug 2010 15:08
where do i get the dba files?

CHECK OUT SOME MUSIC FROM MY NEW TECHNO CD! TECHNOKINESIS
http://www.youtube.com/watch?v=4a8KedfgVv0
ALSO, CHECK OUT MY NEW TECHNO CD! http://www.imageposeidon.com/
Omen
10
Years of Service
User Offline
Joined: 7th Nov 2006
Location: Maple Grove, MN US
Posted: 1st Aug 2010 19:26 Edited at: 2nd Aug 2010 05:20
@leo877,

1. For all versions of World of OMEN up to the Ares version, I did hosting on my own broadband connection. For the Ares version, I tried co-location for the FTP service and the login service and found that I didn't really like it. But, to answer your question, the omen server can be run either way. It's not _currently_ running because, well, there's really nothing to see yet When it gets to a point where people actually have things to do (and a LOT of things to do), then I'll put a server up again for people to play on

2. The omen server never calls the d3d system, it just runs in a text window. All 3d calculations are done mathematically (or with the help of some of IanM's ZONE functions). The server should be able to run on practically any Windows box you have. In fact, I've even been told that the client will run under Wine, so I'm sure the server could too (hehe, will have to try).

@Mugen

From the the Source Code link on the home page - you just need an SVN client.

http://code.google.com/p/worldofomen/source/checkout

...or you can always browse the repository too - most of the code is in the "modules" folder:

http://code.google.com/p/worldofomen/source/browse/#svn/trunk/modules


oh, btw, hours 11 and 12 are up:

http://omen.lakehomegames.com/project-updates/hour11-resourcemanagement1

http://omen.lakehomegames.com/project-updates/hour12-landandsky

Tutorial snippet:

"We can handle arbitrary large globally-unique ids and mange them in tightly-packed arrays with almost no sparseness. This is a Universally Good Thing (c), you just need to say it five times fast to understand why "

Mugen Wizardry
User Banned
Posted: 1st Aug 2010 19:27
thanks!

CHECK OUT SOME MUSIC FROM MY NEW TECHNO CD! TECHNOKINESIS
http://www.youtube.com/watch?v=4a8KedfgVv0
ALSO, CHECK OUT MY NEW TECHNO CD! http://www.imageposeidon.com/
leo877
9
Years of Service
User Offline
Joined: 6th Mar 2008
Location: san antonio, tx
Posted: 2nd Aug 2010 01:24 Edited at: 2nd Aug 2010 01:29
omen:
thanks for respond. still have more question.

1.have you start using commands from darnet, because i don't have that plug in yet.

2. can this tutorial be use for a mmo fps..

3.not sure it u answer this or not and sorry for re-asking: but can this mmo program be for a 2d game.


Omen
10
Years of Service
User Offline
Joined: 7th Nov 2006
Location: Maple Grove, MN US
Posted: 2nd Aug 2010 04:44
@leo877

1. Yes, already started using DarkNet - that was right around hour 5.

2. No way, no how. Well, let me put it another way -- if you want to completely re-write it from scratch - then sure. A FPS MMO requires a completely different breed of design, not to mention a AAA-class network stack and a good portion of your movement prediction written in Assembly code. The Torque Game Engine is about as close as you can get at a reasonable price.

3. Again, you'd have to do a lot of work to make it useful for 2d gaming. It also depends on if you are thinking top-down or side-scrolling platformer. As you'll see later, I'm going to be taking advantage of a lot of the DBPro engine functionality that is specifically designed for a 3D game -- shortcuts that will make my life easier as a programmer.

leo877
9
Years of Service
User Offline
Joined: 6th Mar 2008
Location: san antonio, tx
Posted: 2nd Aug 2010 06:21
thanks for the answer. bummer . about the fps and darknet. as the 2d, was thinking top down. i do likes this program about using instant chat part, so i will still contune following this to the end. i would also like to play W o Omen when you have it back up running.


slyvnr
7
Years of Service
User Offline
Joined: 2nd Nov 2009
Location: Texas
Posted: 5th Aug 2010 17:45 Edited at: 5th Aug 2010 19:53
GREAT TUTORIAL. THANK YOU FOR REVIVING.

However, I am stuck at hour 5.

I purchased and installed DarkNet (along with a lot of other modules in one of TGC's Specials... LOVE 'EM).

When I go to compile and run the server.dba I get the following error message:

Quote: "An Error ocurred in mnStartServer whilst binding a TCP Socket at line 461 of file ".\clSocket.cpp", Error Code 10049 Version "Release 1.1.7 (Sep 18, 2009, 16:08:08). Would you like to exit."


If I chose not to exit I just get more errors similar to the above.

Server.log from the debug module gives this:
Quote: "[SYSTEM] INFO 2010/08/05 10:00:56 :: SERVER ID FOUND : 1
[SYSTEM] INFO 2010/08/05 10:00:56 :: NEXT GUID FOUND : 1
[SYSTEM] ERROR 2010/08/05 10:00:58 :: Server network start error -1"


Searched the forums and did not find anything related to this error message.

The line that is killing the program is
+ Code Snippet

which is line 44 of the netserver.dba in the netstartserver() function.

Any suggestions?

Slyvnr

Slyvnr
slyvnr
7
Years of Service
User Offline
Joined: 2nd Nov 2009
Location: Texas
Posted: 5th Aug 2010 21:51
I changed

+ Code Snippet

to

+ Code Snippet

Server started up without any errors.
Client starts up, get the correct screen with the cylinder avatar and terrain/backgrounds.

No messages printed to Server window. However server.log did contain.

Quote: "
[SYSTEM] INFO 2010/08/05 13:47:22 :: SERVER ID FOUND : 1
[SYSTEM] INFO 2010/08/05 13:47:22 :: NEXT GUID FOUND : 1
[SYSTEM] INFO 2010/08/05 13:47:22 :: 127.0.0.1 listening on port 9669 as instance 0
[SYSTEM] INFO 2010/08/05 13:47:22 :: Clients/Instance set to 50
[SYSTEM] INFO 2010/08/05 13:47:22 :: UDP Max Operations set to 2
[SYSTEM] INFO 2010/08/05 13:47:22 :: UDP Mode set to 2
[SYSTEM] INFO 2010/08/05 13:47:22 :: Press spacebar to quit.
"


Slyvnr

Slyvnr
Omen
10
Years of Service
User Offline
Joined: 7th Nov 2006
Location: Maple Grove, MN US
Posted: 6th Aug 2010 05:40 Edited at: 8th Aug 2010 06:41
@slyvnr,

At hour 5, the network functionality is pretty basic -- it won't even dynamically calculate it's LAN or WAN ip address (much less do a NAT punch-through).

Here's the easiest way of taking care of this:

Start --> Run --> CMD
ipconfig /all


Find your LAN IP Address (should be something like 10.0.0.1 or 192.168.1.1 but last 3 or 2 number are likely to be different)

Put this address in the (checks version 5 of the repo) - aha:

...on line 10 in netclient.dba and on line 33 in netserver.dba like this (replace this with your IP address):

NET_SERVER_NAME = "192.168.1.4"


Unfortunately, until you get to hour 12, you'll need to keep updating this after every checkout - but you only need to update it once every checkout. I'll add that note to hours 5 and 6 in the tutorials - thanks for pointing that out, I'd forgotten about it.

But everything else you're doing looks good -- those log entries are standard "all is well" messages

...and Hour 13 is up:

http://omen.lakehomegames.com/project-updates/hour13-udpframework1

Tutorial Snippet:

"...maniacal laughter is allowed and encouraged when hitting the Delete key!"

Login to post a reply

Server time is: 2017-05-25 13:41:15
Your offset time is: 2017-05-25 13:41:15