Category Archives: Server Hosting

RagnarStats Mod

RagnarStats

RagnarStats is a mod for keeping track of who has got most frags on your server. It will display a list of names of the 10 players with the most frags at the start of every map.

There are two mutators, RagnarStats and RagnarStatsDisplay. Only RagnarStatsDisplay needs to be downloaded by players. The other one should be on the server only.

Read the ReadMe.txt file for more info.

Works with versions: 1.00/1.01/1.02/1.07
Does not work with: 1.04/1.10 (Classic)
Not tested with: 1.08 (should work)

DOWNLOAD:

Rune 1.00-1.02
RagnarStats100.zip

Rune 1.07-1.08
RagnarStats107.zip

Code
RagnarStatsSrc.zip

Advertisements

Rune Classic 1.07 And 1.01 Servers

It is not only possible to play versions 1.01 and 1.07 with Rune Classic, but also to host servers for these versions of the game.

To run a Rune 1.01 server from Rune Classic you need to:

1. Open Rune.ini located in your Rune Classic games System folder
2. Comment out the following lines by putting ‘ or // infront of them:

//ServerPackages=VWCreatures
//ServerPackages=JunModel
//ServerPackages=HallsOfValhalla

3. Rename JunModel.u to OldJunModel.u
4. Rename HallsOfValhalla.u to OldHallsOfValhalla.u
5. Start the server with the following command:

rune.exe DM-Hildir?Listen -VERS=101 -server

That is all! Now you can host a dedicated 1.01 server from you Rune Classic game and people who have normal Rune will be able to join your server! You do not even have to be connected to Steam when you start the server this way.

To run a Rune 1.07 server you would just change -VERS=101 to -VERS=107.

Server Mod CountryFilter

CountryFilter is a server mod which lets you choose which countries can connect to your server. You can block connections from certain countries and allow all others or allow connections from certain countries and block all others. It does not have to be downloaded by players, it should exist only on the server.

DOWNLOAD:

Rune 1.00-1.04
CountryFilter100.zip

Rune 1.07-1.08
CountryFilter107.zip

Code
CountryFilterSrc.zip

The settings can be changed in CountryFilter.ini, to block or allow a certain country just add the country’s two letter code to the correct line. Countries are separated by commas.

The country codes can be found here:

http://en.wikipedia.org/wiki/ISO_3166-1_alpha-2

Example 1:

[CountryFilter.CountryFilter]
BlockedCountries=it,no,fr
AllowedCountries=

Block connections from Italy,Norway and France and allow everything else.

Example 2:

[CountryFilter.CountryFilter]
BlockedCountries=
AllowedCountries=pl

Only allow connections from Poland, block everything else.

You need to have Nephthys server security mod installed for CountryFilter mod to work. It can be downloaded from here for versions 1.01 and 1.07:

http://zzora.altervista.org/Nephthys.html

If you need Nephthys for versions 1.00 or 1.04 leave a comment here and maybe I can help you.

Remote Web Server Mod

Here is a simple example of how you can send information from a Rune mod to a remote web server.

All you really need is web host that supports php. There are many free web hosts that do this. Try using google.

In this example I am sending the current map and the number of players who are currently playing on the server, then the php script at the remote web server save these variables to a text file, which can be viewed in a normal web browser.

The mod is running as a ServerActor and does not need to be downloaded by players.

DOWNLOAD:
WebServerMod.zip | WebServerModSrc.zip

CODE:

The ServerActor:

// WebServerMod.uc
Class WebServerMod extends Info;

var UBrowserHTTPClient WebCon;
var string WebHost, WebFile;
var int WebPort, WebTimeOut;
var string WebVars;

event PostBeginPlay()
{
	local string MapName;
	local int Players;

	MapName = left(level, instr(level, "."));
	Players = Level.Game.NumPlayers;

	// Would look something like this in a browser:
	// www.website.com/folder/WebServerScript.php?map=DM-Coliseum&players=16
	WebVars = "?map="$MapName$"&players="$Players;

	WebCon = Spawn(Class'UBrowserHTTPClient');
	WebCon.Browse(WebHost, WebFile$WebVars, WebPort, WebTimeOut);

	log("Browse:"$WebHost$WebFile$WebVars$":"$WebPort);
}

