Skip to content

Releases: Phoenix616/Snap

Snap 1.2-pre 1 (build 35)

27 Mar 19:57
c2f3201
Compare
Choose a tag to compare

In the wake of the Waterfall deprecation I thought that this project needed some love.

Seeing as versioning is confusing this is the first pre-release build of Snap 1.2 for Velocity 3.3.0 with Bungee 1.20.x support!

Please open issues if you find them!

Make sure to read the readme to get general information about this project.

Download new builds here!

  • Use Java 17
  • Add support for Velocity 3.3.0
  • Add new 1.20 Bungee/Waterfall methods (although only 1.20.5 stuff was added which Velocity doesn't support yet)

See the commit history for detailed changes.

Also don't forget to support the development! 😉


Please note that this is currently in an experimental state, you should not run this in production without excessive testing!

Copyright and Warranty Disclaimer

Unless noted otherwise in the source it's licensed under LGPLv3 in order to be compatible with the shipped Waterfall/BungeeCord.

 Snap
 Copyright (c) 2020 Max Lee aka Phoenix616 ([email protected])

 This program is free software: you can redistribute it and/or
 modify it under the terms of the GNU Lesser General Public
 License as published by the Free Software Foundation, either
 version 3 of the License, or (at your option) any later version.

 This program is distributed in the hope that it will be useful,
 but WITHOUT ANY WARRANTY; without even the implied warranty of
 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 GNU Lesser General Public License for more details.

 You should have received a copy of the GNU Lesser General Public
 License along with this program.  If not, see <http://www.gnu.org/licenses/>.

Please note that BungeeCord is not Free Software and licensed under their own, BSD 3-Clause based license (which forbids usage of BungeeCord "for commercial software hosting services without written permission from the author") and that Waterfall uses an MIT License for its patches.

Therefore the pre-built binaries of Snap are distributed under Bungee's modified BSD 3-Clause license:

Copyright (c) 2020 Max Lee aka Phoenix616 ([email protected])
Copyright (c) 2012, md_5. All rights reserved.

Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:

Redistributions of source code must retain the above copyright notice, this
list of conditions and the following disclaimer.

Redistributions in binary form must reproduce the above copyright notice,
this list of conditions and the following disclaimer in the documentation
and/or other materials provided with the distribution.

The name of the author may not be used to endorse or promote products derived
from this software without specific prior written permission.

You may not use the software for commercial software hosting services without
written permission from the author.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
POSSIBILITY OF SUCH DAMAGE.

Snap 1.0-pre2 (build 16)

08 Jun 13:53
36e8237
Compare
Choose a tag to compare
Pre-release

This is the second pre-release build of Snap 1.0 for Velocity 1.1.7!
Yes, versioning is confusing. Velocity dropped the 2 rewrite.

Make sure to read the readme to get general information about this project.

Download new builds here!

  • Add support for changing UUID/online mode of player in PreLoginEvent
  • Improve kick events
  • Add support for stats-id

See the commit history for detailed changes.

Also don't forget to support the development! 😉


Please note that this is currently in an experimental state, you should not run this in production without excessive testing!

Copyright and Warranty Disclaimer

Unless noted otherwise in the source it's licensed under LGPLv3 in order to be compatible with the shipped Waterfall/BungeeCord.

 Snap
 Copyright (c) 2020 Max Lee aka Phoenix616 ([email protected])

 This program is free software: you can redistribute it and/or
 modify it under the terms of the GNU Lesser General Public
 License as published by the Free Software Foundation, either
 version 3 of the License, or (at your option) any later version.

 This program is distributed in the hope that it will be useful,
 but WITHOUT ANY WARRANTY; without even the implied warranty of
 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 GNU Lesser General Public License for more details.

 You should have received a copy of the GNU Lesser General Public
 License along with this program.  If not, see <http://www.gnu.org/licenses/>.

Please note that BungeeCord is licensed under their own, BSD 3-Clause based license and that Waterfall uses an MIT License for its patches.

Therefore the pre-built binaries of Snap are distributed under Bungee's modified BSD 3-Clause license:

Copyright (c) 2020 Max Lee aka Phoenix616 ([email protected])
Copyright (c) 2012, md_5. All rights reserved.

Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:

Redistributions of source code must retain the above copyright notice, this
list of conditions and the following disclaimer.

Redistributions in binary form must reproduce the above copyright notice,
this list of conditions and the following disclaimer in the documentation
and/or other materials provided with the distribution.

The name of the author may not be used to endorse or promote products derived
from this software without specific prior written permission.

You may not use the software for commercial software hosting services without
written permission from the author.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
POSSIBILITY OF SUCH DAMAGE.

Snap 1.1-pre2 (build 15) - Velocity 2 API

16 May 14:25
f5036eb
Compare
Choose a tag to compare

This is the second test-release build of Snap converted to the Velocity 2 API!

Make sure to read the readme to get general information about this project.

Download new builds here!

Also don't forget to support the development! 😉


Please note that this is currently in an experimental state, you should not run this in production without excessive testing!

Copyright and Warranty Disclaimer

Unless noted otherwise in the source it's licensed under LGPLv3 in order to be compatible with the shipped Waterfall/BungeeCord.

 Snap
 Copyright (c) 2020 Max Lee aka Phoenix616 ([email protected])

 This program is free software: you can redistribute it and/or
 modify it under the terms of the GNU Lesser General Public
 License as published by the Free Software Foundation, either
 version 3 of the License, or (at your option) any later version.

 This program is distributed in the hope that it will be useful,
 but WITHOUT ANY WARRANTY; without even the implied warranty of
 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 GNU Lesser General Public License for more details.

 You should have received a copy of the GNU Lesser General Public
 License along with this program.  If not, see <http://www.gnu.org/licenses/>.

Please note that BungeeCord is licensed under their own, BSD 3-Clause based license and that Waterfall uses an MIT License for its patches.

Therefore the pre-built binaries of Snap are distributed under Bungee's modified BSD 3-Clause license:

Copyright (c) 2020 Max Lee aka Phoenix616 ([email protected])
Copyright (c) 2012, md_5. All rights reserved.

Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:

Redistributions of source code must retain the above copyright notice, this
list of conditions and the following disclaimer.

Redistributions in binary form must reproduce the above copyright notice,
this list of conditions and the following disclaimer in the documentation
and/or other materials provided with the distribution.

The name of the author may not be used to endorse or promote products derived
from this software without specific prior written permission.

You may not use the software for commercial software hosting services without
written permission from the author.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
POSSIBILITY OF SUCH DAMAGE.

Snap 1.0-pre1 (build 4)

22 Jan 15:48
bef9ceb
Compare
Choose a tag to compare
Pre-release

This is the first test-release build of Snap! Make sure to read the readme to get general information about this project.

Download new builds here!

Also don't forget to support the development! 😉

What works?

Most of it (hopefully). I mean that's the goal... make sure to report any issues!

What doesn't work?

Some functionality isn't easily recreated (e.g. group handling is not a thing in Velocity, use a permissions plugin) and of course anything related to hacking into Bungee-internals or packets wont work. Just write a Velocity plugin at that point...

Those functions not supported will throw an UnsupportedOperationException. Please report those including the plugin causing them on the issue tracker!

If you are sure that the plugin will work fine otherwise then you can have it return default values by setting throw-unsupported-exception to false in the snap.conf!

Not supported:

  • Using Bungee's inbuilt permissions system to set and get groups/permissions. Don't. Use LuckPerms on Velocity. (hasPermission checks work though)
  • Reconnect server functionality. That's an inbuilt function in Bungee but better suited for a plugin. The related methods will return null or set nothing. Instead of erroring.
  • Scoreboards. Velocity doesn't have API for them and I'm not going to create a packet based one. Maybe there will be a way to integrate in some plugin or Velocity adds support in the future.
  • Some ProxyConfig settings don't exist on Velocity or aren't exposed in the API so they return some sensible defaults which should reflect the proxy's state.
  • Registering commands after a plugin was enabled. I currently have no good way to hook into this besides straight up modifying the PluginManager class which I would like to avoid.
  • Velocity plugins and Bungee plugins are not available to each other via the respective PluginManager APIs and as dependencies. Their classes should be accessible though.
  • Some connection handling and related events might not work 100% exactly like on Bungee. They are as close as possible though but if you already have to fiddle with that then its best to create a standalone Velocity plugin tbh.
  • Some events don't work 100% or not at all.
    Not working: TabCompleteEvent, ProxyDefineCommandEvent, ProxyExceptionEvent.
    Only partially: ServerDisconnectEvent (only triggers on kicks),
    ClientConnectEvent (uses Velocity's LoginEvent with PostOrder.FIRST)
    ConnectionInitEvent (uses Velocity's LoginEvent with PostOrder.EARLY)
  • Unsafe doesn't work.

Is it open source?

Yes, the base code of Snap is open source! Unless noted otherwise in the source it's licensed under LGPLv3 in order to be compatible with the shipped Waterfall/BungeeCord.

 Snap
 Copyright (c) 2020 Max Lee aka Phoenix616 ([email protected])

 This program is free software: you can redistribute it and/or
 modify it under the terms of the GNU Lesser General Public
 License as published by the Free Software Foundation, either
 version 3 of the License, or (at your option) any later version.

 This program is distributed in the hope that it will be useful,
 but WITHOUT ANY WARRANTY; without even the implied warranty of
 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 GNU Lesser General Public License for more details.

 You should have received a copy of the GNU Lesser General Public
 License along with this program.  If not, see <http://www.gnu.org/licenses/>.

Please note that BungeeCord is licensed under their own, BSD 3-Clause based license and that Waterfall uses an MIT License for its patches.

Therefore the pre-built binaries of Snap are distributed under Bungee's modified BSD 3-Clause license:

Copyright (c) 2020 Max Lee aka Phoenix616 ([email protected])
Copyright (c) 2012, md_5. All rights reserved.

Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:

Redistributions of source code must retain the above copyright notice, this
list of conditions and the following disclaimer.

Redistributions in binary form must reproduce the above copyright notice,
this list of conditions and the following disclaimer in the documentation
and/or other materials provided with the distribution.

The name of the author may not be used to endorse or promote products derived
from this software without specific prior written permission.

You may not use the software for commercial software hosting services without
written permission from the author.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
POSSIBILITY OF SUCH DAMAGE.