@@ -0,0 +1,978 @@
+package com.thoughtworks.selenium;%0D%0A%0D%0Aimport org.openqa.selenium.server.RemoteControlConfiguration;%0D%0Aimport org.openqa.selenium.server.SeleniumServer;%0D%0Aimport org.testng.annotations.AfterSuite;%0D%0Aimport org.testng.annotations.BeforeSuite;%0D%0Aimport org.testng.annotations.Optional;%0D%0Aimport org.testng.annotations.Parameters;%0D%0A%0D%0Apublic class TestSeleniumServerLauncher %7B%0D%0A    SeleniumServer server;%0D%0A    @BeforeSuite%0D%0A    @Parameters(%7B%22selenium.host%22, %22selenium.port%22%7D)%0D%0A    public void startServer(@Optional(%22localhost%22) String host, @Optional(%224444%22) String port) throws Exception %7B%0D%0A        if (!%22localhost%22.equals(host)) return;%0D%0A        RemoteControlConfiguration config = new RemoteControlConfiguration();%0D%0A        config.setPort(Integer.parseInt(port));%0D%0A        server = new SeleniumServer(config);%0D%0A        server.start();%0D%0A    %7D%0D%0A    %0D%0A    @AfterSuite(alwaysRun=true)%0D%0A    public void stopServer() %7B%0D%0A        if (server == null) return;%0D%0A        server.stop();%0D%0A    %7D%0D%0A%7D%0D%0A

Add a launcher that TestNG can run (or exclude, if necessary)