Jump to content

Vehicles disappearing then reappearing after restarts


Kroenen

Recommended Posts

you could also set it up like this:

 

is redis fuctioning as expected? no

is redis much better than sql? no

is redis much more secure than sql? no

does redis have a decent database manager? no

 

saving player data in profilenamespaceis not exactly a good idea since it can easily be changed and is most likely a slower operation than an extension call.

 

im having quite a lot of truble with redis aswell and im not exactly an idiot, lol.

... not to mention i have yet to see the argument for me to keep redis once there is an sql version available to me ...

Link to comment
Share on other sites

you could also set it up like this:

 

is redis fuctioning as expected? no

is redis much better than sql? no

is redis much more secure than sql? no

does redis have a decent database manager? no

 

saving player data in profilenamespaceis not exactly a good idea since it can easily be changed and is most likely a slower operation than an extension call.

 

im having quite a lot of truble with redis aswell and im not exactly an idiot, lol.

... not to mention i have yet to see the argument for me to keep redis once there is an sql version available to me ...

 

I agree completely. I would much rather be working with a well established SQL database that has some real tools that allow me to do things like BACK UP and export my data without having to just grab the DB with FTP. Something I can build queries in, insert data with....

Link to comment
Share on other sites

Hence the push to use the available Redis desktop manager.

at least then he can take control of what we are currently using.

He can then delete the null vehicle keys.

clean up old trader data and several other maint items since using php for some might be too advanced.

Halv, what kind of problems you getting with Redis?

Link to comment
Share on other sites

Hence the push to use the available Redis desktop manager.

at least then he can take control of what we are currently using.

He can then delete the null vehicle keys.

clean up old trader data and several other maint items since using php for some might be too advanced.

Halv, what kind of problems you getting with Redis?

 

If you think you can take control of your DB with Redis Desktop Manager then you must have zero database experience. Redis does almost nothing, it's almost only a database viewer.

Link to comment
Share on other sites

Axe:

I assume one of the cause for this problem was, that some scripts (f.e. blckeagl's missions and infistar) spawned vehicles in such a way, that they added a vehicleslot to the vehiclelist (vehiclelimit+1) and then took out the first solt from the vehiclelist. However, then there still was a slot at position vehiclelimit+1, which will not be loaded from the database at the next restart, cause you only load the vehicles from slot #1 to slot #vehiclelimit.

 

Code from blckeagl 2.0.2:

EPOCH_VehicleSlotsLimit = EPOCH_VehicleSlotsLimit + 1;
EPOCH_VehicleSlots pushBack str(EPOCH_VehicleSlotsLimit);
_slot = EPOCH_VehicleSlots select 0;
_veh setVariable ['VEHICLE_SLOT',_slot,true];
EPOCH_VehicleSlots = EPOCH_VehicleSlots - [_slot];
EPOCH_VehicleSlotCount = count EPOCH_VehicleSlots;
publicVariable 'EPOCH_VehicleSlotCount';
_veh call EPOCH_server_setVToken;

I was talking to infistar and ghostrider (blckeagls mission actutal developer) and both got updated. Now infistar doesn't spawn anything when there is no free slot. And blckeagl-ghostrider just spawns static machineguns, so there is no need to store them to the vehicle list. However, the "old" blckeagls 2.0.2 still spawn mission cars at positions over the limit.

 

But Axeman, is there no better way to load vehicles from the database as 1 to #hardlimit?  If I read the code correct, it is safe to try to load more vehicles from the database. Epoch code seems to check if the slot is occupied and correct, or not. So one could maybe change the iteration from 1 to #hardlimit+50.

 

However, when then still using old blckegals or infistar versions, it would all the time blindly create a slot at the #vehicleslotlimit+1.

 

Server admins should update these scripts as soon as possible.

 

BR

Rob

Link to comment
Share on other sites

I think the reason it comes down to a discussion on the type of Database used, is it seems to stem from the way the database loads the items on startup. This obviously may be changeable, but as Rob states, when you have missions running, if they save vehicles, the next time the DB loads, it seems to randomly decide what it's going to generate in game. In reality, it  should read the vehicles from the database and load them in game, THEN check the vehicle caps to see if any more of that type need spawning.

 

This is also a problem if an admin needs to spawn a vehicle for any reason at all. If it takes it over the cap set in epochconfig, then someones vehicle is going to disappear. Unfortunately (and this is my biggest issue with redis), there doesn`t appear to be any way to search or find out which vehicle has caused the issue. At least with the SQL quesries, it was significantly easier to manage and delve into whats going on. On top of that, with hosted servers, you have to download the redis db files, modify them, then upload them again and hope the changes are correct.

 

At least with SQL, you can run the queries while the server is live, change and restart.

Link to comment
Share on other sites

Axe:

I assume one of the cause for this problem was, that some scripts (f.e. blckeagl's missions and infistar) spawned vehicles in such a way, that they added a vehicleslot to the vehiclelist (vehiclelimit+1) and then took out the first solt from the vehiclelist. However, then there still was a slot at position vehiclelimit+1, which will not be loaded from the database at the next restart, cause you only load the vehicles from slot #1 to slot #vehiclelimit.

 

Code from blckeagl 2.0.2:

EPOCH_VehicleSlotsLimit = EPOCH_VehicleSlotsLimit + 1;
EPOCH_VehicleSlots pushBack str(EPOCH_VehicleSlotsLimit);
_slot = EPOCH_VehicleSlots select 0;
_veh setVariable ['VEHICLE_SLOT',_slot,true];
EPOCH_VehicleSlots = EPOCH_VehicleSlots - [_slot];
EPOCH_VehicleSlotCount = count EPOCH_VehicleSlots;
publicVariable 'EPOCH_VehicleSlotCount';
_veh call EPOCH_server_setVToken;

I was talking to infistar and ghostrider (blckeagls mission actutal developer) and both got updated. Now infistar doesn't spawn anything when there is no free slot. And blckeagl-ghostrider just spawns static machineguns, so there is no need to store them to the vehicle list. However, the "old" blckeagls 2.0.2 still spawn mission cars at positions over the limit.

 

But Axeman, is there no better way to load vehicles from the database as 1 to #hardlimit?  If I read the code correct, it is safe to try to load more vehicles from the database. Epoch code seems to check if the slot is occupied and correct, or not. So one could maybe change the iteration from 1 to #hardlimit+50.

 

However, when then still using old blckegals or infistar versions, it would all the time blindly create a slot at the #vehicleslotlimit+1.

 

Server admins should update these scripts as soon as possible.

 

BR

Rob

 

However the default AH will gladly keep spitting out permanent vehicles when you have hit or exceeded the cap...

Link to comment
Share on other sites

  • 2 weeks later...

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Advertisement
  • Discord

×
×
  • Create New...