[SHARE] [SOURCE] [EXT] Vote AIO Global + Individual + Donate

VDS Vote Donate System
Implementation of vote global and individual system with itopz donate panel task manager on lucera.
As title says its an auto donation reward based on DenArt-Designs panel and or https://itopz.com free ones
A Vote System & Donate System made for a variety of projects including Lucera ideas and problems send on github!
A project with sources and planned for updates to match a bigger variety of projects and topsites and maybe more codes.

Full VDS project source: https://github.com/nightw0lv/iTopZ-Java/
Lucera VDS sources: https://github.com/nightw0lv/iTopZ-Java/tree/master/Interlude/lucera/
Compiled VDS Jars: VDSystem.ext.jar

Global vote system for iTopZ
  • IP restricted rewards
  • Reward every XX minutes
  • Reward step every XX votes
  • Reward item list will check if item exist
  • Reward item list with chances 0-100%
  • Reward item randomized of min-max values
  • Update console votes and ranking
  • Save votes in case of restarting the server
  • Monthly reset for votes
  • Print response failure message
  • Configured announcement print of server vote statistics
Individual vote system for iTopZ
  • Automatically register .itopz command
  • Reward item list will check if item exist
  • Reward item list with chances 0-100%
  • Reward item randomized of min-max values
  • Reward will set as "expired" after 12hours checking server time
  • Reward reuse 12hours
  • Command used after reward will show remaining time (PM/AM) to vote again
  • Check for local ips is restricted
  • Check for response errors
  • Check if player voted
