.com.unity Forums

.com.unity Forums (http://forum.shrapnelgames.com/index.php)
-   Multiplayer and AARs (http://forum.shrapnelgames.com/forumdisplay.php?f=145)
-   -   LlamaServer FAQ (http://forum.shrapnelgames.com/showthread.php?t=35160)

llamabeast June 22nd, 2007 12:16 PM

LlamaServer FAQ
I thought I would make a thread giving details of how to do stuff on my automated server, the LlamaServer (www.llamaserver.net), so as to not have to rewrite the instructions for each new game.

1. How to join a game
2. How to play your turns
3. How to admin a game
4. On creating a new game
5. Other questions

llamabeast June 22nd, 2007 12:16 PM

How to join a game
Firstly, you should only join a game if you've found there's a thread for it on this board, you've read it, and they're still looking for players. Then you should post on the thread saying what nation you'll be. To actually join the game:

- Make sure you have the same mods enabled as the game you're playing in (Preferences->Mod Preferences) although only mods affecting pretender design, such as Conceptual Balance, actually matter
- Go to Game Tools -> Create a pretender god in Dominions. Don't set a password, since for PBEM games they're not helpful and occasionally annoying (e.g. if you need a sub)
- Go to the savedgames/newlords folder in the dominions directory, and find your pretender file (e.g. mid_pythium_0.2h)
- E-mail the file to: pretenders[ at ]llamaserver[ dot ]net
- Crucially, you must have the game name in the subject line of your e-mail

A few minutes later you should get a confirmation e-mail, and if you check the website you should find your nation added to the list of nations which have joined the game.

If later you think of an improvement to your pretender, you can send it in again. Provided the game hasn't actually started the server will accept your revised pretender, and send you an e-mail to say so.

llamabeast June 22nd, 2007 12:16 PM

How to play your turns
First, you need to create a directory for the game. Go to your dominions3 directory, open the 'savedgames' folder, and then within savedgames create a new folder with whatever name you want - but generally using the name of the game is a good idea.

So for example for the 'Alpaca' game, I created a directory 'dominions3\savedgames\Alpaca'.

When the game starts, you will be sent a trn file. You need to put this in the game folder you just created. You'll then be able to play your turn as normal using the 'Play an existing game' option in Dominions.

Once you've taken your turn and hit 'End turn', you should find a 2h file in the same directory that you put your trn file in. It'll have a name along the lines of 'mid_machaka.2h' (depending obviously on the age and the nation you're playing). This is the file that contains your orders, and you then need to email it to turns[ at ]llamaserver[ dot ]net. Obviously replace '[ at ]' with '@' and '[ dot ]' with '.' - I've written it funny so that the e-mail address doesn't get used for spam e-mails.

Within a few minutes you should get a receipt e-mail from the server (it checks its emails every five minutes). You can also see who's taken their turns and when the deadline is by looking at the website - www.llamaserver.net.

If you decide to change your moves you can send a revised turn in to the server, and it will use the file it received most recently from you. It'll send you an e-mail to say so too.

llamabeast June 22nd, 2007 12:17 PM

How to admin a game
Hmm, there's not really a lot I can think to write here.

Okay, the single thing which most commonly goes wrong with game admin is that the admin will get knocked out, and despite his or her best intentions stop following the game thread. This is only human. Therefore, if you get knocked out of the game, you must pass on the admin password to one of the remaining players. Preferably it will be someone relatively active on the forum.

Okay, next, the most important thing is to find the admin options. From www.llamaserver.net, click the name of the game you're admining, then click the "Admin options" link at the bottom of the page. From there I think it is fairly self-explanatory.

One option people don't seem to use very much is the "Change Message of the Day" option. This (which could perhaps use a better name - suggestions?) allows you to put a message on the game page for players to read. This might be useful to give players information about the game - upcoming delays for instance - or just to post a joke or a random comment.

One thing which is not obvious is how to set a player to AI. You shouldn't need to do this - the player should do it themselves - but sometimes players just disappear. Here's how to do it:

- "Admin options"->"Change a player's e-mail address", and then change it to the address of someone who can fairly look at the player's turn. Yourself if you're not in the game, or some trusted 3rd party otherwise (me, Gandalf, lch, DrPraetorius, Xietor, LazyPerfectionist, there's loads). We'll call this person Person A.
- Go back to the main page for your game and "Request turn resend"
- Person A will receive the absent player's turn, and should then set the player to AI and e-mail the resulting 2h file back to the server. Sorted!

That's all I can think of for now.

7th August 2008: Note that if you've been a game admin for a while, you should check your admin options again - you now have lots of powers you didn't use to have. There shouldn't be very much now that you can't do.

llamabeast June 22nd, 2007 12:17 PM

On creating a new game
The actual process of creating a new game is pretty straightforward. Just go to www.llamaserver.net/createDom5Game.cgi, and hopefully it will all be fairly self-explanatory. You should note that even once you create the game you can go back and change any of the settings, so you needn't worry about things becoming too set in stone.

So, the bigger question is when and how you should organise a new game. Here are a few guidelines:

- Anyone is welcome to create a new LlamaServer game. If you just want to make a small game for you and your friend, go ahead.

- Don't actually create the game on the LlamaServer until all the players have signed up, or at least nearly all. However, you may find it useful to look at the Create Game page to see all the options you have available.

- To organise a game, make a new thread in the multiplayer part of whichever forum you're using to organise the game. You should state what game settings, map and mods you plan to use, and any house rules you want to use.

- Make sure that you state what the game's policy towards treaties and non-aggression pacts is. Should they be inviolable, as many players prefer, or should they be mere words, as in real life? The choice is yours but it's important the players know the ground rules.

- Make sure the thread has a word like "open" or "recruiting" in its title. Be sure to change this once the game's full.

- As players sign up, keep an up-to-date list of nations in the game and who's playing them. This makes it easier for players to see which nation is taken, and later for them to work out who to message if they want to conduct diplomacy.

- As the game organiser, you'll also be the game admin, so read the FAQ section on that as well. In particular, make sure that if you get knocked out you pass the admin password on to one of the players still in the game.

llamabeast June 22nd, 2007 12:17 PM

General FAQ
In this section:

- How does the LlamaServer work?
- What's the capacity of the LlamaServer?
- Can you tell me how to make my own AnimalServer?
- Is there anything I can do?
- Are there any known issues?

- How does the LlamasServer work?

Ooh, lots to say here! But this is for the interested only, and could be quite dull. So, the LlamaServer actually consists of 3 computers:
- A computer actually called the LlamaServer which lives in my cupboard, and in fact has no other purpose (clearly I have difficulties in prioritising my expenditures!).
- The Cambridge Student-Run Computing Facility (SCRF) machine, which is an amazing service provided by student volunteers, and hosts the website.
- A mail server, owned by my brother.
plus obviously a load of DNS servers to point at the website. You wouldn't believe how long the DNS took to sort out (various evil "free" companies inserted pop-ups, and many other such problems).

Amyway, the LlamaServer itself is a linux box (running Ubuntu), and it runs a perl program ('goLlamaServer'!) every five minutes. The program first connects to the mail server to check if there's any new e-mail and download it all (using the Perl Email Project's libraries, slightly hacked by me). Then for each e-mail it checks if there are any attachments. If there are any archives (zips etc) it unzips them. After all that it sees if it has a 2h file on its hands (it can only cope with one per e-mail).

If it does have a 2h it sticks it in a folder called savedgames/test in the dominions directory, and then runs 'dom3 --verify test', which verifies the 2h file. If the 2h file is fine (it almost always is), Dominions gives a game number and a turn number. The game numbers are all kept in a file containing details for each game, so if the game is known the 2h file is stuck in the right directory. Whatever happens it writes an e-mail back to the sender (using an excellent perl script called sendEmail which I highly recommend).

Next it contacts (ssh) the SRCF computer to see if any new admin commands have been given, and if they have it does them.

After that it sees if any games need hosting, and if they do it hosts them and sends the new files. Finally it sends updated files to the SRCF computer.

The website itself was a whole extra task. I don't think there's much point describing it though, because I probably know less than a good proportion of people here about web programming - I know exactly what was required to do the LlamaServer website and nothing more, since I looked it all up as I went.

- What's the capacity of the LlamaServer?

I don't know. It's big - maybe 100 games? PBEM has the advantage of not having much in the way of overheads.

- Can you tell me how to make my own AnimalServer?

Well, not easily. The code for the LlamaServer is several thousand lines long. In principle I'm probably happy to distribute the code if people are interested, though I'd rather just make any suggested improvements myself - it's hardly going to run out of capacity so there should be no need for any more AnimalServers for Dominions.

If you're interested in creating an equivalent for another PBEM game though, I'd be very interested in helping. It would still be a biggish job, since quite a few bits are Dominions specific. But it would probably be doable.

- Is there anything I can do?

You could organise and admin games. And you could make suggestions for improvements. That's all I can think of really. Organising games is good though.

- Are there any known issues?

Yes, unfortunately. Two I can think of.

- Very occasionally e-mails from a particular player just won't get through, or will be delayed. I don't know what's going on here - since they never actually get to my end I'm a bit stuck. Maybe it's an internet thing, or maybe the mail server is slightly dodgy. Solution: retry. If that doesn't work, ask the game admin for an extension and try again later. This is obviously potentially serious as it could cause staling, but it's only happened a few times ever.

- Very weirdly, a problem's happened twice where a particular turn file arrives in a player's inbox corrupt. On requesting a resend, the turn arrives corrupt again. But the file's fine on the LlamaServer, and if I change the e-mail address to my own and get it to resend it works fine. Solution: ask the admin to get the file sent to him (by temporarily changing the nation's e-mail address) and have him forward the file to you. The next turn the problem should have gone. This is super super weird, but fortunately also super rare.

llamabeast June 22nd, 2007 12:18 PM

Extra spot in case I think of something else

llamabeast August 12th, 2007 08:18 PM

Re: Extra spot in case I think of something else
Being as I finally wrote this I thought maybe I should bump it. Although it's not very interesting apart from for reference.

Rytek August 16th, 2008 09:37 AM

Re: LlamaServer FAQ
This should be a sticky

Gandalf Parker August 16th, 2008 11:24 AM

Re: LlamaServer FAQ
It should definetly be in the MP Servers sticky.
But there are a number of servers with their own FAQs (IRC group, Goon Game Service, AfterHours, Dom3Minions, etc etc) so Im not sure that stickying the individual FAQs would be best. Putting them all in one sticky should work. (not the final answer, just my opinion).

All times are GMT -4. The time now is 04:57 PM.

Powered by vBulletin® Version 3.8.1
Copyright ©2000 - 2020, Jelsoft Enterprises Ltd.
Copyright ©1999 - 2020, Shrapnel Games, Inc. - All Rights Reserved.