Reddit-Mud / RMUD

A MUD written in C# using the fantastique literary genre, started by redditors.
MIT License
25 stars 8 forks source link

Hosting #4

Closed Blecki closed 10 years ago

Blecki commented 10 years ago

We need hosting. It does not need to be terribly powerful (Is mud hardware ever the best?). Though we would likely all need to run local copies of the server for testing our under-development areas, having a shared server running the latest version of the game is an absolute must.

It needs to be able to... A) Run a .net server program. B) Pull scripts from github. C) Reside behind a simple URL. D) That's really it.

I probably don't have to add this but right now our funding is $0.00, so it has to be the free, or the old machine in someone's basement kind of hosting.

(I might even have an old machine.. but it's really old. And it'd be behind wifi which is probably a terrible idea.)

ghost commented 10 years ago

I'm not opposed to helping cover the costs of something like a VPS if someone else is willing to split with me, should we want to go that route. I'm not familiar with Windows server OS (I'm most familiar with Linux; namely CentOS) though, nor am I familiar with Mono (which would be needed to run .NET in a Linux distro). So that would have to be handled by someone else.

Other than that, my network speeds are deplorable, so I can't run it on any of my machines.

Trevoke commented 10 years ago

I have no idea what it takes to host a ".net server program". Aren't those things, like, executables that basically open a port and wait for connections, like every other server program?

It looks like we might be able to use Heroku: http://friism.com/running-net-on-heroku And we can use uptimerobot to make sure the Heroku instance doesn't go down.

We might be able to use Docker on Digital Ocean: https://github.com/docker/docker / https://www.digitalocean.com/

Finally, I've been paying for a while for hosting on site5 and I'm fairly happy with it, so I might be able to just use that.

On Wed, Sep 17, 2014 at 9:37 PM, Blecki notifications@github.com wrote:

We need hosting. It does not need to be terribly powerful (Is mud hardware ever the best?). Though we would likely all need to run local copies of the server for testing our under-development areas, having a shared server running the latest version of the game is an absolute must.

It needs to be able to... A) Run a .net server program. B) Pull scripts from github. C) Reside behind a simple URL. D) That's really it.

I probably don't have to add this but right now our funding is $0.00, so it has to be the free, or the old machine in someone's basement kind of hosting.

(I might even have an old machine.. but it's really old. And it'd be behind wifi which is probably a terrible idea.)

— Reply to this email directly or view it on GitHub https://github.com/Trevoke/let-us-write-a-mud/issues/4.

Blecki commented 10 years ago

I guess what I mean is it has to be able to run .net stuff.

Trevoke commented 10 years ago

nod

I'm completely in the Ruby world so I don't know good hosting for Windows stuff.

Maybe we can try https://appharbor.com/ ? https://appharbor.com/pricing ... Free for very baby apps.

On Wed, Sep 17, 2014 at 9:50 PM, Blecki notifications@github.com wrote:

I guess what I mean is it has to be able to run .net stuff.

— Reply to this email directly or view it on GitHub https://github.com/Trevoke/let-us-write-a-mud/issues/4#issuecomment-55985784 .

ghost commented 10 years ago

It looks okay, especially for initial testing. Though the price is pretty steep when it comes time to get a custom domain name. It also doesn't exactly spell-out the specs you'd be getting with your server. I'm not even sure how much control you have over the server itself.

Unfortunately, Windows Servers on VPS's are pretty expensive all around due to the licensing cost. There is Microsoft's Azure, however. The tiniest package is affordable...

We could go the Mono route on a lower-tier Linode box ($10/mo no prob) with any variation of Linux, which would give us plenty of power and root access from an extremely reliable provider.

That would be totally up to you though, @Blecki. I'm not sure if you want to mess around with Mono as opposed to .NET.

Blecki commented 10 years ago

Mono is fantastic. I would hope that whomever took the initiative to setup some hosting was capable of pulling the code from my repository, building it, and deploying it, however.

We would also need a small mySQL database. The github repo is fantastic for the world, but I don't want to make player accounts open source...

ghost commented 10 years ago

I can give it a shot if no one else is up to it. As I mentioned, I'm familiar with Linux but this specifically would be a new to me. I should be able to learn how to do it, though. I'll spin up a server tonight and see what I can get going!

Yeah, I think that goes without saying, haha.

danneu commented 10 years ago

How about Heroku via https://github.com/friism/heroku-buildpack-mono?

ghost commented 10 years ago

@Blecki Is your code able to be compiled and run currently?

Blecki commented 10 years ago

Sure is. If you're having an issue let me know what it is. You might have some issues with where the files are. Right now it just expects the database to be in the working directory. I intend to make it point at the github repo.

