Author Topic: Linux server  (Read 3880 times)

Offline dumpsterKEEPER

  • Sr. Member Mark II
  • ****
  • Posts: 361
Linux server
« on: February 26, 2011, 01:16:01 pm »
Are there any plans to release a dedicated linux server for AVWW? I currently have a linux game server that runs a Minecraft world for me and a group of friends, and it's quite enjoyable being able to jump in and out of a shared world. It would be a blast to be able to set up something similar for AVWW. The way it's set up though, switching to Windows is not particularly feasible.

I know this isn't a priority at the moment (since you did just being working on multiplayer :)) but is it a possible option down the road?

Offline x4000

  • Chris McElligott Park, Arcen Founder and Lead Dev
  • Arcen Staff
  • Zenith Council Member Mark III
  • *****
  • Posts: 31,651
Re: Linux server
« Reply #1 on: February 26, 2011, 02:09:50 pm »
There is a 0% chance of the game having a server that is anything other than the unity engine. However, anywhere the unity engine will run, so will the server. Since unity does pretty well in WINE, you should have what you want, knock on wood. :)

I should mention that the erver in avww is the game launched with a certain command line option that causes it to run in server mode, without any graphics or sounds from the game, just a server management GUI. That's actually the only way to run a server in avww -- unlike ai war, the server can't be directly launched in the same process as a client that is actually playing the game. It's all dedicated hosting, but you can run both a host process and a client process on the same machine if you want.
Have ideas or bug reports for one of our games?  Mantis for Suggestions and Bug Reports. Thanks for helping to make our games better!

Offline dumpsterKEEPER

  • Sr. Member Mark II
  • ****
  • Posts: 361
Re: Linux server
« Reply #2 on: February 26, 2011, 02:25:49 pm »
Ah, that makes sense. I'd been picturing a listen server, probably because of AI War and Tidalis, but that's basically what I'm looking for.

When you say there's a server management GUI, is it possible to run in a CLI? The server in question is a headless box that is administered completely remotely, so it sounds like if there's a way to not require a full GUI, then WINE would probably do the trick.

Thanks!

Offline x4000

  • Chris McElligott Park, Arcen Founder and Lead Dev
  • Arcen Staff
  • Zenith Council Member Mark III
  • *****
  • Posts: 31,651
Re: Linux server
« Reply #3 on: February 26, 2011, 03:45:41 pm »
I don't think we'll be able to support a Command line interface due to the nature of unity, unfortunately. It will require basic 3d graphics acceleration and visuals. I imagine that the requirements will be low enough to work over vnc, but I'm not positive on that. There's not a way for us to make the game run outside of unity without coding two versions of the entire thing, which would be enormously increasing the amount of work to maintain and extend the game on an ongoing basis, making it something we can't really consider. That pretty much kills the CLI option unless unity randomly adds that as a feature someday, but given their focus I don't know why they would.

THAT said, being able to configure the server via config files is a definite possibility for a bit down the line. So, thinkIng about it, you might be able to run it in a CLI interface as long as the box supports wine and all that, and just not directly interact with it once it is running, just killing it and restarting it if you need to change the config files. I'm not 100% sure that would work on your specific box, but it sounds plausible at the very least.
Have ideas or bug reports for one of our games?  Mantis for Suggestions and Bug Reports. Thanks for helping to make our games better!

Offline dumpsterKEEPER

  • Sr. Member Mark II
  • ****
  • Posts: 361
Re: Linux server
« Reply #4 on: February 26, 2011, 09:02:28 pm »
That does sound promising! I'm excited about the possibility of making it work, and I appreciate the additional clarification. I realize you're still pretty early on in the design so the details might shift some, but I was just thinking about this today and was curious how it might be handled.

Offline x4000

  • Chris McElligott Park, Arcen Founder and Lead Dev
  • Arcen Staff
  • Zenith Council Member Mark III
  • *****
  • Posts: 31,651
Re: Linux server
« Reply #5 on: February 26, 2011, 09:30:12 pm »
Sure thing.  And launching it from the command line is certainly something that will happen -- Keith just today added the ability to launch it from the command line with a specific world file chosen then (as opposed to through the GUI), so certainly startup parameters can be set through the command line.  I was more thinking about ongoing management and server commands, etc.

Though when it comes to that, we might build it in so that there are "server administrator" roles on the client side itself, and those folks can issue server-commands through in-game chat like the commands and cheats of AI War.  That would solve the issue of wanting multiple administrators without them having physical access to the box the server is running on, which is certainly a concern, so between those and the launch options, THAT might handle what your specific case is, assuming that unity doesn't crash in that specific linux configuration for some reason like missing graphics card support or something, even though it's being run headless.

So we'll see -- that's certainly something that we'll be looking at with folks in alpha, is server administration and maintenance scenarios, along with all the other various networking concerns that are going to be bubbling around then.
Have ideas or bug reports for one of our games?  Mantis for Suggestions and Bug Reports. Thanks for helping to make our games better!

Offline Nalgas

  • Hero Member
  • *****
  • Posts: 680
Re: Linux server
« Reply #6 on: March 02, 2011, 05:14:32 am »
This is something I'm also potentially interested in, because I have a ridiculously beefy server with unmetered bandwidth that's mostly just sitting there at the moment.  My other option is running it on my home connection, which is painfully slow for the time being.  It doesn't really bother me if it's non-trivial to set up or not officially supported, but at least having it be possible would be nice.

Offline Nalgas

  • Hero Member
  • *****
  • Posts: 680
