TravelPortals
TravelPortals is a plugin which allows users to teleport between locations using structures made mainly of obsidian. The goal of this was to create a quick way to move users from place to place without making the method to do so completely free.
MinecraftZero has created a video showing them in action. It is available here!
More information
- How to make a portal
- Command Reference
- Change Log
- Permission Nodes
- FAQ
- Report a bug/Request a feature
- Development builds
Similar Plugins
MyPortals - A few different features including translation and a different portal design.
Source
The source code is available on the project's github. Latest development builds can be found here.
hi .. thanks for this plugin, it inspired me to do some tests, learn java and write my first plugin too
it has some new features, you can check it HERE
@AT_HE
Haha... yes, yes it should. I'll update that now.
thanks for hear my prayers :D
a little advice .. in changelog 2.2.7 ..
- it says: "Should prevent portals from being able to create infinite lava in the nether" - should say: "Should prevent portals from being able to create infinite OBSIDIAN in the nether"
@AT_HE
Hi again,
I'll respond to both of your posts with one to make it easier.
So, the nether fence thing sounds like a bug. I never really tested what happens when the door material and the wall material are the same thing. I'll try to look into this soon. I can't think of a great way to make it work without code changes, sadly.
The rest of your ideas are definitely interesting, and I'd like to implement a few.
As far as dynmap goes, you should be able to do this now. I know it has been done in the past, but never looked into exactly how. In the config file, you should see an option called "autoexport" - this will regularly export a list of all portals, their locations, etc into a comma-separated txt file in the travelportals directory. I'm pretty sure the people who did it were able to use this.
Finally, permissions. You should be able to set up whatever plugin you are using to give different permissions to users based on the world that they are in. (If you don't have one, I've had success using http://dev.bukkit.org/bukkit-plugins/permbukkit/ in the past. See here for sample configuration: https://github.com/SpaceManiac/PermissionsBukkit)
If you give users in world "world" travelportals.classicuser and users in all other worlds travelportals.nopermission, you should achieve what you want. Something like this:
Unfortunately, I've had very little time to attend to my bukkit stuff lately. I don't think I'll get to this very quickly. (Life and all that) I'd be surprised if I find time in the next week or two. I won't forget about it, though.
hi
i want to make portals with "nether brick fences" (id 113) with same material door .. to look symmetric and let player pass through fences but don't let water escape .. and activate with fire (id 51) a la "nether portal" (with flint and steel)
it doesn't work, but if i replace door with wooden fences instead (id 85) it works flawlessly
why doesn't it work with door of same material? .. are plugin confused? .. how can i get to work?
@cppchriscpp
hi.. thanks for answer early
how can i block portals in other worlds by permissions?? .. i did a dirty trick in where i delete all nether and theend portals sending commands to server via crontab .. but i dont know to much about permissions
... now i know why the shape of your portals, i was doing tests .. you use water to do animation effect, and the door is for water dont escape
you could add another feature: delay, in which you ENTER the portal (not stand next*) and if you dont move in X seconds portal triggers, otherwise counter resets
i thought this as a security measure (and adds some dramatism** ;) )because sometimes i get near some portal to view info or whatever, and it suddenly sends me far***
notes
* maybe you could check if you are in exact portal coordinates (inside, where you put torch) before warp, as a security measure
** when you enter a nether or the end portal, there is a twisting visual effect and after a little delay you are in your new world .. now i knew your plugin is very simple (that is good) and you use water to do the visual effect, you cant do twisting but maybe you can use the delay .. also it gives security and the mystical sensation of "charging" and it is not so instant or easy (altough in fact it is)
*** sometimes one dont remember where the portal warps, and you have many portals, the fastest way to know is to get near and ussue an info command (and swishhh, suddenly i am in another place :D) ... would be very nice if you just look at your portal and it shows a tooltip with the destination (like tooltips when you look name tagged mobs)
in addition, your server could be crowded and heavy explored, if you write "/portal list" you could get a huge list ... would be nice if will list only YOUR portals ans have subcommands like /portal list all, portal list playerName (shows playerName owned portals) .. your portal that points to a portal not owned by you should show the owner
summary:
- your plugin is cool and DAMN USEFUL, seems to work ok in 1.7
- can you tell us permission configuration (for dummies) to block portal creation in other worlds?
- can you force to be inside portal and immobile awhile to trigger warp?
- can you visually select your portal block to issue commands like name, warp, info?
- /portal list shows your portals, and have subcommands: all, playerName
- it should shows a tooltip with destination when you look at some portal
- /portal list shows the owner of the destination portal if is not yours
- /you could view any portal info with /portal info myPortal
- what is the purpose of portals have an owner? you still can change portal's name and dest (could be organize in /portal list)
- i would like to integrate this plugin with dynmap :)
this plugin has a LOT of potential :)
(is a shame i dont know how to create a plugin :( )
@AT_HE
Hello,
You should be able to do this with the built-in permissions support. If you look in the configuration file, you should see an option to enable permissions. From there, just block travelportals.*for all players in all worlds you do not want them to work in.
Your first configuration option (inter-world portals) is interesting. I hadn't thought of that before, and would be a useful option. I'll add that to the bug tracker. The second one should really just be handled by permissions, however.
hi .. how can i block portals in nether and the_end??
.. i dont want people warping directly to nether and the_end .. that way nobody will use its portals .. (water inside should dry)
if you want, you can put a travelportal next to nether or the_end portal
i think it should have 2 more configs - allow_inter_worlds_portals - allow_putting_portals_in_nether (and the_end)
@Nosxxx
Are you absolutely sure that you are on 2.2.6? BukkitDev takes some time for files to be approved; if you downloaded from BukkitDev right when I commented you might have gotten 2.2.5 by mistake.
I just re-downloaded the latest release, loaded it up on my test server and tried it via the console and it worked as expected.
If you're sure that you have 2.2.6, let me know and I can try to figure out what is going on. Please upload your config file to http://dev.bukkit.org/paste/ or something similar too if this is the case.
(I'm really hoping you're on the wrong version though, because I am really not sure how that could happen otherwise)
@Nosxxx
Ugh, yeah... your first version of the comment was right. For now you have two options- do it from the server console (the plugin essentially ignores permissions there) or give yourself travelportals.* temporarily to get access to everything. (Admittedly, this is what I did during testing)
I'll try to get a corrected version out soon.. I think I'll take a closer look at permissions in general. I saw some weirdness in there while I was making this release; now is as good of a time as any.
Thanks for pointing it out
@Nosxxx
Hey again,
I just tossed up a new version. It still needs to go through the approval process, but should be available soon. It has the deleteworld command you need. If you don't feel like waiting, I have it mirrored on my site here.
Enjoy!
Chris
@Nosxxx
Hey,
So, I'm in full agreement. You're able to rename all instances of a word, but I never gave a good way to delete them.
It should be pretty quick to write up, but I'm a bit strapped for time lately. I should be able to get it in by late Thursday worst case. I'll see what I can do.
Thanks for the feedback!
Chris
@cppchriscpp
Thanks again!
@IamHD
Hm.. I hadn't considered putting it into the console before. That feature was more meant to be used with mapping tools, etc so you could show your portals on a map. It wouldn't be too hard to give an option, but it seems a little awkward to do it that way. (I'm afraid of confusing users by printing out 500 lines like that into the server console) What benefit would putting it into the console have?
As far as not having it in help, that surprises me. Must have been an oversight in my part. I know it's in readme.txt... but no one really reads that :p I'll get that in there now.
I think I'll also add an import command. It'll probably be just as rudimentary as the export (just a file inside the TravelPortals folder); someone will probably find a use for it though.
Sorry for hitting you with that much information at once by the way. When someone asks a question that I end up reading as why, I tend to give a very verbose answer.
@cppchriscpp
Thank you for taking the time to write all this. I have managed to read the content,Thanks so much for you're support. The command works like a charm! another suggestion is to put it's output into the console, and document it inside help.
</book>
@IamHD
Hey,
So, I have to disagree with you about using a serialized file to store portals. Yes, your situation is unfortunate, but it is a rare one that should really only occur in the case that your server is forcibly shut down (read: power failure or similar) while portals are being saved. In addition, the plugin will warn you in the server console on the next startup, and you can recover your portals using the automatically saved backups in this case.
If that happens, the last few copies of the serialized portals file should be stored in your configuration folder. If yours happened long ago, the backups will probably all have the same problem though, so the point may be moot.The times I've seen this problem all portals stopped working immediately, and some console output came with it. It'd also create a new storage file, assuming the file was completely beyond repair.
As far as storage goes, I think a serialized file is just fine. Yes, it can fail catastrophically, but this is exceedingly rare. This is the 3rd or 4th case I've seen ever.. and this has been around since the hmod days. Thousands of people have set this up and used it without ever running across this. With the backups, recovery is completely possible as well. This is the first complete failure I've heard of since I implemented the backup system.
Giving sqlite as an option might be nice, but I don't really believe it is necessary. It really wouldn't offer any advantages beyond slightly better recovery in your exact situation. (And possibly better performance if you have extremely high numbers of portals) It would add a little extra bloat though, and at this point require a bit of rewriting. Even then, if you crashed while saving the data to the sqlite database file, recovery would be pretty ugly. I'd argue that it might be harder than just restoring an automatic backup like you do today.
As for why I made the decision originally, when I initially wrote this plugin for bukkit, it was not as far along as it is now. I don't believe SQLite support in Bukkit was nearly as far along as it is now. (Multiple libraries, etc.) It wasn't commonplace to have a database system at all back then. In addition, the plugin stores very little information about each portal, to the point that it makes the most sense to keep it all in memory. It just didn't make much sense to implement a full database layer for the small amount of data being managed at that time.
-All of that said, I'd be willing to take a look at your file and see what I can pull out. Just upload TravelPortals.ser somewhere and I'll see if I can make any sense of it. If you want to see what's stored, you can also try doing /portal export as an op; that will generate a list of all portals in plain text in a file named travelportals.txt. (Should be in the plugins/TravelPortals folder, but it's been a while since I've used this)
I suspect you're probably somewhat hosed... in all cases I've seen, we'll warn you in the console, then create a new file for portals if a new portal is created. You'd still have a few backups to work off of, but those would be overwritten as new portals were created.
I'm terribly sorry for your bad experience with the plugin; I wish you better luck in the future, should you continue to use it.
Chris
It glitched for me by the way, but it's good most of the time. I like it very much. But I'm am unable to provide any information because it happened long back without any consequences, so I didn't really pay attention.
Storing the object in serialized object is a very bad choice. I really suggest you update the project so it stores it in a sqlite database. Because once you're plugin glitches, it's very difficult to retrieve the content for non programmers .
@luridftw32
Wow, you beat me to the next steps. Yeah, I suspect it has something to do with your config. If you get stuck, please paste your config.yml file to pastebin or something like it and I'll take a look later today.