ghost commented 10 years ago

Yeah, the problem is I've never compiled C# on Linux, so I'm having a little trouble. I'm not sure if the errors I'm having are related to configs, PATH variables, or something else entirely, though. I'll keep messing around, though -- probably compile locally, at least.

Blecki commented 10 years ago

Okay. I'm not using any libraries of any kind, but that doesn't mean Mono has everything in .net 4. What sort of errors are you getting?

ghost commented 10 years ago

Error Log

It's probably a really dumb mistake I'm making. I'm not even sure I'm doing the right thing to the right file. I'll do some reading on this, though. Dedicated to getting it up and running.

EDIT: Also, if you're interested in messing around with it (I'm not sure how familiar you are with Linux?), I can send you server information in an email.

Blecki commented 10 years ago

It seems like you'd be better off using MonoDevelop (the IDE, think it may have been replaced by Xamarin) or at least Xbuild. http://www.mono-project.com/docs/tools+libraries/tools/xbuild/ At any rate it looks like the bit you were using turns .cs files into objects and doesn't understand .csproj files.

I'd probably break something in the server. Best if you keep me off of it.

ghost commented 10 years ago

That did it. MonoDevelop is a solid program; no hassle at all.

With that, I present our first (tiny!) milestone: image

Server is web-facing currently, but I won't have it up long at the moment. You should be able to connect with a telnet/MUD client using the following: Server: luna.devrw.com Port: 8669

Trevoke commented 10 years ago

I also got it running through Xamarin (and so, of course, I installed a C# major mode for emacs). Whee :)

On Sat, Sep 20, 2014 at 8:17 PM, Rob notifications@github.com wrote:

That did it. MonoDevelop is a solid program; no hassle at all.

With that, I present our first milestone: [image: image] https://cloud.githubusercontent.com/assets/941463/4346960/26515e0c-4124-11e4-893c-de40be3291b3.png

Server is web-facing currently, but I won't have it up long at the moment. You can connect with a telnet/MUD client using the following: Server: luna.devrw.com Port: 8669

— Reply to this email directly or view it on GitHub https://github.com/Trevoke/let-us-write-a-mud/issues/4#issuecomment-56284483 .

Blecki commented 10 years ago

It appears that the database is missing from the version you are running. Can you place the 'database' directory from the source in the working directory?

ghost commented 10 years ago

Yeah, I just figured it out now. For some reason, when I build the project it only adds "settings.cs" in the database directory. I added the missing files in manually via SFTP and the server is up now, with no errors.

Blecki commented 10 years ago

Fantastic. I've already logged on and now I'm talking to you twice. I'll close the related bug.

I've added trevoke's demo area to the master branch, you should pull it in.

ghost commented 10 years ago

Just throwing this out there, but if we do end up paying for hosting or custom domain, I'm willing to throw a few bucks at it as well. I meant to mention that earlier and forgot.

Trevoke commented 10 years ago

Likewise :)

On Sun, Sep 21, 2014 at 12:18 PM, Nick notifications@github.com wrote:

Just throwing this out there, but if we do end up paying for hosting or custom domain, I'm willing to throw a few bucks at it as well. I meant to mention that earlier and forgot.

— Reply to this email directly or view it on GitHub https://github.com/Trevoke/let-us-write-a-mud/issues/4#issuecomment-56303777 .

Blecki commented 10 years ago

Similarenlightened.

ghost commented 10 years ago

Just to reiterate the situation...

I am currently running our project on a Linux virtual private server through Linode. I purchased it specifically for this project, and it is not being used for anything else. The IP is pointing to my personal (sub)-domain right now, but that will be changed once we finalize a proper name and purchase our own domain.

It is running Ubuntu 14.04 LTS, along with mySQL for database needs, nginx as a web-server, and Mono as our .NET implementation. I have set-up and configured our required software, as well as taken care of basic security and optimization changes.

I am happy to continue providing a sysadmin role should there be no objections within the core team. While the server will be limited-access for security reasons, I can give core members an account. I will also provide core members access to the backup files, as well as general sub-Linode account access for managing the server invoices and other administrative tasks.

Again, if anyone objects please let me know. Otherwise, I am considering this issue resolved and it can be closed.

Blecki commented 10 years ago

Go ahead and close it. You should look at getting RavenDB running on it.

ghost commented 10 years ago

No objections here.

ghost commented 10 years ago

Marking this closed.

I will get look into getting RavenDB set-up.

Trevoke commented 10 years ago

As a note, we could get a very similar server for $5 / mo on Digital Ocean.