Re: Linux server
« Reply #7 on: June 02, 2011, 05:53:07 pm »
Kind of related, Terraria is an excellent example so far of how not to handle this.  I know the game kind of got a forced early release, so we're lucky to even have a standalone server at all, but there's almost no point in even having released the server when it's Windows-only and requires .NET 4.0 to run, because almost no one is silly enough to just have a Windows server laying around unless they need it for work or something.  At least it doesn't require access to video hardware to run a server now, but it's still pretty much a nightmare (and generally an unsuccessful one) trying to get it to run in Wine.

Hopefully that'll change, because a large, persistent multiplayer game really benefits from being able to have a stable server up all the time that's not on someone's home connection, so people can just jump in and out whenever they happen to be around, without having to schedule or organize anything in advance.

Offline x4000

  • Chris McElligott Park, Arcen Founder and Lead Dev
  • Arcen Staff
  • Zenith Council Member Mark III
  • *****
  • Posts: 31,651
Re: Linux server
« Reply #8 on: June 02, 2011, 10:14:51 pm »
Well, aside from WINE, the only Linux support for AVWW will be based on when unity 3r starts supporting that platform. When they do, we'll be all over that. But we definitely can't go writing two versions of the code, with a standalone server that is not unity 3d based. For a small developer, as with terraria's case as well, that's just generally not in the cards. Too little staff, etc. But I keep hearing rumblings that there is Linux support comic for unity 3d (and really I can't understand why it's not there already), so I'm hopeful. :)
Have ideas or bug reports for one of our games?  Mantis for Suggestions and Bug Reports. Thanks for helping to make our games better!

Offline Nalgas

  • Hero Member
  • *****
  • Posts: 680
Re: Linux server
« Reply #9 on: June 02, 2011, 10:33:11 pm »
Well, aside from WINE, the only Linux support for AVWW will be based on when unity 3r starts supporting that platform.

As long as it actually works in Wine (which Unity stuff seems to in general, so I'm not too worried), I can work with that.  It's the whole XNA/.NET 4.0 thing that makes it so rough with Terraria.  You can sort of get .NET 4.0 working in Wine, but not terribly well, or you can manually build a prerelease version of Mono 3.0 that doesn't really work yet, neither of which is a particularly great option.  Heh.

But we definitely can't go writing two versions of the code, with a standalone server that is not unity 3d based. For a small developer, as with terraria's case as well, that's just generally not in the cards. Too little staff, etc.

That's perfectly understandable.  It's also why I've been avoiding things that are too platform-dependent for what I do on my own when I can, though, whether it's software I use or write.  Games are a bit of an obstacle to that, so I make a pretty huge exception for them, but other than that I'm almost at the point where I can switch OSes/architectures at will for most stuff.  It's obviously very not possible for a lot of things, though.

I guess with the move to do everything in the browser, it's becoming more of a possibility, but I'd rather be trapped on a single OS than have to use my web browser for most things people try to force them to do.  Great, I can use ten times the CPU/RAM to do simple tasks that are missing basic features we had in 1995.  I'm not that determined to be cross-platform.  Heh.

Offline x4000

  • Chris McElligott Park, Arcen Founder and Lead Dev
  • Arcen Staff
  • Zenith Council Member Mark III
  • *****
  • Posts: 31,651
Re: Linux server
« Reply #10 on: June 03, 2011, 08:32:06 am »
Yep, Unity in general seems to work really well in WINE; no reason to believe this would not.  The server is particularly lightweight because it doesn't have much in the way of graphics, has absolutely no audio, etc, so that makes it an easier thing to have be compatible.

I believe that Terraria is built on XNA, by the way, which is why it has its specific requirements.  Those sort of requirements are why I originally went with SlimDX over XNA in earlier versions of AI War, and why we later switched to Unity 3D.  Keith and I think that C# is the bee's knees, and further that programmers should work in whatever languages are most productive for them.  Fortunately, thanks to mono and Unity 3D both, that's becoming more and more of a cross-platform reality.  But for some folks, there's a certain attractiveness to XNA (or any other technology or platform), and I try not to judge. ;)

But yeah, when it comes to doing too much in the browser, I'm completely with you there.
Have ideas or bug reports for one of our games?  Mantis for Suggestions and Bug Reports. Thanks for helping to make our games better!

Offline Echo35

  • Master Member Mark II
  • *****
  • Posts: 1,703
  • More turrets! MORE TURRETS!
Re: Linux server
« Reply #11 on: June 03, 2011, 11:34:16 am »
I don't think we'll be able to support a Command line interface due to the nature of unity, unfortunately. It will require basic 3d graphics acceleration and visuals.

As I recall, the command line server for World in Conflict required DirectX libraries for that exact reason. It was pretty silly. I'd rather just WINE Unity :P

Offline Nalgas

  • Hero Member
  • *****
  • Posts: 680
Re: Linux server
« Reply #12 on: June 03, 2011, 02:27:10 pm »
I believe that Terraria is built on XNA, by the way, which is why it has its specific requirements.  Those sort of requirements are why I originally went with SlimDX over XNA in earlier versions of AI War, and why we later switched to Unity 3D.

Yeah, that's why I was avoiding XNA-based stuff even for prototyping things lately, so I don't get myself into that kind of situation, even though some of it looks pretty quick and easy to do stuff with.

But yeah, when it comes to doing too much in the browser, I'm completely with you there.

I've gone so far as to write a Python CLI client for an AJAX-tastic webchat, that's how much it bugs me sometimes.  That was probably kind of on the silly side, even for me, but I guess it was at least a good excuse to learn how that kind of stuff works in Python.  Heh.