May 22, 2008 - *YAWN*

Mycal

Staff member
I wish I wasn't so sick. I've been sick all week and have been suffering from a massive case from insomnia. I'm like up all the time now. I've had maybe a total of 2 hours of uninterrupted sleep since Sunday. I am not going to fare well when I take my trip to Las Vegas this coming Sunday. Well, it's helping me to make some progress I guess. I've spent a lot of this week working on knocking things off my todo list. I've got a good portion of them done actually. My only problem with ToDo lists, they tend to lead to more things I find I need to do before I can move onto the next item on the list. Or I simply get distracted and start work on something totally different on the list.

Anyway, I've mostly been working on the development tools the past few weeks. Most of the major problems and new features that have been requested have been added/fixed/updated/whatever. I am simply working on making sure everything is TRULY working now. For the most part, they're not. I keep finding bugs and eventually rewrite the entire thing. For those interested, most of the major problems I'm running into are all the changes being made to the WorldEditor. Since most of the changes are major and require changes not only GUI wise but with core systems, a lot of bugs keep arising from the new information.

It has taken a long time, but the WorldEditor is finally shaping up very nicely. The GUI is not very clean, but all the changes that have been outlined in the super secret Development Forum (well only secret to non-development users) have been made. Once I iron out the bugs with the code changes, I can start cleaning up the GUI and testing with new maps (only to find new bugs and squash them of course).

I am thinking of simply packaging all of the tools into the WorldEditor so it really is an all purpose tool, but since the new version of the editor REQUIRES both an internet connection and access to the database, it could also be a bad thing. I know the Devs were sure to see that and will probably react negatively, but there is a reason. I know users shouldn't get the development tools, but I also know there is a possibility of malicious hackers/future developers and with the login requirement, it should help prevent some of those people from being able to access things they're not supposed to. Of course it also screws over anyone trying to create anything without an internet connection or with the database being offline. That's another issue I am trying to look into. Perhaps you will only have to login once or once a week/month/year. Perhaps it'll detect a lack of internet or database being offline and simply wait until the next run or until either of the two suddenly becomes active and it forces you to validate yourself.

Meh, I'm tired of rambling. Sorry if my inability to sleep has made my thoughts form run-on sentences, but I have seriously just been typing as it flowed from my head. Time to lay in bed for 8-12 hours in hopes of actually falling asleep tonight.
 

Mycal

Staff member
You don't have an IP if you don't have internet access. So that won't really solve the situation.
 

krum

New Member
Calix said:
You don't have an IP if you don't have internet access. So that won't really solve the situation.


well I was referring to when you do go online, if they don't have internet access how do they plan to get the maps they make on the game in the first place??

I mean if they don't have internet temporarily, it could save the maps and upload them when they do have a connection, what I was referring to was the login, so that they only have to login again if their IP changes, or their computer specs changes that way we can verify what computers are who's and we can also check the state etc...

out of that state for that user could be blocked, unless notified by us to allow it, or if the computer has the EXACT same specs (aka laptop)
 

Mycal

Staff member
The point behind no internet connection was that you can map even when you have no internet access and simply upload them when you do have internet.

Yes, we can force them to login once and store the IP of the user. However, how can we check to make sure that the IP matches the one on record when they open the program? You would have to connect to the database or POST the info when connecting to a site which requires an internet connection.

The biggest problem I am still seeing, I keep backups of things on my Flashdrive so that if I leave a computer and head to school, I can still have access to some of the files I want right then and there. The computers at school block all ports except for the ones they know need to be used (which is typically only port 80 for non-CSE computers). Therefore, were I to get the hankering to start mapping something, I wouldn't be able to connect to the database (ignoring the whole myodbc dependency) to confirm that I should be using the program.

You could also make the argument that allow offline editing except for anything that requires the database (uploading maps, creating/editing npcs, etc etc). However, since the client keeps a cache of maps for faster loading, if a user without development access gets their hands on the WorldEditor by whatever means, they can safely view any of the maps by simply disabling their internet connection or adding an exception for the program in their firewall.
 

krum

New Member
Calix said:
The point behind no internet connection was that you can map even when you have no internet access and simply upload them when you do have internet.

Yes, we can force them to login once and store the IP of the user. However, how can we check to make sure that the IP matches the one on record when they open the program? You would have to connect to the database or POST the info when connecting to a site which requires an internet connection.

The biggest problem I am still seeing, I keep backups of things on my Flashdrive so that if I leave a computer and head to school, I can still have access to some of the files I want right then and there. The computers at school block all ports except for the ones they know need to be used (which is typically only port 80 for non-CSE computers). Therefore, were I to get the hankering to start mapping something, I wouldn't be able to connect to the database (ignoring the whole myodbc dependency) to confirm that I should be using the program.

You could also make the argument that allow offline editing except for anything that requires the database (uploading maps, creating/editing npcs, etc etc). However, since the client keeps a cache of maps for faster loading, if a user without development access gets their hands on the WorldEditor by whatever means, they can safely view any of the maps by simply disabling their internet connection or adding an exception for the program in their firewall.

I get parts of your argument, but not others...

