Hmm, that's only a half solution... He mostly creates new nicknames, gets them all on your server and from the first moment he has the majority, he bans your server. When he sees an admin, he's off with all his accounts. Really, we fought him and banning in not an option.
The only real solution for this problem is what Tim asks, an multiple IP block.
Btw Tim, I suggest to allow 2 or 3 connections per IP. Otherwise brothers can't race on your server together and maybe the InSim apps can be blocked.
That's quite an easy add on for that program as (I suppose) the times of each get saved in a field and your time gets compared to the time in front of you in that node. You could easily change this so your time gets compared to the best time on that node.
But first there should be a solution for the minor accuracies on the oval...
Q1:
Yes, but then your computer has to be online 24/24 7/7. Well, if you use a database which is really located on your computer and not on the hosts computer. I would suggest using a web server because from there you can easily connect your ranking database to a PHP site which shows the current (and updated) rankings on the site.
Although an online MySQL database is very save too if you don't connect it to a site for example where users could enter ... how's it called again... MySQL injections.
Q2:
Yes, you can run a MySQL database from your own computer (from your localhost). You need a program for this. The program I use is called XAMPP and you can download it here: http://www.apachefriends.org/en/xampp-windows.html#641
It's a very user friendly tool if you want to setup a database.
Some quick information:
Install Xampp, open it, activate the MySQL part, open your browser and fill in the URL: localhost/phpmyadmin
It can get a bit new if you never done it before but the site I gave you earlier (about the MySQL queries from a .net application) will help you alot. If you have experience using PHP in combination with MySQL, you're one step ahead.
That's what I do when I need to delete a simple line...
As a creator from an finished Ranking System, I really suggest you to drop that txt shit, and start with a MySQL database. I'm currently rewriting the system into C# and with a MySQL database. This database is a lot more easier to work with, although its syntax has some slight differences from the PHP Mysql, and it's enormously faster.
Well, if the programmer uses 'nodes', who are updated each few seconds, it can be a problem because in the oval races, the qualification sessions are often decided with a few hundredths or tenths of a second. The qualification ticker would not be that accurate then. E.g. It can show that you are the number one in the last node, but you also can be number 7 when you finished.
Have you watched the YouTube vid which Amp included here? If you do, you would understand why it isn't that accurate.
Like Amp, I'm not volunteering to make this but I have an idea of how it could be made...
I have no experience with nodes and stuff, but what I was thinking of is this: (maybe someone with experience in nodes should review it and see if it's possible :$ + I never worked with an array with multiple objects so I would use a database for it)
You could, in an array with multiple objects, save the time for each player for each node and then compare it with your time, sort by time and you have your racing position at that time. At that way you can compare the split between you and the racer in front of you / in the back of you with their time they had on that node.
This could get a bit much for a computer to handle, especially a computer like mine, because if you race with 20 racers on a huge track which has a lot of nodes, your array would just explode.
While writing this, I'm thinking of a client side InSim I downloaded a few months ago to race on the oval... I think it was called LFSRelax and is made by Gai-Luron. I think this also had a real time split between you, the racer in front and the racer behind you.
You need a dedicated server for that stuff, you can download it on the LFS.net site.
If you manage to setup this server, it will remain online UNTIL you close the dedicated host. If you shutdown your computer, the server will disappear.
If you want a server that is online 24/24 7/7 you should hire a dedicated host somewhere in a data center.
What you need is:
1. A dedicated server, which you can download on the LFS.net site;
2. A "Cruise" InSim. You can find the cruise InSim in the programmers section on this forum.
In both the dedi server and the basic Cruise insim, there is a readme file that will help you set it up.
At this moment, I'm only 17 years old. I started working with a computer about 10 years ago. Well, working is a big word. It was more like driving around with a handcart and collecting apples and avoiding bombs.
When I became 12-year old I discovered an old "Webdesign" (read HTML) book from my auntie. I started to make some simple websites and after a few months I could make my own, but still simple site in HTML, working with Notepad.
At a moment sites became too easy so I learned JavaScript, PHP and MySQL and started to configure my own criminal game.
Until then, I never followed any lessons on (night)school. Then the moment came, I think it was 2 years ago, I followed the basics of VB.Net and eventually I started playing LFS with my clan. I came up with the idea of creating a Ranking System so I started with almost no knowledge of Visual Basic. After some weeks the first version was online and it ran fine.
Again 1 - 2 years later the system had allot of updates and I'm trying to learn C# with recoding the system into C# language.
Good moments:
My first site
Now the system is (almost) completed in VB.Net we have a server continuously running full 24/24 7/7. It's great to see all those users having fun.
I make sites on regular basis for factories, stores, restaurants, ... It's great to earn something with your knowledge!
It's also great when you start to understand the new language and the notation of it. Programming is not Chinese. It has something logical and that's great to discover.
Bad moments:
Hours of testing, more testing and even more testing always result into new bugs and failures and errors... At some point you'll get enough of those bug-fixing and you don't see it anymore. If you encounter this moment, I suggest you take a shower and go to bed. The morning after, when you have fresh energy, it will all go allot better.
It always annoys me that when people have a problem and they post it on a forum they expect you to write their program. It's like, I can't do it, so you do it for me! But at this way they'll never learn it.
To answer on your question:
No, not really. The world of programming languages is growing as we speak. There still is so much to learn but indeed, if you get better at something it's nice to see the progress you made in a relative short time.
If you mean that you want to start your InSim without clicking a button 'start' or something, your loading code should be placed in the App_load section of your code. I don't know the exact name of that section but it should be something like that.
Protecting a clantag, if that's what you mean is rather simple:
You save the playername into a string and search that string for the clantag. If it found a result, you compare his username to a list (can be a TXT file). If the username is found in that list, the players is OK. If it isn't found, kick him.
Kinda same way as the first clanprotection part: if the players username is the same as the username in the list (or txt file), he can execute the commands.
If you already have a configurable ranking insim, this can be added easily. There are a lot ways to do this, but first I have to know of what kind of rankings you're talking about...
Indeed, I'm also using Chrome and I couldn't activate my VS pack. Use IE 6 or later versions (which should be autoistalled on your system unless you have Linux / Mac / etc. )
If you mean that people can only use the lottery once in 24 hours for example (cause I don't really understand your problem now) you just should save the seconds, milliseconds or something from (for example) their first time on the server. If they buy a lottery ticket, you just have to check if the difference between the time now and the time of their last lottery is bigger then 24 hours.
Indeed, that sort of thing is what I'm doing right now with the FPRS RankingSystems: Put all data in a big .txt file, and let VB and PHP parse it. Whenever I find some time I'll try to connect both to a MySQL database because that txt file takes long to parse. I just read it out into a big array and display it, but it takes too long. MySQL should do a better job here.
Btw; If you really want a 'live' update, an update without refreshing the webpage, you should add some meta refreshers on the top of your PHP script.
I don't think it is possible to kick / ban / spectate people through InSim WITHOUT connecting an InSim app with the IP and adminpassword as the /spec, /kick, ... commands are sent from the 'host' itself.
Well, as connection with IP, port and pass isn't that hard to make, I would follow Makakazo's solution. A program who detects a keypress, if key is pressed make new column with all the racernames (can be done with a simple loop) and another column with K / S / B (kick, spec and ban). I should use the 'click id's ' of te buttons in order with the clients unique ID.
@Makakazo: In my InSim Lib (T'ronX's VB / C lib) the users get stored in order where they joined the server, not on UCID. That's why I would use the UCID as button click ID.