GNL.tv is an open source racecast system for Papyrus Nascar Racing 2003. It allows thousands of people to watch a NR2003 race live on the internet. This is the first step to providing the online racing community a true live experience watching other racers competing in their leagues.

A small server application connects to a NR2003 installation on the same computer and collects standings data and all car positions during the race. A PHP based webpage connects to the server application and displays the results. There is also a java applet that displays the car positions on a track map.
Originally developed for the german Virtual Racing e.V. league, GNL.tv has now been released as open source software. The goal behind this step is to provide a solid framework for building a sophisticated TV application with the help of the racing community that addresses all requirements for a unique watching experience.

GNL.tv features:
- Very streamlined server with no impact on the performance of the hosting system
- Server may monitor a dedicated NR2003 server or run on a NR2003 client connecting to a dedicated server
- Communication with GNL.tv server is done via standardized XmlRpc interface
- Car Position updates are distributed using a custom streaming protocol
- Compressed communication leads to very low network bandwidth requirements
- Services up to thousands of viewers by caching the standing results and using proxy servers to distribute the load
- Easy to setup
- Works with all addon tracks
Visit the demo installation to get a glimpse of how GNL.tv works.
Running GNL.tv with PHP5
Please take a look at my blog entry to read how to enable PHP5 support in GNL.tv.
Downloads
For installation instructions, please consult the included readme-files. All files are released under the GPL license.
GNL.tv Version 1.4 (latest version)
GNL.tv Version 1.4 Source (source code for latest version)
GNL.tv uses the SVG file format to render track overviews. You can create these SVG files automatically based on the NR2003 track files with the utility PtfConverter. You only need this utility if you plan to convert new tracks yourself.
PtfConverter Version 1.0 (latest version)
PtfConverter Version 1.0 Source (source code for latest version)
Just to I understand…
This informations returns of the standings file maked by the tag ok????
Ths point is, all the marks are recorded in the file standings.txt with the number -1 and the fuction that I sad before, don’t understand this markup..
I’m right?
Thanks!
Fabricio Silveira
Not sure I understand your problem. If the standings.txt file contains -1, then it did not receive that value from the server. In that case nothing will be displayed in the standings.
The folks over at RaceServers.net have been able to get it to work with 2005, I’ve looked at the code and I believe there is some code missing used to compile the gnltv.exe, when I got to recompile it tells me missing papytelemapp.h Is there anything you can add to this?
Where does the application check to see that nr2003 is running? I should be able to tell this to go look at nr2005 instead of 2003 correct?
If they made it work with 2005 you could ask them. The code is released under the GPL license, so if they made modifications to the code they need to publish it to conform to the license.
The papytelemapp.h file is part of the nr2003 installation. I am not allowed to redestribute it with GNL.tv.
GNL.tv uses the papytelemapp library to check for a running nr2003. There is no easy way to change that to nr2005.
Ok thanks, do you know what libraries I should be using to get the linker to resolve the symbols?
You can find the required libs in the Makefile:
What version of visual studio did you compile with? I have resolved most all of the errors, still getting 40 unresolved external symbols, but I think that is because I am using 1998 Visual C++, maybe the 2 libraries included from that version are out of date…
I believe I wrote it with the 2000 or 2002 version. I guess your best option would be to download Visual Studio 2008 Express Edition. That should work.
well I’ve not been able to get it done, if anyone wants to compile it for me, all I need it to do is look for nr2005 instead of nr2003, should just be a simple number change
while (true) {
if (AppBegin(“NR2003″, serverstatus->getTelemetryID())) {
I just can’t figure out what’s missing from me being able to compile this, keep getting unresolved symbols and I’m using visual studio 2008.
If anyone gets this done please let me know pioneer162@gmail.com
Best regards,
Ron
Well I finally got it all working locally, however when I try to have others view the applet from the outside they get ‘invalid’
Not sure what is missing, but obviously there is no data connection happening.
running gnltv.exe standard ports
running gnltvproxy.exe -p 8080 76.189.149.199:8001
The ticker is working (http://76.189.149.199/gnltv)
And if I try to open the track overview(applet) it shows the track, but the session is ‘invalid’ and the counter is a huge number
If I open the track overview from inside my router, it displays fine, any outside address gets the invalid stuff. I have the router set as full dmz to the web server and the config.php looks like this…
// these variables define the GNL.tv server location
$tvserver = “76.189.147.199″;
$tvport = 8000;
// port number of the gnltvproxy progam (optional)
$streamingserver = “76.189.147.199″;
$streamingport = 8080;
Any ideas what’s broken?
Probably an issue with IIS, I hosted with apache and don’t get any data locally, but when I host with iis, I get data locally, you said you host with linux, so you probably can’t help me at all….. I’ll toy around with it some more.
Regards,
Ron
fixed itself…. no idea what I did… cheers
ok i cant figure out how to get this to work plz help maybe a tutorial would help
Please take a look at the documentation included with GNL.tv. I will try to answer any specific questions.
im just confused on setting up the config file and the server
is port forwarding required?
im srry but computers are still hard for me to understand and that read me file is confusing to me it doesnt explain anything step by step instructions on how to get it running would be so much easier
If your race server is running behind a firewall, you need to have port forwarding enabled. This is the communication process:
spectator (browser with Java applet) -> webserver with gnltvproxy -> gnltv on race server -> NR2003
Network communication between these components must be possible.
For full functionality you need to have access to your own webserver. Shared webhosting will NOT work!
ok i port forward and put my ip in the config ini file and now still confused
ok i got it to work but the marqee is where im stuck at and the racestats.php comes up as a weird code and its not on the pretty blue screen