DefaultProperties
{
	WebHost="www.website.com"
	WebFile="/folder/WebServerScript.php"
	WebPort=80
	WebTimeOut=5
}

The php script:

// WebServerScript.php
<?php

$MapName = $_REQUEST['map'];
$NumberOfPlayers = $_REQUEST['players'];

$LogFileName = "WebServerMod.log";
$LogFile = fopen($LogFileName, 'w') or die("can't open file");

$NewLine = "\n";

fwrite($LogFile, "Map: ");
fwrite($LogFile, $MapName);

fwrite($LogFile, $NewLine);

fwrite($LogFile, "Players: ");
fwrite($LogFile, $NumberOfPlayers);

fclose($LogFile);
?>

You could use this kind of thing for many many many other things too:

– update server stats
– update players stats
– create player chat system
– player rating of maps on download sites
– …much more, use your imagination

Note: I just realized that this mod sends the amount of players at the beginning of the map, and there might not be any players on the server so early. But it doesn’t matter, it’s just an example, you should still see the map name at least in the text file if you try it.

Classic Server Query (1.0X Server Fix)

For some reason you can’t join Rune 1.00, 1.02 or 1.04 servers with Rune Classic even if you can join 1.01. That is a little weird because all those versions are network compatible.

Anyway, if you want Rune Classic players to be able to join your 1.00, 1.02 or 1.04 server you can install this fix.

DOWNLOAD:
ClassicServerQuery.zip

Put the file “ClassicServerQuery.u” in your Rune system folder.
Open Rune.ini and change:

ServerActors=IpServer.UdpServerQuery
to:
ServerActors=ClassicServerQuery.ClassicServerQuery

Server Demo Recorder

Usually you record demos in Rune by typing the command “demorec” as a player, but it is also possible to record demos directly on a server.

The problem with a demo recorded by a player is that you will not see all players, and sounds will go away or be weird. This will not happen when you record the demo on the server, a server recorded demo will play back everything exactly as it happened.

I made this simple ServerActor which will automatically start recording a demo when there is someone playing on the server, and stop the demo when the server is empty. It does not need to be downloaded by players so don’t add it to ServerPackages, only to ServerActors!

DOWNLOAD:
ServerDemoRecorder.zip | ServerDemoRecorderSrc.zip

Put ServerDemoRecorder.u in System folder, then add to Rune.ini:

ServerActors=ServerDemoRecorder.ServerDemoRecorder

under all other ServerActors=.

A Simple Bot

A VERY simple bot. Works with all versions of Rune. It’s actually just a scriptpawn that automatically restarts when it dies.

To use it on your server, put all the files into your game System folder. Then when you make a server, select the ASimpleBot mutator from the list. Also add ServerPackages=ASimpleBot under all the other ServerPackages in Rune.ini.

DOWNLOAD:
ASimpleBot.zip | ASimpleBotSrc.zip

CODE:

//=============================================================================
// ASimpleBot
//=============================================================================
Class ASimpleBot extends LokiGuard;

function InitPlayerReplicationInfo()
{
	if (PlayerReplicationInfo.PlayerName == "")
		PlayerReplicationInfo.PlayerName = "ASimpleBot";
}

state Dying
{

PostDeath:
	if( Level.Game.RestartPlayer(self))
    {
		Enemy = None;
		StowWeapon = None;
		ClientReStart();
    }
    else
		log("ASimpleBot failed to restart!");
}

DefaultProperties
{
	bIsPlayer=True
	Intelligence=BRAINS_HUMAN
	Health=100
	MaxHealth=100
	bCanJump=True
	bCanWalk=True
	bCanSwim=True
	bCanFly=True
	bCanOpenDoors=True
	bCanDoSpecial=True
	bAdvancedTactics=True
	bCanStrafe=True
	bCanGrabEdges=True
	Skill=2.000000
	StartStowWeapon=None
	StartShield=None
	StartWeapon=None
	BlockChance=1.000000
	FightOrDefend=0.500000
}