Code:
public static int RandomSeed = 0;
This is the seed, whom the Random is generated out of. You have to make a seed to generate a random number out of and the seed will change for every instance. It does not benefit anything and the seed is generated no matter what, if you do not give the Random a seed, then it will create is own using Environment.TickCount I think or something among those lines.
Code:
ServerBase.Kernel.Random = new Random(RandomSeed);
This is just creating a new instance of the Random with the RandomSeed send to the constructor.
Code:
RandomSeed = Convert.ToInt32(DateTime.Now.Ticks.ToString().Remove(DateTime.Now.Ticks.ToString().Length / 2
This is just a bunch of useless code IMO. You could create a seed much easier or don't do it at all, because it's a bad way to do it, why do you want to get the tickcount, convert it to a string, remove some characters within it dividing the length with 2 and then convert it back to an int. A lot of code for such a simple task.