Donate Management (upgrade version of https://github.com/nightw0lv/DonatePanel)
  • Player donates through Donate Panel
  • Item will be rewarded in game
Configs
  • Fully configured Console
  • Fully configured global reward
  • Fully configured individual reward
Console
  • Information buttons
  • Can send global reward in-game manually
  • Prints rewards
  • Prints donates
  • Prints monthly reset
  • Prints database updates
  • Shows server ranking statistics
  • Shows if you use DEMO or API key as mode status
  • Auto scrolling messages
  • Fully configured
Revisions
Version 1.3
  • Rework on VoteCMD
    • Fixed possible concurrent error on response thread (Ty Rationale)
    • Using StatsSet to transfer data in method isEligible (Ty Rationale)
    • Introducing a Flood Protector (Ty Rationale)
    • Using "NONE" for default errors to avoid NPE
    • Thread Execute will run on random between 1 and 10 seconds to avoid cheats
    • Added Window pop up after using a command .topsite or .vote
    • Added command .vote (old .topsite commands will still function) example of old commands .itopz .hopzone .l2network etc...
Version 1.2
  • Minimal Requirement on server resources and class consistency along projects.
    • Addition of Thread class.
    • Addition of Random class.
    • Addition of Logs class.
    • Addition of Url class.
    • Addition of Rewards class.
  • SQL independence on tables with vds_individual and vds_global tables automatic install by default
  • Addition of topsites and their configs.
    • Hopzone.
    • L2Network.
    • L2TopGameServer.
    • L2TopServers.
    • L2Votes.
    • L2JBrasil.
  • Gui
    • Addition of Debug on/off button.
    • Addition of Bug report button.
    • Removed Debug mode.
    • Rework on the class to update all topsite statistics.
    • Rework on console size and re-arrange information and console.
  • Fixed Bug that made global with individual rewards conflict.
  • Improved custom JSon parser for wannabe-called APIs on a lot of topsites.
  • Improved Debug with External IP Address.
Version 1.1
  • Refactor on URL to prepare extend
  • Added missing default values on config for console RGB colors
  • Fixed output paths on project dir
  • Updated dictionary and workspace project files
  • HWID Protection fallback to IP that fallback into player name in case of null
    • refactor ips to fingerprint
    • removed ip check
    • added objects null coalesce check on HWID, IP, player name on this order
  • Game console string separator
  • Updated script version
Version 1.0
  • Initial commit

Special thanks to Rationale

Images
1.png
2.png
3.png
4.png
5.png
6.png
7.png
 
Last edited:
Incredible, but few continue to use voting on pages, less on new pages. You could use that skill in code to shine creating other systems more interesting, you have a lot of talent and potential, congratulations!
 
Incredible, but few continue to use voting on pages, less on new pages. You could use that skill in code to shine creating other systems more interesting, you have a lot of talent and potential, congratulations!
thank you I am currently working on adding those sites too
  • L2TOPGAMESERVER
  • L2VOTES
  • HOPZONE
  • L2NETWORK
  • L2TOPSERVERS
  • TOPL2JBRASIL
  • MMOTOP
  • L2SERVERS
Hopzone and l2jbrasil is ready, soon will be the others, after that I might create new systems, its a bit slow to do so because I try to maintain all this projects including Lucera and some of them using Java 8 others Java 11 and 14.
 
Congratulations and much success, if you succeed you can efficiently, and at a good price, you can have all the servers with you. Remember to do many tests and try to violate it, there are always players who want to take advantage. Success and excellent work.
 
Congratulations and much success, if you succeed you can efficiently, and at a good price, you can have all the servers with you. Remember to do many tests and try to violate it, there are always players who want to take advantage. Success and excellent work.
At the moment there are 1 small bug on that is fixed (not yet committed) with the donation manager and I try to violate it as much as possible (there are 31 projects to maintain at the same time that are different) the rest is up to admins who use it if they report issues, thank you for your kind words, have a great day Sir.
 
- Version 1.2
  • Minimal Requirement on server resources and class consistency along projects.
    • Addition of Thread class.
    • Addition of Random class.
    • Addition of Logs class.
    • Addition of Url class.
    • Addition of Rewards class.
  • SQL independence on tables with vds_individual and vds_global tables automatic install by default
  • Addition of topsites and their configs.
    • Hopzone.
    • L2Network.
    • L2TopGameServer.
    • L2TopServers.
    • L2Votes.
    • L2JBrasil.
  • Gui
    • Addition of Debug on/off button.
    • Addition of Bug report button.
    • Removed Debug mode.
    • Rework on the class to update all topsite statistics.
    • Rework on console size and re-arrange information and console.
  • Fixed Bug that made global with individual rewards conflict.
  • Improved custom JSon parser for wannabe-called APIs on a lot of topsites.
  • Improved Debug with External IP Address.
 
Version 1.3
  • Rework on VoteCMD
    • Fixed possible concurrent error on response thread (Ty Rationale)
    • Using StatsSet to transfer data in method isEligible (Ty Rationale)
    • Introducing a Flood Protector (Ty Rationale)
    • Using "NONE" for default errors to avoid NPE
    • Thread Execute will run on random between 1 and 10 seconds to avoid cheats
    • Added Window pop up after using a command .topsite or .vote
    • Added command .vote (old .topsite commands will still function) example of old commands .itopz .hopzone .l2network etc...
https://github.com/nightw0lv/iTopZ-Java/commit/f5df7cb2c77596fb820a2d4616e3da1ca0cb02c9
 
- Version 1.4 started

- Version 1.3
- Rework on VoteCMD
- Fixed possible concurrent error on response thread (Ty Rationale)
- Using StatsSet to transfer data in method isEligible (Ty Rationale)
- Introducing a Flood Protector (Ty Rationale)
- Using "NONE" for default errors to avoid NPE
- Thread Execute will run on random between 1 and 10 seconds to avoid cheats
- IP Flood Protection
- Typo in Url
- Rework Flood Protector & Individual var save method
- Flood Protector (thanks Rationale)
- Added FloodProtectorHolder Private class
- Added Logic VoteSite enum
- Added FLOOD_PROTECTOR array list
- NOTE: HWID is not available for all packs since mostly depend on client protection, is up to server admin to add it.
- saveIndividualVar method
- Drops player object
- Recount on statement vars
- INDIVIDUAL INSERT, SELECT queries drop char_id
- Create individual table drops char_id and primary keys
- for existing users must drop the table (it will be automatically created again)
- Fixing path typo in readme files
- Update main readme with new projects
- Add L2JDP by Elesis (Request by CrazyRXD)
- Lucera remove redudant parenthesis
- Mobius Premium Sylph Extra wrong library import
- Fixing 2 errors on out of box settings
- Default configuration
- ArrayIndexOutOfBoundsException caused by ; in the end of reward strings
- Database tables
- Global table creation fixed caused by an extra , (coma)
- Thanks LLiuKe for the heads up (y)
- Fixing IOOBE error
- IOOBE error fix (thank you Huesitos)
- Removing totally the player variable from Utilities#selectIndividualVar() method
- missed on 133a00f
- SQL Fix
- Fixing individual Duplicate entry error (Thanks Francisco)
- Fixing IP restriction after 1 player votes
- Individual SQL select depends on ip now
- Adding commend parameters that were missing
- Capitalize ip to IP parameters
- Utilities#selectIndividualVar
- Adding IP string
 
Last edited:
I test it, and can give some suggestions:

- Just as a precaution, I disable this option: When you close your console (VDS Console VARS), the server (Lucera) goes down.
- Use console message similar to lucera: https://i.gyazo.com/7a1287af82551a7992cb0be3f4af45b5.png
- Move the texts to data/string/strings_en.properties to be able to edit them to our liking.
- Move the HTML to data\html-en, so we can edit it: https://i.gyazo.com/3e43deac5f9256eeac441bdd78dbbc88.png
- Add TopZone.
- Try L2jBrasil, it doesn't work for me now.
 
Last edited:
- Just as a precaution, I disable this option: When you close your console (VDS Console VARS), the server (Lucera) goes down.
there is 2 options vds with console and without

its a project with 62 packs consistency is an easy way to update them, still you can change it from the source.

- Move the texts to data/string/strings_en.properties to be able to edit them to our liking.
- Move the HTML to data\html-en, so we can edit it: https://i.gyazo.com/3e43deac5f9256eeac441bdd78dbbc88.png
might done in future for now you can change from the source.

- Add TopZone.
https://prnt.sc/26lvlis

- Try L2jBrasil, it doesn't work for me now.
tested it works. (most times they have errors and problems and it stops)

thanks for your suggestions

PS: Github patches are welcome
 
Thanks for answer, i send you a message about L2jBrasil.

- Add HWID protection.
I changed my ip address and can vote again and recive reward again (Individual .vote).
 
Last edited:
Thanks for answer, i send you a message about L2jBrasil.

- Add HWID protection.
I changed my ip address and can vote again and recive reward again (Individual .vote).
there is hwid installed for lucera, also what version you have, such issues must be posted in github
 
Back
Top