I mean ok I get it you want to protect people from getting on the program...

well offline mapping can't exactly work out because the fact that people might have updated a map or changed it while you weren't on it...so, instead they should be allowed to map GENERIC maps offline.

and when they login, they can connect it and pick the starting map for it.

I mean it makes no sense to allow someone to update a map offline while someone else online changed the map, but when they upload the person who was online and changed the map, their work is all gone in a flash, you NEED the online ability to upload or change maps because others may be editing them at that time. And to be efficient you must know the updates of others work at all times.

of course they don't have an IP without internet, but they also can't login without internet....

so that defies the point of having a login.

I say to upload or change current maps on the server you must be logged in, and you can't edit them offline, but you can make generic maps offline to later upload on the next free page.

so to sum things up...

Offline Abilities:
  • - Making New Maps
    - Making New NPC's
    - Viewing Old cached Maps (Copy, etc)
    - Viewing Old cached NPC's (Copy...etc)

Online Abilities:
  • - Everything :p

also I think that there should be a heir achy.

allow some users to edit any map, allow some to edit specific maps, don't allow them to delete a map etc...

this reason basically for someone who may wish to sabotage our maps by deleting them or changing them to junk, which reminds me we should have a back-up of the map for when someone who is not an "admin" like me, steven and you calix changes the map so if someone does go wacko and delete a map(s) trying to anger the gods. :-D
 

steven

Administrator
Maybe allow the editors to be used, but maybe require a login for a change to be made, so I could map all day long without internet, but when time comes to add my changes to the server I have to log in to do so?
 

krum

New Member
steven said:
Maybe allow the editors to be used, but maybe require a login for a change to be made, so I could map all day long without internet, but when time comes to add my changes to the server I have to log in to do so?

but if you make changes to a already existing map, and others have changed it since then, then you may just erase all the changes that person just made, causing errors in the map or changing the map from map connections etc....

we need to be able to communicate when we edit maps, it would be ok to make maps offline but connecting them or giving them a map number would be impossible (in my state of thinking) without some kind of database connection...
 

Mycal

Staff member
This is not in the current version, but these are all planned features to prevent overwriting each other's work. Maps cannot be changed by anyone else but the owner unless the owner unlocks it and does not set it to finalized. Either of those prevent other developers from making changes to the map. If a map is finalized, nobody can change it, not even the owner. If the finalized flag is removed, the current version will be stored to prevent corrupt admins (who we've all experienced on Odyssey) from completely deleting maps. Maps can be marked for review by other developers which the owner can then fix based on feedback OR three developers can all mark it which then opens it up to other developers to make the changes (because we all know that not everyone is ALWAYS active) OR as a final case an admin level user can open it up (although, because there are very few admin levels users, this is a last case scenario for developers). In addition to all of the above, all developers are assigned a range of maps they should be working on so that no one gets confused about someone stealing their next map number. If you run out of maps on your range (which should take awhile since it is 1000 maps), it will automatically expand to the next unused range.
 

krum

New Member
yea, but I want to be able to improve or fix other maps (and since I made the graphics I believe I would be one of the best resources to make it look as best as possible)

so it would be cool if us three, me, steven and you have access to everything and 2 of us are the only ones allowed to delete a map or at least we are the last line of defense

if 3 lower admin or 2 hackers (whatever) got on and agreed on deleting a map, it is flagged for deletion, with a reason, then we have the ability to approve or deny that deletion, if the map was never finalized then it may be deleted, we also need a "currently editing semaphore" and and if you didn't know (which I am sure you did) but a semaphore is a lock that only allows one person at a time to EDIT or make changes to a specific map.

we should also have an admin level for the scripts and for anything else of that matter.

We can have it like ODY had, but with more levels

Admin Level 1: Is not allowed to edit any map, or NPC but is allowed a set few of the commands in the client.

Admin Level 2: Is allowed to create new maps and submit them for approval, as well as NPC's, Monster...etc

Admin Level 3: Is allowed to create/edit maps and upload them as well as NPC's and monsters etc...but has to be approved by a Higher admin.

Admin Level 4: Is allowed to create/edit maps and upload them without approval, but map is flagged for *double check* so other admin can check for errors and send messages to him telling him of the errors, they can also ask for approval of finalization.

Admin Level 5: Is allowed to create/edit maps and allow approval of any action except deletion of a map.

Admin Level 6: Us we are the final stage of protection, any map that has been asked to be deleted that was finalized. Is flagged to us. It takes only one of us to do this, while 3 level 5's can do it, the map will be stored on the sever and will ultimately be up to one of the level 6 admins.


I don't think any person should be allowed to script, that is just asking for trouble both on the slow code part, but on the "hacker" part.

Level 6 admin's should be the deciding factor for EVERYTHING, but we should NEVER completely delete anything until one of the original 3 have seen and approved the deletion. the overall approval of adding maps and how they are connected should be Ultimately approved by one of us as well...

I don't want this game out of our hands :-D
 

steven

Administrator
Didnt read, but make sure if everyone has to be connected no one can be editing the same map at the same time, kind of like a check out, if a maps checked out, dont let others edit it. Thats the most important thing.
 
Top